ブルー/グリーンデプロイの作成 - Amazon Relational Database Service

ブルー/グリーンデプロイの作成

ブルー/グリーンデプロイを作成するときには、デプロイにコピーする DB インスタンスを指定します。選択する DB インスタンスは本稼働 DB インスタンスであり、ブルー環境のプライマリ DB インスタンスになります。この DB インスタンスはグリーン環境にコピーされ、RDS はブルー環境の DB インスタンスからグリーン環境の DB インスタンスへのレプリケーションを設定します。

RDS は、ブルー環境のトポロジを、設定済みの機能とともにステージングエリアにコピーします。ブルー DB インスタンスにリードレプリカがある場合、リードレプリカはデプロイ内のグリーン DB インスタンスのリードレプリカとしてコピーされます。ブルー DB インスタンスがマルチ AZ DB インスタンスデプロイの場合、グリーン DB インスタンスは、マルチ AZ DB インスタンスデプロイとして作成されます。

グリーン環境に変更を加える

ブルー/グリーンデプロイを作成するときに、グリーン環境の DB インスタンスに次の変更を加えることができます。

  • DB エンジンのアップグレードをテストする場合は、上位のエンジンバージョンを指定できます。

  • ブルー環境の DB インスタンスで使用されているものとは異なる DB パラメータグループを指定できます。パラメータの変更がグリーン環境の DB インスタンスにどのように影響するかをテストしたり、アップグレードの場合に新しいメジャー DB エンジンバージョンのパラメータグループを指定したりできます。

    別の DB パラメータグループを指定した場合、指定した DB パラメータグループはグリーン環境内のすべての DB インスタンスに関連付けられます。別のパラメータグループを指定しなかった場合、グリーン環境の各 DB インスタンスは、対応するブルー DB インスタンスのパラメータグループに関連付けられます。

デプロイ後に、グリーン環境の DB インスタンスに他の変更を加えることができます。例えば、データベースにスキーマの変更を加えたり、グリーン環境の 1 つ以上の DB インスタンスが使用する DB インスタンスクラスを変更したりすることができます。

DB インスタンスの変更については、Amazon RDS DB インスタンスを変更するを参照してください。

ブルー/グリーンデプロイを作成する際の遅延読み込みの処理

ブルー/グリーンデプロイを作成すると、Amazon RDS は DB スナップショットから復元することにより、グリーン環境にプライマリ DB インスタンスを作成します。作成後、グリーン DB インスタンスは引き続きバックグラウンドでデータをロードします。これは遅延読み込みと呼ばれます。DB インスタンスにリードレプリカがある場合、これらも DB スナップショットから作成され、遅延読み込みの対象となります。

まだロードされていないデータにアクセスする場合、DB インスタンスはリクエストされたデータを Amazon S3 から即座にダウンロードし、残りのデータをバックグラウンドでロードし続けます。詳細については、「Amazon EBS スナップショット」を参照してください。

クイックアクセスが必要なテーブルに対する遅延ロードの影響を軽減するには、SELECT * など、テーブル全体をスキャンするようなオペレーションを実行します。これにより、Amazon RDS はバックアップされたテーブルデータをすべて S3 からダウンロードできます。

アプリケーションがロードされていないデータにアクセスしようとすると、データがロードされている間、アプリケーションのレイテンシーが通常よりも長くなる可能性があります。遅延読み込みによってレイテンシーが高くなると、レイテンシーの影響を受けやすいワークロードのパフォーマンスの低下につながる可能性があります。

重要

データのロードが完了する前にブルー/グリーンデプロイを切り替えると、レイテンシーが高いためにアプリケーションのパフォーマンス問題が発生する可能性があります。

ブルー/グリーンデプロイの作成

ブルー/グリーンデプロイは、AWS Management Console、AWS CLI、または RDS API を使用して作成できます。

ブルー/グリーンデプロイを作成するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[Databases] (データベース) を選択し、グリーン環境にコピーする DB インスタンスを選択します。

  3. [Actions] (アクション) で [Create Blue/Green Deployment] (ブルー/グリーンデプロイの作成) を選択します。

    [Create Blue/Green Deployment] (ブルー/グリーンデプロイの作成) ページが表示されます。

    
                  ブルー/グリーンデプロイを作成する
  4. [Create Blue/Green Deployment] (ブルー/グリーンデプロイの作成) ページで、ブルーデータベース識別子を確認します。ブルー環境で予期される DB インスタンスに一致することを確認します。一致しない場合は、[Cancel] (キャンセル) を選択します。

  5. ブルー/グリーンデプロイ識別子として、ブルー/グリーンデプロイの名前を入力します。

  6. (オプション) [Blue/Green Deployment settings] (ブルー/グリーンデプロイ設定) では、グリーン環境の設定を指定します。

    • DB エンジンバージョンのアップグレードをテストするには、DB エンジンのバージョンを選択します。

    • グリーン環境内の DB インスタンスに関連付ける DB パラメータグループを選択します。

    グリーン環境のデータベースには、デプロイ後に他の変更を加えることができます。

  7. [Create Blue/Green Deployment] (ブルー/グリーンデプロイの作成) を選択します。

AWS CLI を使用してブルー/グリーンデプロイを作成するには、create-blue-green-deployment コマンドを次のオプションを指定して使用します。

  • --blue-green-deployment-name — ブルー/グリーンデプロイの名前を指定します。

  • --source — コピーする DB インスタンスの ARN を指定します。

  • --target-engine-version — グリーン環境で DB エンジンのバージョンアップグレードをテストする場合は、エンジンバージョンを指定します。このオプションは、グリーン環境の DB インスタンスを指定された DB エンジンバージョンにアップグレードします。

    指定しなかった場合、グリーン環境の各 DB インスタンスは、ブルー環境の対応する DB インスタンスと同じエンジンバージョンで作成されます。

  • --target-db-parameter-group-name – グリーン環境内の DB インスタンスに関連付ける DB パラメータグループを指定します。

例 ブルー/グリーンデプロイを作成する

Linux、macOS、Unix の場合:

aws rds create-blue-green-deployment \ --blue-green-deployment-name my-blue-green-deployment \ --source arn:aws:rds:us-east-2:123456789012:db:mydb1 \ --target-engine-version 8.0.31 \ --target-db-parameter-group-name mydbparametergroup

Windows の場合:

aws rds create-blue-green-deployment ^ --blue-green-deployment-name my-blue-green-deployment ^ --source arn:aws:rds:us-east-2:123456789012:db:mydb1 ^ --target-engine-version 8.0.31 ^ --target-db-parameter-group-name mydbparametergroup

Amazon RDS API を使用してブルー/グリーンデプロイを作成するには、以下のパラメータを指定して CreateBlueGreenDeployment オペレーションを使用します。

  • BlueGreenDeploymentName — ブルー/グリーンデプロイの名前を指定します。

  • Source — グリーン環境にコピーする DB インスタンスの ARN を指定します。

  • TargetEngineVersion — グリーン環境で DB エンジンのバージョンアップグレードをテストする場合は、エンジンバージョンを指定します。このオプションは、グリーン環境の DB インスタンスを指定された DB エンジンバージョンにアップグレードします。

    指定しなかった場合、グリーン環境の各 DB インスタンスは、ブルー環境の対応する DB インスタンスと同じエンジンバージョンで作成されます。

  • TargetDBParameterGroupName – グリーン環境内の DB インスタンスに関連付ける DB パラメータグループを指定します。