これは MySQL Advent Calendar 2022 5 日目の記事です。
昨日は meijik さんでした。
- アプリからのクソクエリを変更できない闇に対する防衛術2022[MySQL](キムラデービーブログ)
本物の MySQL の話でなくてごめんなさい。
先日開催された AWS の re:Invent 2022 直前に、RDS/Aurora の Blue/Green デプロイが発表されました。
私も少し試してみました。
タイトルですでに出落ち感がありますが、 Aurora MySQL v1 → v2 → v3 のバージョンアップを一度のスイッチオーバーでできるか 試してみて、見事に失敗したので記録として残しておきます。
10. Blue 環境再作成(Aurora MySQL v1)
前回、元の Blue 環境を潰してしまったので、スナップショットから復元します。
さすがに課金が厳しいので、今回は Reader インスタンス抜きで復元しました(スクリーンショットは省略)。
11. Green 環境再々作成 & Aurora MySQL v2 へバージョンアップ
そして前回同様 Green 環境を再作成しようとしたところ、
最初の記事には追記しましたが、直接 v2 の Green 環境を作成できるようになっていました(2022/12/01 あたりから?)。
binlog をMIXED
形式で吐き出す設定に(パラメーターグループを)変えて作成すると、最初は v2 ではなく v1 での復元が始まりました。
ここで前回同様 Green 環境作成中に Blue 環境にデータを追加してみます(登録内容は前回と同じなので省略)。
v1 での復元が終わるとアップデートが始まりました。
こちらも前回同様ですが、Green 環境バージョンアップ中に Blue 環境にデータを追加してみます(登録内容は前回と同じなので省略)。
そして v2 へのバージョンアップが完了しました。
(途中で追加したデータも Green 環境に反映されていることを確認済みです。内容は省略)
12. Auora MySQL v3 へのバージョンアップに挑戦
今回のメインイベントです(記事のタイトルで結果は出ていますが)。
ここで「クラスターの変更」をクリックします。
なんか行けた雰囲気…?
でもイベントログをよく見ると、
失敗していたのでした。
残念。
(イベントログを注視していないと失敗したことが観測できませんでした)
Blue/Green デプロイを使う場合は、面倒でも 2 段階に分けてバージョンアップするしかないですね。
(まあ普通はそうするでしょうね)
13. おまけ (1)
binlog をROW
形式にすると、なんと Green 環境が作成できません。
binlog を吐く指定はしてるんですよ。ROW
形式で。
MIXED
以外は認めん!という意味なのでしょうが、警告メッセージを直して欲しいですね。
14. おまけ (2)
Blue/Green 環境を削除し終わっても、「削除中」を示す表示が延々と続いて(グルグル回り続けて)「削除完了」になりません。
このあたりはそのうち直るんでしょうかね…。
15. おまけ (3)
Blue/Green デプロイを使わず(というか、その登場前に) Aurora MySQL v1 → v3 のバージョンアップを行なった記録です。
記事中に、より詳細な情報へのリンクがありますので、よかったらどうぞ。
明日は taka_yuki_04 さんです。