Elastic Beanstalk を使用したブルー/グリーンデプロイ - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Elastic Beanstalk を使用したブルー/グリーンデプロイ

アプリケーションのバージョンを更新するときに AWS Elastic Beanstalk がインプレース更新を実行するため、アプリケーションはわずかな期間、ユーザーに利用不可になることがあります。これを避けるためには、Blue-Green Deployment を実行します。これを行うためには、個別の環境に新しいバージョンをデプロイしてから、2 つの環境の CNAME を入れ替えて、直ちに新しいバージョンにトラフィックをリダイレクトします。

環境を互換性のないプラットフォームバージョンに更新する場合は、Blue-Green Deployment も必要です。詳細については、「Elastic Beanstalk 環境のプラットフォームバージョンの更新」を参照してください。

Blue-Green Deployment では、アプリケーションがプロダクションデータベースを使用する場合、お客様の環境がそのデータベースから独立して実行される必要があります。Elastic Beanstalk がユーザーに代わって作成したデータベースが環境に含まれている場合、特定のアクションを実行しない限り、環境のデータベースと接続は保持されません。保持するデータベースがある場合は、Elastic Beanstalk データベースのライフサイクルオプションのいずれかを使用します。Retain オプションを選択すると、データベースをデカップリングした後でデータベースと環境を引き続き動作させることができます。詳細については、このガイドの環境の設定の章の「データベースのライフサイクル」を参照してください。

Elastic Beanstalk で管理されていない Amazon RDS インスタンスに接続するようにアプリケーションを設定する方法については、「Amazon での Elastic Beanstalk の使用 RDS」を参照してください。

Blue-Green Deployment を実行するには
  1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

  2. 現在の環境のクローンを作成するか、新しい環境を起動して希望のプラットフォームのバージョンを実行します。

  3. 新しい環境に、新しいアプリケーションバージョンをデプロイします。

  4. 新しい環境で新しいバージョンをテストします。

  5. 環境の概要ページで、[Actions] (アクション) を選択し、[Swap environment URLs] (環境 URL のスワップ) を選択します。

  6. [環境名] で、現在の環境を選択します。

    環境 URL のスワップページ
  7. [Swap] を選択します。

Elastic Beanstalk は古い環境と新しい環境の CNAME レコードを交換して、古いバージョンから新しいバージョンにトラフィックをリダイレクトします。

Elastic Beanstalk がスワップ操作を完了した後、古い環境の URL に接続するときに新しい環境が応答することを検証します。DNS の変更が一括適用され、古い DNS レコードの有効期限が切れるまで、古い環境を終了しないでください。DNS サーバーは、必ずしも DNS レコードで設定した有効期限 (TTL) に基づいてキャッシュから古いレコードを消去するわけではありません。