Amazon ECS ブルー/グリーンデプロイに必要なリソース
マネージドトラフィック移行を持ったブルー/グリーンデプロイを使用するには、サービスは次のいずれかの機能を使用する必要があります。
-
エラスティックロードバランシング
-
Service Connect
Service Discovery、Service Connect、VPC Lattice、Elastic Load Balancing を使用しないサービスでもブルー/グリーンデプロイを使用できますが、マネージドトラフィック移行のメリットがありません。
次のリストは、Amazon ECS ブルー/グリーンデプロイに設定する必要があるものに対する大まかな概要を示しています。
-
サービスは Application Load Balancer、Network Load Balancer、Service Connect を使用します。適切なリソースを設定します。
-
Application Load Balancer – 詳細については、「ブルー/グリーンデプロイ用の Application Load Balancer リソース」を参照してください。
-
Network Load Balancer – 詳細については、「Amazon ECS ブルー/グリーンデプロイの Network Load Balancer リソース」を参照してください。
-
Service Connect – 詳細については、「Amazon ECS ブルー/グリーンデプロイ用 Service Connect リソース」を参照してください。
-
-
サービスのデプロイコントローラーを
ECS
に設定します。 -
サービス定義でデプロイ戦略を
blue/green
として設定します。 -
必要に応じて、次のように追加のパラメータを設定します。
-
新しいデプロイのベイク時間
-
自動ロールバックの CloudWatch アラーム
-
テスト用のデプロイライフサイクルフック (指定されたデプロイステージで実行される Lambda 関数)
-
ベストプラクティス
Amazon ECS ブルー/グリーンデプロイを正常に処理するには、次のベストプラクティスに従ってください。
-
アプリケーションの正常性を正確に反映する、適切なヘルスチェックを設定します。
-
グリーンデプロイの十分なテストを可能にするベイク時間を設定します。
-
CloudWatch アラームを実装し、問題を自動的に検出してロールバックをトリガーします。
-
ライフサイクルフックを使用し、各デプロイステージで自動テストを実行します。
-
アプリケーションが同時に実行されているブルー環境およびグリーン環境の両方を処理できることを確認します。
-
デプロイ中に両方の環境を処理するため、十分なクラスターキャパシティの確保を計画します。
-
ロールバック手順を本番トラフィックに実装する前にテストします。