RDSのBlue/Green デプロイメントを試してみた。

2023.04.29

概要

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