

# Amazon ECS ブルー/グリーンデプロイに必要なリソース
<a name="blue-green-deployment-implementation"></a>

マネージドトラフィック移行を持ったブルー/グリーンデプロイを使用するには、サービスは次のいずれかの機能を使用する必要があります。
+ Elastic Load Balancing
+ 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 リソース](alb-resources-for-blue-green.md)」を参照してください。
  + Network Load Balancer – 詳細については、「[Amazon ECS ブルー/グリーン、リニアおよびカナリアデプロイの Network Load Balancer リソース](nlb-resources-for-blue-green.md)」を参照してください。
  + Service Connect – 詳細については、「[Amazon ECS ブルー/グリーンデプロイ、リニアデプロイおよびカナリアデプロイ用の Service Connect リソース](service-connect-blue-green.md)」を参照してください。
+ サービスのデプロイコントローラーを `ECS` に設定します。
+ サービス定義でデプロイ戦略を `blue/green` として設定します。
+ 必要に応じて、次のように追加のパラメータを設定します。
  + 新しいデプロイのベイク時間
  + 自動ロールバックの CloudWatch アラーム
  + テスト用のデプロイライフサイクルフック (指定されたデプロイステージで実行される Lambda 関数)

## ベストプラクティス
<a name="blue-green-deployment-best-practices"></a>

Amazon ECS ブルー/グリーンデプロイを正常に処理するには、次のベストプラクティスに従ってください。
+ アプリケーションの正常性を正確に反映する、適切なヘルスチェックを設定します。
+ グリーンデプロイの十分なテストを可能にするベイク時間を設定します。
+ CloudWatch アラームを実装し、問題を自動的に検出してロールバックをトリガーします。
+ ライフサイクルフックを使用し、各デプロイステージで自動テストを実行します。
+ アプリケーションが同時に実行されているブルーおよびグリーンのサービスリビジョンの両方を処理できることを確認します。
+ デプロイ中に両方のサービスリビジョンを処理するため、十分なクラスターキャパシティの確保を計画します。
+ ロールバック手順は、本番環境での実装前にテストします。