使用 CodeDeploy 亚马逊 Virtual Private Cloud - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 CodeDeploy 亚马逊 Virtual Private Cloud

如果您使用 Amazon Virtual Private Cloud(Amazon VPC)托管 Amazon 资源,则可以在您的 VPC 和 CodeDeploy 之间建立私有连接。您可以使用此连接实现 CodeDeploy 与您的 VPC 上的资源进行通信,而无需通过公共互联网。

Amazon VPC 是一项 Amazon 服务,可用来启动在虚拟网络中定义的 Amazon 资源。借助 VPC,您可以控制您的网络设置,如 IP 地址范围、子网、路由表和网络网关。在使用 VPC 终端节点时,VPC 和 Amazon 服务之间的路由是由 Amazon 网络处理的,并且可以使用 IAM 策略控制对服务资源的访问。

要将您的 VPC 连接到 CodeDeploy,您需要为定义接口 VPC 终端节点 CodeDeploy。接口终端节点是具有私有 IP 地址的弹性网络接口,用作发送到受支持的 Amazon 服务的通信的入口点。该端点 CodeDeploy 无需互联网网关、网络地址转换 (NAT) 实例或 VPN 连接即可提供可靠、可扩展的连接。有关更多信息,请参阅 Amazon VPC 用户指南中的什么是 Amazon VPC

Interface VPC 终端节点由Amazon PrivateLink一种Amazon技术提供支持,该技术使用带有私有 IP 地址的弹性网络接口实现Amazon服务之间的私密通信。有关更多信息,请参阅Amazon PrivateLink

以下步骤适用于 Amazon VPC 的用户。有关更多信息,请参阅 Amazon VPC 用户指南中的开始使用

可用性

CodeDeploy 有两个 VPC 终端节点:一个用于 CodeDeploy 代理操作,一个用于 CodeDeploy API 操作。下表显示了每个终端节点支持的Amazon区域。

区域名称 区域代码 代理端点 API 终端节点

美国东部(弗吉尼亚州北部)

us-east-1

US East (Ohio)

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

Asia Pacific (Sydney)

ap-southeast-2

亚太地区(东京)

ap-northeast-1

Canada (Central)

ca-central-1

中国(北京)

cn-north-1

中国(宁夏)

cn-northwest-1

欧洲(法兰克福)

eu-central-1

Europe (Ireland)

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

South America (São Paulo)

sa-east-1

Amazon GovCloud (美国东部)

us-gov-east-1

Amazon GovCloud (美国西部)

us-gov-west-1

为创建 VPC 终端节点 CodeDeploy

要开始在您的 VPC 中使用 CodeDeploy ,请为创建一个接口 VPC 终端节点 CodeDeploy。 CodeDeployGit 代理操作和 CodeDeploy API 操作需要单独的端点。根据您的业务需求,您可能需要创建多个 VPC 终端节点。为创建 VPC 终端节点时 CodeDeploy,选择Amazon服务,然后在服务名称中,从以下选项中进行选择:

  • com.amazonaws。 regi@@ on .codedeploy:如果您想为 CodeDeploy API 操作创建 VPC 终端节点,请选择此选项。例如,如果您的用户使用、 CodeDeploy API 或Amazon软件开发工具包进行交互以执行诸如、和ListDeploymentGroups之类 CodeDeploy 的操作 CreateApplicationGetDeployment,请选择此选项。Amazon CLI

  • com.amazonaws。 区域。 codedeploy-commands-secure:如果您要为 CodeDeploy 代理操作创建 VPC 终端节点,请选择此选项。您还需要在代理配置文件true:enable_auth_policy:将其设置为并附加所需的权限。有关更多信息,请参阅配置 CodeDeploy 代理和 IAM 权限

如果您使用的是 Lambda 或 ECS 部署,则只需为 com.amazonaws 创建 VPC 终端节点。 区域 .codedeploy 使用亚马逊 EC2 部署的客户需要两个 com.amazonaws 的 VPC 终端节点。 区域 .codeploy 和 com.amazonaws。 区域。 codedeploy-commands-secure

配置 CodeDeploy 代理和 IAM 权限

要将 Amazon VPC 终端节点与一起使用 CodeDeploy,您必须在位于 EC2 或本地实例上的代理配置文件true中将的值设置为。:enable_auth_policy:有关代理配置文件的更多信息,请参见CodeDeploy 代理配置参考

您还必须将以下 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 用户指南中的创建接口端点