Amazon Virtual Private Cloud で CodeDeploy を使用 - AWS CodeDeploy

Amazon Virtual Private Cloud で CodeDeploy を使用

Amazon Virtual Private Cloud (Amazon VPC) を使用して AWS リソースをホストする場合、VPC と CodeDeploy の間のプライベート接続を確立できます。この接続を使用すると、CodeDeploy はパブリックインターネットを経由せずに、VPC のリソースと通信できます。

Amazon VPC は、ユーザー定義の仮想ネットワークで AWS リソースを起動するために使用できる AWS のサービスです。VPC を使用すると、IP アドレス範囲、サブネット、ルートテーブル、ネットワークゲートウェイなどのネットワーク設定を制御できます。VPC エンドポイントを使用することで、VPC と AWS のサービス間のルーティングは AWS ネットワークにより処理され、サービスリソースへのアクセス管理に IAM ポリシーを使用することができます。

VPC を CodeDeploy に接続するには、CodeDeploy の インターフェイス VPC エンドポイント を定義します。インターフェイスエンドポイントは、サポートされる AWS サービスを宛先とするトラフィックのエントリポイントとなるプライベート IP アドレスを持つ Elastic Network Interface です。このエンドポイントは、インターネットゲートウェイ、ネットワークアドレス変換 (NAT) インスタンス、および VPN 接続を必要とせず、信頼性が高くスケーラブルな CodeDeploy への接続を提供します。詳細については、「Amazon VPC ユーザーガイド」の「Amazon VPC とは」を参照してください。

インターフェイス VPC エンドポイントとは AWS PrivateLink と、Elastic Network Interface とプライベート IP アドレスを使用して AWS のサービス間のプライベート通信を可能にする AWS のテクノロジーです。詳細については、 を参照してください。AWS PrivateLink

以下の手順は、Amazon VPC のユーザー向けです。詳細については、『Amazon VPC ユーザーガイド』の「開始方法」を参照してください。

利用可能な状況

CodeDeploy には 2 つの VPC エンドポイントがあります。1 つは CodeDeploy エージェントオペレーション用で、もう 1 つは CodeDeploy API オペレーション用です。以下の表は、各エンドポイントでサポートされている AWS リージョンを示しています。

FIPS エンドポイントの詳細については、「AWS CodeDeploy エンドポイントとクォータ」を参照してください。

リージョン名 リージョンコード エージェントのエンドポイント API エンドポイント FIPS 準拠リージョン

米国東部 (バージニア北部)

us-east-1

あり

あり

あり

米国東部 (オハイオ)

us-east-2

あり

あり

あり

米国西部 (北カリフォルニア)

us-west-1

あり

あり

あり

米国西部 (オレゴン)

us-west-2

あり

あり

あり

アフリカ (ケープタウン)

af-south-1

あり

いいえ

アジアパシフィック (香港)

ap-east-1

あり

あり

アジアパシフィック (ハイデラバード)

ap-south-2

あり

なし

アジアパシフィック (ジャカルタ)

ap-southeast-3

あり

なし

アジアパシフィック (メルボルン)

ap-southeast-4

あり

なし

アジアパシフィック (ムンバイ)

ap-south-1

あり

あり

アジアパシフィック (大阪)

ap-northeast-3

あり

なし

アジアパシフィック (ソウル)

ap-northeast-2

あり

あり

アジアパシフィック (シンガポール)

ap-southeast-1

あり

あり

アジアパシフィック (シドニー)

ap-southeast-2

あり

あり

アジアパシフィック (東京)

ap-northeast-1

あり

あり

カナダ (中部)

ca-central-1

あり

あり

中国 (北京)

cn-north-1

あり

なし

中国 (寧夏)

cn-northwest-1

なし

なし

欧州 (フランクフルト)

eu-central-1

あり

あり

欧州 (アイルランド)

eu-west-1

あり

あり

欧州 (ロンドン)

eu-west-2

あり

あり

欧州 (ミラノ)

eu-south-1

あり

なし

欧州 (パリ)

eu-west-3

あり

あり

欧州 (スペイン)

eu-south-2

あり

なし

欧州 (ストックホルム)

eu-north-1

あり

あり

欧州 (チューリッヒ)

eu-central-2

あり

なし

イスラエル (テルアビブ)

il-central-1

あり

あり

中東 (バーレーン)

me-south-1

あり

あり

中東 (アラブ首長国連邦)

me-central-1

あり

なし

南米 (サンパウロ)

sa-east-1

あり

あり

AWS GovCloud (米国東部)

us-gov-east-1

なし

なし

あり

AWS GovCloud (米国西部)

us-gov-west-1

なし

なし

あり

CodeDeploy 用の VPC エンドポイントを作成する

VPC で CodeDeploy の使用を開始するには、CodeDeploy のインターフェイス VPC エンドポイントを作成します。CodeDeploy には、エージェントの Git オペレーションと CodeDeploy API オペレーション用に別々のエンドポイントが必要です。ビジネスニーズに応じて、複数の VPC エンドポイントを作成する必要がある場合があります。CodeDeploy 用の VPC エンドポイントを作成するときは、[AWS サービス] を選択し、[サービス名] で、次のオプションから選択します。

  • com.amazonaws.region.codecommit: CodeDeploy API オペレーション用の VPC エンドポイントを作成する場合は、このオプションを選択します。例えば、ユーザーが AWS CLI、CodeDeploy API、または AWS SDK を使用して、CreateApplicationGetDeploymentListDeploymentGroups などのオペレーションのために CodeDeploy と対話する場合は、このオプションを選択します。

  • com.amazonaws.region.codedeploy-fips: FIPS エンドポイントの CodeDeploy API オペレーション用に VPC エンドポイントを作成する場合は、このオプションを選択します。

  • com.amazonaws.region.codecommit: CodeDeploy エージェント オペレーション用の VPC エンドポイントを作成する場合は、このオプションを選択します。また、:enable_auth_policy:true エージェント設定ファイルで、必要な権限をアタッチする必要があります 詳細については、「CodeDeploy エージェントと IAM 許可を設定する」を参照してください。

Lambda または ECS デプロイを使用している場合は、用の VPC エンドポイントを作成する必要があります。com.amazonaws.region.codedeploy Amazon EC2 デプロイを使用しているお客様については、com.amazonaws.region.codedeploycom.amazonaws.region.codedeploy-commands-secure はどちらも VPC エンドポイントが必要です

CodeDeploy エージェントと IAM 許可を設定する

CodeDeploy で Amazon VPC エンドポイントを使用するには、:enable_auth_policy:true EC2 またはオンプレミスインスタンスにあるエージェント設定ファイルに次の値を設定する必要があります。設定ファイルの形式の詳細については、「CodeDeploy エージェント設定リファレンス」を参照してください。

Amazon EC2 インスタンスプロファイル (Amazon EC2 インスタンスを使用している場合) または IAM ユーザーまたはロール (オンプレミスインスタンスを使用している場合) に次の IAM アクセス許可を追加する必要があります。

{ "Statement": [ { "Action": [ "codedeploy-commands-secure:GetDeploymentSpecification", "codedeploy-commands-secure:PollHostCommand", "codedeploy-commands-secure:PutHostCommandAcknowledgement", "codedeploy-commands-secure:PutHostCommandComplete" ], "Effect": "Allow", "Resource": "*" } ] }

詳細については、『Amazon VPC ユーザーガイド』の「インターフェイスエンドポイントの作成」を参照してください。