LoginSignup
32
10

More than 1 year has passed since last update.

えぇ? Aurora&RDSがBlue/Greenデプロイをフルマネージドで提供してくれるように!?

Last updated at Posted at 2022-11-28

まだre:Invent 2022開催直前ですが、フライング気味にいくつものAWSアップデートが早くも発信され始めています。
今回はその中でも 「Aurora&RDSにおけるフルマネージドなBlue/Greenデプロイ」 を日本語で先行紹介してみます。

アナウンス概要

背景

  • データベースを更新する際、リスクとダウンタイムを極小化するためにBlue/Greenデプロイが有効な戦略となる。ただしBlue/Green双方のDBを常時同期しておかないと、安全なB/Gデプロイが出来ない
  • AuroraやRDSではこれまでもクローン機能やリードレプリカ昇格機能を組み合わせてセルフサービスでB/Gデプロイを実現することができたが、手順が複雑でコストも掛かるため対応が後回しにされがちだった

新機能概要

  • Aurora(MySQL互換)、RDS(MySQL/MariaDB)が対象
  • 少ない手順で本番DBのコピーをステージングとして分離作成&同期してくれる
  • 1分以内にステージング→本番へのDB昇格が可能。データ損失なし

想定ユースケース

  • DBのメジャー&マイナーVerアップ
  • DBスキーマの修正
  • その他、OSや保守系のアプデ対応

制約

  • 対象DBエンジンであればバージョン制約は無し
  • 中国以外の全リージョンに対応

ドキュメントはこちらです。

実際に触ってみ(ようとし)た

すでに(中国以外の)全リージョンでGAされています。AWSブログを見ながら実際に触ってみましょう。
まずは実験用のAuroraクラスターを作成。
コメント 2022-11-28 162122.jpg

B/Gデプロイを有効にするには、DBクラスターでバイナリーロギングを有効にしておく必要があるようなので、RDSコンソールのパラメーターグループで binlog_format の値を MIXED にしたグループを作成しておき、実験対象のAuroraクラスターに適用しておきます。
コメント 2022-11-28 163016.jpg

クラスターを選択して「アクション > ブルー/グリーンデプロイの作成」を実行。
 ※GAされてますが、"ベータ"と付いてます。笑
コメント 2022-11-28 162213.jpg

すると…残念ながら謎のエラーになってしまいました。
サポートに問い合わせたいと思いますが、原因不明なので以降は公式ブログのスクリーンショットを追いかけていくことにします。。
コメント 2022-11-28 163338.jpg

B/G設定画面に進んだあとは、今回のデプロイ自体の識別子を命名し、Green側(アップデート後)のエンジンバージョンやパラメーターグループを指定します。
画像

B/Gデプロイが作成できたら、「アクション」から「スイッチオーバー」を実行すれば本番クラスターがBlue(現行バージョン)からGreen(新バージョン)に切り替わってくれるようです。
コンソール上でBlue/Greenのラベルが付いていて、分かりやすいですね!
画像

切り替え前にはスイッチオーバーの確認画面を表示してくれます。
画像

切り替え後も旧クラスター(Blue面)は削除されず、残り続けます。
画像

まとめ

AuroraやRDSで定期的に必要になるDBエンジンのアップデート対応、インプレースで実施すると事故った際に怖いので、B/Gデプロイをお手軽に実施できるのは大変ありがたいですね!
特にDBレイヤーはB/Gするのに同期やデータロストのケアが必要になるので、マネージドでやってくれるのは嬉しい限りです。

※AWS Well-Architected Frameworkでも「インフラはイミュータブルにデプロイしようね!」と推奨されていますね。

早く東京リージョンでも「ちゃんとしたGA」を待ちたいのと、Aurora Postgres互換やRDS for Oracleでも利用可能になってくれるのを楽しみにしたいと思います。

ちなみに「ブルー/グリーンって何だっけ?」という方は、手前味噌ですがこちらの記事もご覧ください。

32
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
10