RDSのBlue/Green デプロイメントを試してみた。
概要
RDSのBlue/Green デプロイメントは、本番環境をコピーするステージング環境を作成します。Green環境はステージング環境とBlue環境は本稼働環境です。Green環境に変更を加えることができます。準備ができたら、環境を切り替えて、Green環境を新しい実稼働環境にプロモートできます。Blue/Green デプロイメントは、RDS for MariaDB と RDS for MySQL のみをサポートします。
この記事では、以前のエンジン バージョン (8.0.31) で RDS for MySQL を作成し、Blue/Green デプロイを使用して現在のバージョン (8.0.32) でステージング環境を作成し、Green環境を新しい実稼働環境にプロモートしてみた。
やってみた
RDS for MySQL データベースの作成
- エンジン バージョンはMySQL 8.0.31を選択し、 テンプレートとしてプロダクションを選択しておきます。
- インスタンス識別子子として「database-1」を使用して、単一の DB インスタンスを作成しておきます。必要に応じてパラメータを設定できます。
Blue/Green デプロイメントの作成
- データベースを選択し、アクションから「Create Blue/Green Deployment」を選択しておきます。
- Blue/Green デプロイメントの名前を入力し、最新のエンジン バージョン(8.0.32)を選択し、Blue/Green デプロイメントを作成しておきます。
- コンソールで Blue/Green デプロイメントが作成されていることをみることができます。
- データベースを選択して、Blue/Green デプロイメントの詳細を表示します。各タブには、Blueデプロイ用のセクションとGreenデプロイ用のセクションがあります。グリーン環境の RDS DB インスタンスに必要なすべての変更を加えることができます。
Blue/Green デプロイメントの切り替え
- Green 環境に必要なすべての変更を行った後、Blue/Green デプロイメントのデータベースを選択し、アクションから「Switch over」を選択しておきます。
- 切り替えタイムアウト時間(30 秒から3,600 秒まで)を指定し、[Switch over]をクリックしておきます。切り替えに指定した期間よりも長い時間がかかる場合、変更はロールバックされます。
- スイッチオーバー後、Green環境が新しい本番データベースであることがわかります。
まとめ
RDS Blue/Green デプロイメントを使用すると、予測可能な短いダウンタイムで新しいデータベース機能を採用できます。ステージング環境を簡単に作成し、本番環境からステージング環境にデータベースの変更を自動的にレプリケートできます。Blue/Green デプロイメントはデータベース更新のリスクとダウンタイムが軽減されます。
Reference: RDS Blue/Green Deployments