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

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

CodeDeploy 结合使用 Amazon Virtual Private Cloud

如果您使用 Amazon Virtual Private Cloud(Amazon VPC)托管 Amazon 资源,则可以在您的 VPC 和 CodeDeploy 之间建立私有连接。您可以使用此连接实现 CodeDeploy 与您的 VPC 上的资源的通信而不用访问公共 Internet。

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

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

接口 VPC 终端节点由提供支持Amazon PrivateLink,后者是一种Amazon技术,可将elastic network interface 与私有 IP 地址结合使用来支持Amazon服务之间的私有通信。有关更多信息,请参阅Amazon PrivateLink

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

可用性

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

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

US East (Ohio)

us-east-2

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

us-east-1

美国西部(北加利福尼亚)

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

中东(巴林)

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

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

  • com.amazonaws。 re@@ g ion .codedeploy:如果您想为 CodeDeploy API 操作创建 VPC 终端节点,请选择此选项。例如,如果您的用户使用Amazon CLI、 CodeDeploy API 或Amazon SDK 与、和等操作 CodeDeploy 进行交互CreateApplicationGetDeployment,请选择此选项ListDeploymentGroups

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

如果您使用的是 Lambda 或 ECS 部署,则只需要为 com.amazonaws 创建 VPC 终端节点。 区域 .codeDeploy 使用 Amazon EC2 部署的客户将需要 VPC 终端节点同时使用 com.amazonaws。 re@@ g ion.codeploycom.amazona 地区。 codedeploy-commands-secure

配置 CodeDeploy 代理和 IAM 权限

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

如果您使用本地实例,还必须将以下 IAM 权限添加到您的 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 用户指南中的创建接口端点