CodeDeploy Amazon ECS デプロイ用のロードバランサー、ターゲットグループ、リスナーのセットアップ - AWS CodeDeploy

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CodeDeploy Amazon ECS デプロイ用のロードバランサー、ターゲットグループ、リスナーのセットアップ

Amazon ECS コンピューティングプラットフォームを使用してデプロイを実行する前に、アプリケーションロードバランサーまたは Network Load Balancer サー、2 つのターゲットグループ、および 1 つまたは 2 つのリスナーを作成する必要があります。このトピックでは、Application Load Balancer の作成方法について説明します。詳細については、「Amazon ECS デプロイを開始する前に」を参照してください。

ターゲットグループの 1 つが、Amazon ECS アプリケーションの元のタスクセットにトラフィックをルーティングします。もう 1 つのターゲットグループは、置き換えタスクセットにトラフィックを送信します。デプロイ中、CodeDeploy oyy は置き換えタスクセットを作成し、元のタスクセットから新しいタスクセットにトラフィックを再ルーティングします。CodeDeploy は、各タスクセットで使用するターゲットグループを決定します。

ロードバランサーは、リスナーを使用してターゲットグループにトラフィックをルーティングします。本稼働リスナーが 1 つ必要です。検証テストの実行中、置き換えタスクセットにトラフィックをルーティングする、オプションのテストリスナーを指定できます。

ロードバランサーでは、2 つのパブリックサブネットを別々のアベイラビリティーゾーンに持つ VPC を使用する必要があります。以下のステップでは、デフォルト VPC を確認し、Amazon EC2 アプリケーションロードバランサーを作成し、ロードバランサーに 2 つのターゲットグループを作成する方法を示します。詳細については、「」を参照してください。ネットワークロードバランサーのターゲットグループ

デフォルトの VPC、パブリックサブネット、およびセキュリティグループを確認する

このトピックでは、Amazon ECS のデプロイ中に使用できる Amazon EC2 Application Load Balancer、2 つのターゲットグループ、および 2 つのポートを作成する方法について説明します。ポートの 1 つはオプションであり、デプロイ中に検証テスト用のテストポートにトラフィックをルーティングする場合にのみ必要です。

  1. AWS Management Console にサインインして、Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. 使用するデフォルト VPC を確認します。画面左枠のナビゲーションペインで、[VPC] を選択します。どの VPC が表示されているかに注意してくださいはい()デフォルト VPC列でロードバランサーの ID をクリックします。これがデフォルトの VPC になります。これには、使用するデフォルトのサブネットが含まれます。

  3. [サブネット] を選択します。2 つのサブネットのサブネット ID を書き留めておきます。はい()デフォルトサブネット列でロードバランサーの ID をクリックします。これらの ID は、ロードバランサーを作成するときに使用します。

  4. 各サブネットを選択し、[Description (説明)] タブを選択します。使用するサブネットが、異なるアベイラビリティーゾーンにあることを確認します。

  5. サブネットを選択後、[Route Table] タブを選択します。使用する各サブネットがパブリックサブネットであることを確認するには、インターネットゲートウェイへのリンクのある行がルートテーブルに含まれていることを確認します。

  6. AWS Management Console にサインインし、Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  7. ナビゲーションペインで、[Security Groups] を選択します。

  8. 使用するセキュリティグループが使用可能であることを確認し、そのグループ ID ([sg-abcd1234] など)を書き留めます。これは、ロードバランサーを作成するときに使用します。

Amazon EC2 Application Load Balancer、2 つのターゲットグループ、およびリスナー(コンソール)の作成

