

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 搭配 Amazon Virtual Private Cloud 使用 CodeDeploy
<a name="vpc-endpoints"></a>

如果您使用 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 端點*。界面端點是具有私有 IP 地址的彈性網路界面，可做為目的地為支援 AWS 服務之流量的進入點。端點為 CodeDeploy 提供可靠、可擴展的連線，而不需要網際網路閘道、網路位址轉譯 (NAT) 執行個體或 VPN 連線。如需詳細資訊，請參閱《*Amazon VPC 使用者指南》*中的[什麼是 Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/)。

 介面 VPC 端點採用 AWS PrivateLink技術，這項 AWS 技術可使用具有私有 IP 地址的彈性網路介面，在 AWS 服務之間進行私有通訊。如需詳細資訊，請參閱[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>

CodeDeploy 有兩個 VPC 端點：一個用於 CodeDeploy 代理程式操作，另一個用於 CodeDeploy API 操作。下表顯示每個端點支援的 AWS 區域。

如需詳細資訊，以及 FIPS 端點的詳細資訊，請參閱[AWS CodeDeploy 端點和配額](https://docs.aws.amazon.com/general/latest/gr/codedeploy.html)。


| 區域名稱 | 區域代碼 | 代理程式端點 | API 端點 | FIPS 合規區域？ | 
| --- | --- | --- | --- | --- | 
| 美國東部 (維吉尼亞北部) | us-east-1 | 是 | 是 | 是 | 
| 美國東部 (俄亥俄) | us-east-2 | 是 | 是 | 是 | 
| 美國西部 (加利佛尼亞北部) | us-west-1 | 是 | 是 | 是 | 
| 美國西部 (奧勒岡) | us-west-2 | 是 | 是 | 是 | 
| Africa (Cape Town)  | 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 | 是 | 否 |  | 
| Europe (Paris)  | eu-west-3 | 是 | 是 |  | 
| 歐洲 (西班牙) | eu-south-2 | 是 | 否 |  | 
| Europe (Stockholm) | eu-north-1 | 是 | 是 |  | 
| 歐洲 (蘇黎世)  | eu-central-2 | 是 | 否 |  | 
| 以色列 (特拉維夫)  | il-central-1 | 是 | 是 |  | 
| Middle East (Bahrain) | me-south-1 | 是 | 是 |  | 
| 中東 (阿拉伯聯合大公國) | me-central-1 | 是 | 否 |  | 
| 南美洲 (聖保羅) | sa-east-1 | 是 | 是 |  | 
| AWS GovCloud （美國東部） | us-gov-east-1 | 否 | 否 | 是 | 
| AWS GovCloud （美國西部） | us-gov-west-1 | 否 | 否 | 是 | 

## 建立 CodeDeploy 的 VPC 端點
<a name="create-vpc-endpoint-for-codedeploy"></a>

若要開始將 CodeDeploy 與 VPC 搭配使用，請為 CodeDeploy 建立介面 VPC 端點。CodeDeploy 需要代理程式 Git 操作和 CodeDeploy API 操作的個別端點。根據您的商業需求，您可能需要建立多個 VPC 端點。當您為 CodeDeploy 建立 VPC 端點時，請選擇**AWS 服務**，然後在**服務名稱**中選擇下列選項：
+  **com.amazonaws.{{region}}.codedeploy**：如果您想要為 CodeDeploy API 操作建立 VPC 端點，請選擇此選項。例如，如果您的使用者使用 AWS CLI、CodeDeploy API 或 AWS SDKs 與 CodeDeploy 互動，例如 `CreateApplication`、 和 等操作`GetDeployment`，請選擇此選項`ListDeploymentGroups`。
+  **com.amazonaws.{{region}}.codedeploy-fips**：如果您想要為 FIPS 端點的 CodeDeploy API 操作建立 VPC 端點，請選擇此選項。
+  **com.amazonaws.{{region}}.codedeploy-commands-secure**：如果您想要為 CodeDeploy 代理程式操作建立 VPC 端點，請選擇此選項。您也需要在`true`代理程式組態檔案中`:enable_auth_policy:`將 設定為 ，並連接所需的許可。如需詳細資訊，請參閱[設定 CodeDeploy 代理程式和 IAM 許可](#vpc-codedeploy-agent-configuration)。

如果您使用 Lambda 或 ECS 部署，則只需要為 **com.amazonaws.{{region}}.codedeploy** 建立 VPC 端點。使用 Amazon EC2 部署的客戶需要 **com.amazonaws.{{region}}.codedeploy** 和 **com.amazonaws.{{region}}.codedeploy-commands-secure** 的 VPC 端點。

## 設定 CodeDeploy 代理程式和 IAM 許可
<a name="vpc-codedeploy-agent-configuration"></a>

若要搭配 CodeDeploy 使用 Amazon VPC 端點，您必須在 EC2 或內部部署執行個體上的代理程式組態檔案中`:enable_auth_policy:``true`將 的值設定為 。如需代理程式組態檔案的詳細資訊，請參閱 [CodeDeploy 代理程式組態參考](reference-agent-configuration.md)。

您還必須將下列 IAM 許可新增至 Amazon EC2 執行個體描述檔 （如果您使用的是 Amazon EC2 執行個體） 或 IAM 使用者或角色 （如果您使用的是內部部署執行個體）。

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

如需詳細資訊，請參閱 *Amazon VPC 使用者指南*中的[建立界面端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint.html)。