Aurora の Blue/Green デプロイで少し遊んでみた（Aurora MySQL v1 → v3 Blue/Green 失敗編）

これは **[MySQL Advent Calendar 2022](https://qiita.com/advent-calendar/2022/mysql)** 5 日目の記事です。

昨日は meijik さんでした。

- **[アプリからのクソクエリを変更できない闇に対する防衛術2022\[MySQL\]](http://blog.kimuradb.com/?eid=877671)（キムラデービーブログ）**

http://blog.kimuradb.com/?eid=877671

---

本物の MySQL の話でなくてごめんなさい。

先日開催された AWS の re:Invent 2022 直前に、RDS/Aurora の Blue/Green デプロイが発表されました。

- **[Announcing Amazon RDS Blue/Green Deployments for safer, simpler, and faster updates](https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-rds-blue-green-deployments-safer-simpler-faster-updates/)**

https://aws.amazon.com/jp/about-aws/whats-new/2022/11/amazon-rds-blue-green-deployments-safer-simpler-faster-updates/

私も少し試してみました。

- **[Aurora の Blue/Green デプロイで少し遊んでみた](https://qiita.com/hmatsu47/items/cb69c0a4f0042b7666e7)**
- **[Aurora の Blue/Green デプロイで少し遊んでみた（スイッチオーバー編）](https://qiita.com/hmatsu47/items/922c4f23a1e66f948947)**

タイトルですでに出落ち感がありますが、 **Aurora MySQL v1 → v2 → v3 のバージョンアップを一度のスイッチオーバーでできるか** 試してみて、見事に失敗したので記録として残しておきます。

## 10. Blue 環境再作成（Aurora MySQL v1）

[前回](https://qiita.com/hmatsu47/items/922c4f23a1e66f948947)、元の Blue 環境を潰してしまったので、スナップショットから復元します。

さすがに課金が厳しいので、今回は Reader インスタンス抜きで復元しました（スクリーンショットは省略）。

## 11. Green 環境再々作成 & Aurora MySQL v2 へバージョンアップ

そして[前回同様](https://qiita.com/hmatsu47/items/922c4f23a1e66f948947#5-green-%E7%92%B0%E5%A2%83%E3%82%92%E5%86%8D%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B) Green 環境を再作成しようとしたところ、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/775ebe91-b9ae-4bd4-e50a-34afaca00f42.png)

[最初の記事](https://qiita.com/hmatsu47/items/cb69c0a4f0042b7666e7#2-%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%81%A7%E3%83%96%E3%83%AB%E3%83%BC%E3%82%B0%E3%83%AA%E3%83%BC%E3%83%B3%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4%E3%82%92%E4%BD%9C%E6%88%90)には追記しましたが、直接 v2 の Green 環境を作成できるようになっていました（2022/12/01 あたりから？）。

binlog を`MIXED`形式で吐き出す設定に（パラメーターグループを）変えて作成すると、最初は v2 ではなく v1 での復元が始まりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/4e76b47c-6ec3-a69c-0534-50d6c31d1218.png)

ここで[前回同様](https://qiita.com/hmatsu47/items/922c4f23a1e66f948947#green-%E7%92%B0%E5%A2%83%E4%BD%9C%E6%88%90%E4%B8%AD%E3%81%AB-blue-%E7%92%B0%E5%A2%83%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B) Green 環境作成中に Blue 環境にデータを追加してみます（登録内容は前回と同じなので省略）。

v1 での復元が終わるとアップデートが始まりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/2c49c34a-c2c5-3765-d98e-c8182c48b28f.png)

こちらも[前回同様](https://qiita.com/hmatsu47/items/922c4f23a1e66f948947#green-%E7%92%B0%E5%A2%83%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E4%B8%AD%E3%81%AB-blue-%E7%92%B0%E5%A2%83%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B)ですが、Green 環境バージョンアップ中に Blue 環境にデータを追加してみます（登録内容は前回と同じなので省略）。

そして v2 へのバージョンアップが完了しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/cd27d9f7-2f4f-4f09-3463-0b872bdcf4b5.png)

（途中で追加したデータも Green 環境に反映されていることを確認済みです。内容は省略）

## 12. Auora MySQL v3 へのバージョンアップに挑戦

今回のメインイベントです（記事のタイトルで結果は出ていますが）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/a08a18b5-2cb5-2c24-4660-09f838172f16.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/9e6501a6-4574-eaf4-f2e3-d56ae29c82c7.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/99629839-9bca-857b-1197-2bbe5cf2d838.png)

ここで「クラスターの変更」をクリックします。

なんか行けた雰囲気…？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/a49280c7-4d57-7de5-1fc6-7c50355d2936.png)

でもイベントログをよく見ると、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/6e913039-1330-0c0e-639a-4826dc056755.png)

失敗していたのでした。

残念。

（イベントログを注視していないと失敗したことが観測できませんでした）

Blue/Green デプロイを使う場合は、面倒でも 2 段階に分けてバージョンアップするしかないですね。

（まあ普通はそうするでしょうね）

## 13. おまけ (1)

binlog を`ROW`形式にすると、なんと Green 環境が作成できません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/dfd66db5-53d8-2104-9481-917191e4eb1c.png)

binlog を吐く指定はしてるんですよ。`ROW`形式で。

`MIXED`以外は認めん！という意味なのでしょうが、警告メッセージを直して欲しいですね。

## 14. おまけ (2)

Blue/Green 環境を削除し終わっても、「削除中」を示す表示が延々と続いて（グルグル回り続けて）「削除完了」になりません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/123899/524ea7be-99a8-e668-5325-c7e3e2cba5b5.png)

このあたりはそのうち直るんでしょうかね…。

## 15. おまけ (3)

Blue/Green デプロイを使わず（というか、その登場前に） Aurora MySQL v1 → v3 のバージョンアップを行なった記録です。

- **[Java のレガシーなサービスで使ってきた Aurora MySQL v1 を v3 にバージョンアップした話](https://qiita.com/hmatsu47/items/ef48b8673f4775bef4a6)**

https://qiita.com/hmatsu47/items/ef48b8673f4775bef4a6

記事中に、より詳細な情報へのリンクがありますので、よかったらどうぞ。

---

明日は taka_yuki_04 さんです。

- **[Workbench 8.0.23でPerformance ReportsとPerformance Schema Setupが見えなくなった](https://next4us-ti.hatenablog.com/entry/2022/12/05/114501)**

https://next4us-ti.hatenablog.com/entry/2022/12/05/114501