CodeDeploy 与亚马逊 Virtual Private Cloud 配合使用 - AWS CodeDeploy

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

CodeDeploy 与亚马逊 Virtual Private Cloud 配合使用

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

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

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

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

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

可用性

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

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

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

us-east-1

支持

美国东部(俄亥俄州)

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

支持

亚太地区(悉尼)

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

不支持

欧洲地区(巴黎)

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

支持

AWS GovCloud (美国东部)

us-gov-east-1

AWS GovCloud (美国西部)

us-gov-west-1

为创建 VPC 终端节点 CodeDeploy

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

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

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

如果您使用的是 Lambda 或 ECS 部署,则只需为 com.amazonaws.region.codedeploy 创建 VPC 端点。使用亚马逊 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 用户指南中的创建接口终端节点