ローリング更新から Amazon ECS ブルー/グリーンへのデプロイ戦略の更新 - Amazon Elastic Container Service

ローリング更新から Amazon ECS ブルー/グリーンへのデプロイ戦略の更新

本番環境で実装する前にサービスを変更してテストする際、ローリング更新デプロイから Amazon ECS ブルー/グリーンデプロイに移行できます。

前提条件

サービスをローリングデプロイからブルー/グリーンデプロイに移行する前に、次の内容があることを確認してください。

手順

  1. https://console.aws.amazon.com/ecs/v2 で Amazon ECS コンソールを開きます。

  2. ナビゲーションペインで [Clusters] (クラスター) を選択してください。

  3. [クラスター] ページで、移行するサービスを含むクラスターを選択します。

    クラスター詳細のページが表示されます。

  4. [クラスターの詳細] ページで、[サービス] タブを選択します。

  5. サービスを選択したら、[更新] を選択します。

    更新のサービスページが表示されます

  6. [デプロイオプション] を展開し、次の操作を行います。

  7. [デプロイ戦略] では、[ブルー/グリーン] を選択します。

  8. ブルー/グリーンデプロイ設定を構成します。

    1. ベイク時間には、ブルーリビジョンが終了する前に、ブルーおよびグリーンのサービスリビジョンの両方が同時に実行される分数を入力します。

      これにより、検証およびテストの時間を確保できます。

    2. (オプション) デプロイの特定段階で実行されるように、Lambda 関数を設定します。[デプロイライフサイクルフック] で、次のステージのために Lambda 関数を設定します。

      • スケールアップ前: グリーンサービスリビジョンをスケールアップする前に実行されます

      • スケールアップ後: グリーンサービスリビジョンをスケールアップした後に実行されます

      • テストトラフィックの移行: グリーンサービスリビジョンへのテストトラフィックのルーティング中に実行されます

      • テストトラフィック後の移行: テストトラフィックがグリーンサービスリビジョンにルーティングされた後に実行されます

      • 本番トラフィックの移行: グリーンサービスリビジョンへの本番トラフィックルーティング中に実行されます

      • 本番トラフィック後の移行: 本番トラフィックがグリーンサービスリビジョンにルーティングされた後に実行されます

      ライフサイクルフックを追加する方法

      1. [Add] (追加) を選択します。

      2. [Lambda 関数] には、ARN の関数名を入力します。

      3. [ロール] には、Lambda 関数を呼び出すアクセス許可を持つ IAM ロールを選択します。

      4. [ライフサイクルステージ] では、Lambda 関数を実行するステージを選択します。

      5. オプション: [フックの詳細] には、キーおよび値のペアを入力してフックに追加情報を提示します。

  9. ロードバランサーを設定します。

    1. [ロードバランシング] で、サービスがロードバランサーを使用するように設定されていることを確認します。

    2. [ターゲットグループ] では、本番 (青) 環境のプライマリターゲットグループを選択します。

    3. [代替ターゲットグループ] では、テスト (緑) 環境のターゲットグループを選択します。

    4. 本番のリスナールールでは、本番トラフィックをルーティングするリスナールールを選択します。

    5. オプション: [テストのリスナールール]では、テストトラフィックをグリーン環境にルーティングするリスナールールを選択します。

    6. [ロール] では、Amazon ECS にロードバランサーの管理を可能にする IAM ロールを選択します。

  10. 変更内容を確認し、[更新] を選択します。

次のステップ

  • サービスを更新してデプロイを開始します。詳細については、「Amazon ECS サービスを更新する」を参照してください。

  • デプロイプロセスをモニタリングし、ブルー/グリーンのパターンに従っていることを確認します。

    • グリーンサービスリビジョンが作成され、スケールアップされる

    • テストトラフィックがグリーンリビジョンにルーティングされている (設定されている場合)

    • 本番トラフィックがグリーンリビジョンに移行されている

    • ベイク時間が過ぎたら、ブルーリビジョンが終了する