EC2 起動タイプの ECS サービス (example-ecs-service) を持つ ECS クラスター (example-ecs-cluster) があります。CodeDeploy からターゲット グループ スワッピングを使用して Blue/Green デプロイ タイプを構築しようとしています。これは、新しいコード リビジョンを最初にテスト ポートから提供し、次に prod ポートと交換する必要があることを意味します。ELB を作成し、2 つの異なるターゲット グループに関連付けられた 2 つのリスナーをアタッチしました。ポート 80 を使用する prod 用の 1 つのターゲット グループ (example-target-group) と、ポート 8080 を使用するテスト用の 1 つのターゲット グループ (example-target-group2)。タスク定義は 1 つだけです。デプロイメントの開始時に、2 つの異なるタスク リビジョンが作成されていることを確認できます。そう、
ELB
- Listener 80 --> example-target-group
- Listener 8080 --> example-target-group2
example-target-group
CODE_DEPLOY deployment-controller-type サービスは複数のターゲット グループをサポートしていないため、ECS サービスのみを作成しました。
aws ecs create-service --cluster example-ecs-cluster --service-name example-ecs-service --task-definition nodejs-hello-world-task-def --desired-count 1 --deployment-controller type= CODE_DEPLOY --launch-type EC2 --load-balancers targetGroupArn=arn:aws:elasticloadbalancing:us-east-1:548754742764:targetgroup/example-target-group/0f9efaeceb63ac61,containerName=nodejs-hello-world,containerPort=8080
2 つの最大タスクが実行されている 1 つの EC2 インスタンス (1 つは新しいリビジョン、もう 1 つは古いリビジョン) でこれを達成しようとしています。
ターゲット グループ スワッピングを使用してこのシナリオを処理するための推奨される方法は何ですか? ありがとう!