

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

# 搭配 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)。