Amazon ECS リニアデプロイに必要なリソース
マネージドトラフィック移行が実施されるリニアデプロイを使用するには、サービスが次のいずれかの機能を使用する必要があります。
-
Application Load Balancer
-
Service Connect
注記
リニアデプロイは Network Load Balancer をサポートしていません。Network Load Balancer をサポートするには、代わりにブルー/グリーンデプロイを使用します。
次のリストは、Amazon ECS リニアデプロイに設定する必要がある内容について概要を示しています。
-
サービスは Application Load Balancer または Service Connect を使用します。適切なリソースを設定します。
-
Application Load Balancer – 詳細については、「ブルー/グリーンデプロイ、リニアデプロイおよびカナリアデプロイ用の Application Load Balancer リソース」を参照してください。
-
Service Connect – 詳細については、「Amazon ECS ブルー/グリーンデプロイ、リニアデプロイおよびカナリアデプロイ用の Service Connect リソース」を参照してください。
-
-
サービスのデプロイコントローラーを
ECSに設定します。 -
サービス定義でデプロイ戦略を
linearとして設定します。 -
必要に応じて、次のように追加のパラメータを設定します。
-
新しいデプロイのベイク時間
-
各増分で移行するトラフィックのパーセンテージ。
-
各トラフィック移行の増分間の待機時間を分単位で表します。
-
自動ロールバックの CloudWatch アラーム
-
デプロイライフサイクルフック (BEFORE_INSTALL、PRODUCTION_TRAFFIC_SHIFT、POST_PRODUCTION_TRAFFIC_SHIFT などの指定されたデプロイステージで実行される Lambda 関数)
-
ベストプラクティス
Amazon ECS リニアデプロイを正常に処理するには、次のベストプラクティスに従ってください。
-
アプリケーションが同時に実行されている両方のサービスリビジョンを処理できることを確認します。
-
デプロイ中に両方のサービスリビジョンを処理するため、十分なクラスターキャパシティの確保を計画します。
-
ロールバック手順は、本番環境での実装前にテストします。
-
アプリケーションの正常性を正確に反映する、適切なヘルスチェックを設定します。
-
新しいサービスリビジョンを十分にテストできるベイク時間を設定します。
-
CloudWatch アラームを実装し、問題を自動的に検出してロールバックをトリガーします。
-
デプロイ速度と検証ニーズのバランスを取るためのステップの割合とベイク時間を選択します。
-
リスクの露出を最小限に抑えるために、重要なアプリケーションには小さなステップの割合 (5~10%) を使用します。
-
ウォームアップや安定に時間がかかるアプリケーションには、長いステップベイク時間を設定します。
-
CloudWatch アラームを実装し、問題を自動的に検出して任意のトラフィック増分でロールバックをトリガーします。
-
各トラフィック移行中にアプリケーションメトリクスを注意深くモニタリングし、パフォーマンスの低下を早期に検出します。
-
アプリケーションが同時に実行されている両方のサービスリビジョンを処理できることを確認します。
-
ロールバック手順を本番環境に実装する前に異なるトラフィックの割合でテストします。