Amazon ECS Express Mode サービスの更新
Express Mode サービスは、ネットワーク、ロードバランシング、Application Auto Scaling の設定可能なオプションを提供し、これらのサービス全体の変更をオーケストレーションすることで、サービスの更新プロセスを簡素化します。
Express Mode サービスを更新して、コンテナイメージの変更、リソース割り当ての調整、または設定の変更を行うことができます。更新はカナリアデプロイを使用してデプロイされ、可用性を維持するためにアラームベースのロールバックアラームが使用されます。
デプロイの動作
Express Mode サービスは、デフォルトでカナリアデプロイを使用して、安全な更新と迅速なロールバックを実現します。
-
新しい環境が作成され、変更とともにタスクがデプロイされます
-
トラフィックの 5% が新しい環境に移行します
-
4xx と 5xx エラーの割合の合計が 3 分以内に 2 つのデータポイントで 1 より大きい場合、アラームベースのロールバックがトリガーされます
-
ヘルスチェックは新しいタスクが正常であることを確認します
-
ベイク時間が 3 分経過すると、トラフィックの 100% が新しい環境に移行されます
-
モニタリング用のベイク時間が 3 分経過すると、古いタスクは徐々に停止して置き換えられます
詳細については、「Amazon ECS カナリアデプロイ」を参照してください。
手順
コンソール (https://console.aws.amazon.com/ecs/v2
) を開きます。 -
ナビゲーションペインで [Clusters] (クラスター) を選択してください。
-
[クラスター] ページで、Express Mode サービスを含むクラスターの名前を選択します。
-
[クラスターの詳細] ページで、[サービス] タブを選択します。
-
Express Mode サービスを表示するようにフィルターを設定します。[リソース管理タイプを絞り込む] で、ECS を選択します。
Express Mode サービスには、名前の横に Express バッジがあります。
-
[構成] の下:
-
アプリケーションに使用するイメージを指定します。[イメージ URI] でイメージの URI を入力します。Amazon ECR イメージを参照するには、[ECR イメージを参照] を選択し、次の操作を行います。
-
[プライベートリポジトリ] で、Amazon ECR プライベートリポジトリを選択します。
[イメージ] で、イメージを選択します。
イメージを識別する方法を選択します。[イメージの選択方法] で、以下のオプションのいずれかを選択します。
-
AWS は [イメージダイジェスト] を選択することをお勧めしています。
-
タグを使用するには、[イメージタグ] を選択してからタグを選択します。
-
-
-
プライベートレジストリを使用するには、[プライベートレジストリ] を選択します。次に、[Secrets Manager ARN または名前] に前提条件で作成した Secrets Manager ARN を入力します。
-
[タスク実行ロール] で、ロールを選択するか、新しいロールを作成して更新します。アクセス許可を追加する必要がある場合は、タスク実行ロールを更新できます。
-
-
[追加設定] で、サービスをカスタマイズします。
-
[コンテナ] で以下を実行します。
-
[コンテナポート] で、アプリケーションがリッスンするポートを更新します (デフォルトは 80)。
-
[ヘルスチェックパス] で、ヘルスチェックのパス (
/healthなど) を更新します。
-
-
[環境変数] で、アプリケーションに必要な環境変数のキーと値のペアを追加します。
-
[キー] に、環境変数の名前を入力します。
-
[値タイプ] で、[環境変数] または [シークレット] を選択します。
-
[値または値の取得] には、値またはリファレンスを入力します。
-
[環境変数の追加] を選択して、必要に応じて変数を追加します。
-
-
[コマンド] に、オプションでカスタムコマンドを入力して Docker CMD 命令を上書きします。
-
[タスクロール] で、コンテナで実行されているアプリケーションにアクセス許可を付与する IAM ロールを追加します。これにより、アプリケーションは AWS サービスに対して API コールを実行できます。
-
[コンピューティング] で以下を実行します。
-
[CPU] で、タスクの vCPU 割り当てを更新します (1 vCPU など)。
-
[メモリ] で、タスクのメモリ割り当てを更新します (2 GB など)。
-
-
[自動スケーリング] で以下を実行します。
-
[ECS サービスメトリクス] で、スケールするためのメトリクス (ECS サービスの平均メモリ使用率やターゲットあたりのリクエスト数など) を選択します。
-
[ターゲット値] で、スケーリングのターゲット (60 や 1000 など) を入力します。
-
[最小タスク数] と [最大タスク数] で、スケーリング制限を更新します。
-
-
[ログ] で以下を実行します。
-
[Amazon CloudWatch ロググループ] で、アプリケーションログのロググループ名を更新します。これにより、既存のログは移動されませんが、新しいサービスリビジョンからのログの書き込みが開始されます。
-
[Amazon CloudWatch ログストリームプレフィックス] に、ログストリームの新しいプレフィックスを入力します。
-
-
-
[更新] を選択して、Express Mode サービスを更新します。