Amazon EC2 コンソールを使用して Amazon EC2 Application Load Balancer を作成するには、以下を実行します。

  1. AWS Management Console にサインインし、Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[Load Balancers] を選択します。

  3. [Create Load Balancer] を選択します。

  4. [Application Load Balancer] を選択し、[Create] を選択します。

  5. [Name] に、ロードバランサーの名前を入力します。

  6. [Scheme] で、[インターネット向け] を選択します。

  7. [IP address type] で、[ipv4] を選択します。

  8. (オプション)ロードバランサーの 2 番目のリスナーポートを設定します。このポートに提供されるテストトラフィックを使用して、デプロイの検証テストを実行できます。

    1. [Load Balancer Protocol (ロードバランサーのプロトコル)] で、[Add listener (リスナーの追加)] を選択します。

    2. 2 番目のリスナーの [Load Balancer Protocol] で、[HTTP] を選択します。

    3. [Load Balancer Port (ロードバランサーポート)] に [8080] を入力します。

  9. []アベイラビリティーゾーン, でVPCでデフォルトの VPC を選択し、使用する 2 つのデフォルトサブネットを選択します。

  10. [Next: (次へ:)] を選択します セキュリティ設定の構成

  11. [Next: (次へ:)] を選択します セキュリティグループの設定

  12. [Select an existing security group (既存のセキュリティグループを選択する)] を選択し、デフォルトのセキュリティグループを選択して、その ID を書き留めます。

  13. [Next: (次へ:)] を選択します ルーティングの設定

  14. [Target group (ターゲットグループ)] で、[New target group (新しいターゲットグループ)] を選択し、最初のターゲットグループを設定します。

    1. [Name] に、ターゲットグループの名前 (例: target-group-1) を入力します。

    2. [Target type] で、[IP] を選択します。

    3. [Protocol] で、[HTTP] を選択します。[Port] に「80」と入力します。

    4. [Next: (次へ:)] を選択します ターゲットの登録

  15. [Next: (次へ:)] を選択します 確認[] を選択してから、[作成

ロードバランサーの 2 番目のターゲットグループを作成するには

  1. ロードバランサーがプロビジョニングされたら、Amazon EC2 コンソールを開きます。ナビゲーションペインで、[Target Groups] を選択します。

  2. [Create target group] を選択します。

  3. [Name] に、ターゲットグループの名前 (例: target-group-2) を入力します。

  4. [Target type] で、[IP] を選択します。

  5. [Protocol] で、[HTTP] を選択します。[Port] に「80」と入力します。

  6. [VPC] で、デフォルトの VPC を選択します。

  7. [Create] を選択します。

    注記

    Amazon ECS デプロイを実行するには、ロードバランサー用に 2 つのターゲットグループを作成する必要があります。Amazon ECS サービスを作成するときは、ターゲットグループの 1 つの ARN を使用します。詳細については、「」を参照してください。ステップ 4: Amazon ECS サービスを作成する()Amazon ECS ユーザーガイド

Amazon EC2 Application Load Balancer、2 つのターゲットグループ、およびリスナーの作成(CLI)

Application Load Balancer を作成するにはAWS CLI:

  1. の使用ロードバランサの作成コマンドを使用して、Application Load Balancer を作成します。異なるアベイラビリティーゾーンにある 2 つのサブネット、およびセキュリティグループを指定します。

    aws elbv2 create-load-balancer --name bluegreen-alb \ --subnets subnet-abcd1234 subnet-abcd5678 --security-groups sg-abcd1234 --region us-east-1

    出力には、次の形式でロードバランサーの Amazon リソースネーム (ARN) が含まれます。

    arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642
  2. の使用ターゲットグループの作成コマンドを使用して、最初のターゲットグループを作成します。CodeDeploy は、このターゲットグループのトラフィックをサービスの元のタスクセットまたは置き換えタスクセットにルーティングします。

    aws elbv2 create-target-group --name bluegreentarget1 --protocol HTTP --port 80 \ --target-type ip --vpc-id vpc-abcd1234 --region us-east-1

    出力には、以下の形式で最初のターゲットグループの ARN が含まれます。

    arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget1/209a844cd01825a4
  3. の使用ターゲットグループの作成コマンドを使用して、2 番目のターゲットグループを作成します。CodeDeploy は、最初のターゲットグループによって処理されないタスクセットにターゲットグループのトラフィックをルーティングします。たとえば、最初のターゲットグループが元のタスクセットにトラフィックをルーティングする場合、このターゲットグループは置き換えタスクセットにトラフィックをルーティングします。

    aws elbv2 create-target-group --name bluegreentarget2 --protocol HTTP --port 80 \ --target-type ip --vpc-id vpc-abcd1234 --region us-east-1

    出力には、以下の形式で 2 番目のターゲットグループの ARN が含まれます。

    arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget2/209a844cd01825a4
  4. create-listener コマンドを使用して、本稼働トラフィックをポート 80 に転送するデフォルトルールを持つリスナーを作成します。

    aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642 \ --protocol HTTP --port 80 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget1/209a844cd01825a4 --region us-east-1

    出力には、以下の形式でリスナーの ARN が含まれます。

    arn:aws:elasticloadbalancing:region:aws_account_id:listener/app/bluegreen-alb/e5ba62739c16e642/665750bec1b03bd4
  5. (オプション)create-listener コマンドを使用して、テストトラフィックをポート 8080 に転送するデフォルトルールを持つ 2 番目のリスナーを作成します。このポートで提供されるテストトラフィックを使用して、デプロイの検証テストを実行できます。

    aws elbv2 create-listener --load-balancer-arn arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/bluegreen-alb/e5ba62739c16e642 \ --protocol HTTP --port 8080 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:aws_account_id:targetgroup/bluegreentarget2/209a844cd01825a4 --region us-east-1

    出力には、以下の形式でリスナーの ARN が含まれます。

    arn:aws:elasticloadbalancing:region:aws_account_id:listener/app/bluegreen-alb/e5ba62739c16e642/665750bec1b03bd4