Amazon ECS Express Mode サービスの更新 - Amazon Elastic Container Service

Amazon ECS Express Mode サービスの更新

Express Mode サービスは、ネットワーク、ロードバランシング、Application Auto Scaling の設定可能なオプションを提供し、これらのサービス全体の変更をオーケストレーションすることで、サービスの更新プロセスを簡素化します。

Express Mode サービスを更新して、コンテナイメージの変更、リソース割り当ての調整、または設定の変更を行うことができます。更新はカナリアデプロイを使用してデプロイされ、可用性を維持するためにアラームベースのロールバックアラームが使用されます。

デプロイの動作

Express Mode サービスは、デフォルトでカナリアデプロイを使用して、安全な更新と迅速なロールバックを実現します。

  • 新しい環境が作成され、変更とともにタスクがデプロイされます

  • トラフィックの 5% が新しい環境に移行します

  • 4xx と 5xx エラーの割合の合計が 3 分以内に 2 つのデータポイントで 1 より大きい場合、アラームベースのロールバックがトリガーされます

  • ヘルスチェックは新しいタスクが正常であることを確認します

  • ベイク時間が 3 分経過すると、トラフィックの 100% が新しい環境に移行されます

  • モニタリング用のベイク時間が 3 分経過すると、古いタスクは徐々に停止して置き換えられます

詳細については、「Amazon ECS カナリアデプロイ」を参照してください。

手順

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

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

  3. [クラスター] ページで、Express Mode サービスを含むクラスターの名前を選択します。

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

  5. Express Mode サービスを表示するようにフィルターを設定します。[リソース管理タイプを絞り込む] で、ECS を選択します。

    Express Mode サービスには、名前の横に Express バッジがあります。

  6. [構成] の下:

    1. アプリケーションに使用するイメージを指定します。[イメージ URI] でイメージの URI を入力します。Amazon ECR イメージを参照するには、[ECR イメージを参照] を選択し、次の操作を行います。

      1. [プライベートリポジトリ] で、Amazon ECR プライベートリポジトリを選択します。

      2. [イメージ] で、イメージを選択します。

      3. イメージを識別する方法を選択します。[イメージの選択方法] で、以下のオプションのいずれかを選択します。

        • AWS は [イメージダイジェスト] を選択することをお勧めしています。

        • タグを使用するには、[イメージタグ] を選択してからタグを選択します。

    2. プライベートレジストリを使用するには、[プライベートレジストリ] を選択します。次に、[Secrets Manager ARN または名前] に前提条件で作成した Secrets Manager ARN を入力します。

    3. [タスク実行ロール] で、ロールを選択するか、新しいロールを作成して更新します。アクセス許可を追加する必要がある場合は、タスク実行ロールを更新できます。

  7. [追加設定] で、サービスをカスタマイズします。

    1. [コンテナ] で以下を実行します。

      1. [コンテナポート] で、アプリケーションがリッスンするポートを更新します (デフォルトは 80)。

      2. [ヘルスチェックパス] で、ヘルスチェックのパス (/health など) を更新します。

    2. [環境変数] で、アプリケーションに必要な環境変数のキーと値のペアを追加します。

      1. [キー] に、環境変数の名前を入力します。

      2. [値タイプ] で、[環境変数] または [シークレット] を選択します。

      3. [値または値の取得] には、値またはリファレンスを入力します。

      4. [環境変数の追加] を選択して、必要に応じて変数を追加します。

    3. [コマンド] に、オプションでカスタムコマンドを入力して Docker CMD 命令を上書きします。

    4. [タスクロール] で、コンテナで実行されているアプリケーションにアクセス許可を付与する IAM ロールを追加します。これにより、アプリケーションは AWS サービスに対して API コールを実行できます。

    5. [コンピューティング] で以下を実行します。

      1. [CPU] で、タスクの vCPU 割り当てを更新します (1 vCPU など)。

      2. [メモリ] で、タスクのメモリ割り当てを更新します (2 GB など)。

    6. [自動スケーリング] で以下を実行します。

      1. [ECS サービスメトリクス] で、スケールするためのメトリクス (ECS サービスの平均メモリ使用率ターゲットあたりのリクエスト数など) を選択します。

      2. [ターゲット値] で、スケーリングのターゲット (601000 など) を入力します。

      3. [最小タスク数][最大タスク数] で、スケーリング制限を更新します。

    7. [ログ] で以下を実行します。

      1. [Amazon CloudWatch ロググループ] で、アプリケーションログのロググループ名を更新します。これにより、既存のログは移動されませんが、新しいサービスリビジョンからのログの書き込みが開始されます。

      2. [Amazon CloudWatch ログストリームプレフィックス] に、ログストリームの新しいプレフィックスを入力します。

  8. [更新] を選択して、Express Mode サービスを更新します。