

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

# インターフェイス VPC エンドポイント AWS CodeCommit での の使用
<a name="codecommit-and-interface-VPC"></a>

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 ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/)の *Amazon VPC とは*を参照してください。

**注記**  
VPC サポートを提供し、 などの CodeCommit と統合する他の AWS サービスは AWS CodePipeline、その統合に Amazon VPC エンドポイントを使用することをサポートしていない場合があります。例えば、CodePipeline と CodeCommit の間のトラフィックを VPC サブネット範囲に制限することはできません。[AWS Cloud9](setting-up-ide-c9.md) など、統合をサポートするサービスでは、 AWS Systems Managerなど、追加のサービスが必要になる場合があります。

 インターフェイス VPC エンドポイントは、プライベート IP アドレスを持つ Elastic Network Interface を使用して AWS サービス間のプライベート通信を可能にする AWS テクノロジーである AWS PrivateLink を利用しています。詳細については、「[AWS PrivateLink](https://aws.amazon.com/privatelink/)」を参照してください。

以下の手順は、Amazon VPC のユーザー向けです。詳細については、『Amazon VPC ユーザーガイド**』の「[開始方法](https://docs.aws.amazon.com/vpc/latest/userguide/GetStarted.html)」を参照してください。

## 利用可能な状況
<a name="codecommit-interface-VPC-availability"></a>

CodeCommit は現在、以下の VPC エンドポイントをサポートしています AWS リージョン。
+ 米国東部(オハイオ) 
+ 米国東部 (バージニア北部)
+ 米国西部 (北カリフォルニア)
+ 米国西部 (オレゴン)
+ 欧州 (アイルランド)
+ 欧州 (ロンドン)
+ 欧州 (パリ)
+ 欧州 (フランクフルト)
+ 欧州 (ストックホルム)
+ 欧州 (ミラノ)
+ アフリカ (ケープタウン)
+ イスラエル (テルアビブ)
+ アジアパシフィック (東京)
+ アジアパシフィック (シンガポール)
+ アジアパシフィック (シドニー)
+ アジアパシフィック (ジャカルタ)
+ 中東 (アラブ首長国連邦)
+ アジアパシフィック (ソウル)
+ アジアパシフィック (大阪)
+ アジアパシフィック (ムンバイ)
+ アジアパシフィック (ハイデラバード)
+ アジアパシフィック (香港)
+ 南米 (サンパウロ)
+ 中東 (バーレーン)
+ カナダ (中部)
+ 中国 (北京)
+ 中国 (寧夏)
+ AWS GovCloud (米国西部)
+ AWS GovCloud (米国東部)

## CodeCommit 用の VPC エンドポイントを作成する
<a name="create-vpc-endpoint-for-codecommit"></a>

VPC で CodeCommit の使用を開始するには、CodeCommit のインターフェイス VPC エンドポイントを作成します。CodeCommit には、Git オペレーションと CodeCommit API オペレーション用に別々のエンドポイントが必要です。ビジネスニーズに応じて、複数の VPC エンドポイントを作成する必要がある場合があります。CodeCommit 用の VPC エンドポイントを作成するときは、[**AWS サービス**] を選択し、[**サービス名**] で、次のオプションから選択します。
+ **com.amazonaws.*region*.git-codecommit**: CodeCommit リポジトリを使用した Git オペレーション用の VPC エンドポイントを作成する場合は、このオプションを選択してください。例えば、ユーザーが Git クライアントを使用し、CodeCommit リポジトリと対話するときに `git pull`、`git commit`、および `git push` などのコマンドを使用する場合は、このオプションを選択します。
+ **com.amazonaws.*region*.git-codecommit-fips**: 連邦情報処理規格 (FIPS) 出版物 140-2 の米国政府規格に準拠した CodeCommit リポジトリの Git オペレーション用の VPC エンドポイントを作成する場合は、このオプションを選択します。
**注記**  
Git の FIPS エンドポイントは、すべての AWS リージョンで利用できるわけではありません。詳細については、「[Git 接続エンドポイント](regions.md#regions-git)」を参照してください。
+ **com.amazonaws.*region*.codecommit**: CodeCommit API オペレーション用の VPC エンドポイントを作成する場合は、このオプションを選択します。たとえば、ユーザーが AWS CLI、CodeCommit API、または AWS SDKs を使用して `CreateRepository`、、 などのオペレーションで CodeCommit を操作する場合は`ListRepositories`、このオプションを選択します`PutFile`。
+ **com.amazonaws.*region*.codecommit-fips**: 連邦情報処理規格 (FIPS) 出版物 140-2 の米国政府規格に準拠した CodeCommit API オペレーション用の VPC エンドポイントを作成する場合は、このオプションを選択してください。
**注記**  
FIPS エンドポイントは、すべての AWS リージョンで利用できるわけではありません。詳細については、連邦情報処理規格 (FIPS) 140-2 の概要 AWS CodeCommit の エントリを参照してください。 [https://aws.amazon.com/compliance/fips/](https://aws.amazon.com/compliance/fips/)

## CodeCommit 用の VPC エンドポイントポリシーを作成する
<a name="create-vpc-endpoint-policy-for-codecommit"></a>

CodeCommit には Amazon VPC エンドポイントのポリシーを作成することができます。このポリシーでは、以下の内容を指定できます。
+ アクションを実行できるプリンシパル。
+ 実行可能なアクション。
+ 自身に対してアクションを実行できたリソース。

たとえば、ある企業がリポジトリへのアクセスを VPC のネットワークアドレス範囲に制限する場合があります。このようなポリシーの例はこちらに表示されています。[例 3: 指定した IP アドレス範囲から接続するユーザーにリポジトリへのアクセスを許可する](customer-managed-policies.md#identity-based-policies-example-3)同社は、米国東部 (オハイオ) リージョンに次の 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-east-2:123456789012:MyDemoRepo",
            "Principal": "*"
        }
    ]
}
```

**重要**  
グローバル条件キー `aws:VpcSourceIp` は、`git push` コマンドの IAM ポリシーで CodeCommit リポジトリをサポートしていません。

詳細については、『Amazon VPC ユーザーガイド』**の「[インターフェイスエンドポイントの作成](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint.html)」を参照してください。