AWS CodeCommit
ユーザーガイド (API バージョン 2015-04-13)

AWS CodeCommit とインターフェイス VPC エンドポイントの使用

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

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

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

注記

AWS CodePipeline など、VPC サポートを提供し、CodeCommit と統合する他の AWS サービスは、その統合のための Amazon VPC エンドポイントの使用をサポートしない可能性があります。たとえば、CodePipeline と CodeCommit 間のトラフィックを VPC サブネット範囲に制限することはできません。

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

次のステップは Amazon VPC のユーザー向けです。詳細については、Amazon VPC ユーザーガイド の「開始方法」を参照してください。

現在利用できるリージョン

現在、CodeCommit は、次の AWS リージョンで VPC エンドポイントをサポートしています。

  • 米国東部 (オハイオ)

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

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

  • 米国西部 (オレゴン)

  • 欧州 (アイルランド)

  • 欧州 (ロンドン)

  • EU (パリ)

  • 欧州 (フランクフルト)

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

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

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

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

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

  • 南米 (サンパウロ)

  • カナダ (中部)

  • AWS GovCloud (US-West)

  • 欧州 (ストックホルム)

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

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

  • com.amazonaws.region.git-codecommit: CodeCommit リポジトリを使用した Git オペレーション用の VPC エンドポイントを作成する場合は、このオプションを選択してください。たとえば、ユーザーが Git クライアントを使用し、CodeCommit リポジトリと対話するときに git pullgit commit、および git push などのコマンドを使用する場合は、このオプションを選択します。

  • com.amazonaws.region.git-codecommit-fips: 連邦情報処理規格 (FIPS) 出版物 140-2 の米国政府規格に準拠した CodeCommit リポジトリの Git オペレーション用の VPC エンドポイントを作成する場合は、このオプションを選択します。

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

  • com.amazonaws.region.codecommit-fips: 連邦情報処理規格 (FIPS) 出版物 140-2 の米国政府規格に準拠した CodeCommit API オペレーション用の VPC エンドポイントを作成する場合は、このオプションを選択してください。

CodeCommit の VPC エンドポイントポリシーの作成

CodeCommit には Amazon VPC エンドポイントのポリシーを作成することができます。以下の内容を指定できます。

  • アクションを実行できるプリンシパル。

  • 実行可能なアクション。

  • 自身に対してアクションを実行できたリソース。

たとえば、ある企業がリポジトリへのアクセスを VPC のネットワークアドレス範囲に制限する場合があります。このようなポリシーの例はこちらに表示されています。例 3: 指定された IP アドレス範囲アクセスからリポジトリへ接続するユーザーを許可する 同社は、米国東部 (オハイオ) リージョンに次の 2 つの Git VPC エンドポイントを設定しました。com.amazonaws.us-east-2.codecommit および com-amazonaws.us-east-2.git-codecommit-fips です。彼らは、FIPS 準拠のエンドポイントでのみ、MyDemoRepo という名前の CodeCommit リポジトリへのコードプッシュを許可したいと考えています。これを実施するには、com.amazonaws.us-east-2.codecommit エンドポイントで次のようなポリシーを設定し、Git プッシュアクションを明確に拒否します。

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "codecommit:GitPush", "Effect": "Deny", "Resource": "arn:aws:codecommit:us-west-2:123456789012:MyDemoRepo", "Principal": "*" } ] }

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