使用 CodeDeploy 带有 Amazon Virtual Private Cloud - AWS CodeDeploy
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 CodeDeploy 带有 Amazon Virtual Private Cloud

如果您使用 Amazon Virtual Private Cloud (Amazon VPC)为您的 AWS 资源,您可以在VPC和 CodeDeploy. 您可以使用此连接实现 CodeDeploy 与您 VPC 上的资源的通信,而不用访问公共 Internet。

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

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

接口VPC端点由 AWS PrivatElink, AWS 能够实现私人通信的技术 AWS 使用具有专用IP地址的弹性网络接口的服务。有关详细信息,请参阅 AWS PrivatElink.

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

Availability

CodeDeploy 当前在以下 AWS 区域中支持 VPC 终端节点:

  • 美国东部(俄亥俄州)

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

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

  • 美国西部(俄勒冈)

  • 欧洲(爱尔兰)

  • 欧洲(伦敦)

  • 欧洲 (巴黎)

  • 欧洲(法兰克福)

  • 亚太区域(东京)

  • 亚太区域(首尔)

  • 亚太区域(新加坡)

  • 亚太区域(悉尼)

  • 亚太地区(孟买)

  • 南美洲(圣保罗)

  • 加拿大 (中部)

  • 欧洲(斯德哥尔摩)

  • 中东(巴林)

  • 亚太地区(香港)

创建VPC端点 CodeDeploy

开始使用 CodeDeploy 使用VPC创建接口VPC端点 CodeDeploy... CodeDeploy 需要独立的GIT操作端点和 CodeDeploy API操作。根据您的业务需求,您可能需要创建多个 VPC 终端节点。当您创建VPC端点时 CodeDeploy,选择 AWS 服务、和 服务名称,从以下选项中选择:

  • com.amazonaws.regioncodedeploy: 如果您想要创建一个VPC端点,请选择此选项 CodeDeploy API操作。例如,如果用户使用 AWS CLI、 CodeDeploy API,或 AWS 与SDK互动的SDK CodeDeploy 对于运营,例如 CreateApplicationGetDeployment,和 ListDeploymentGroups.

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

如果您正在使用 Lambda 或 ECS 部署,您只需要创建VPC端点 COM.AmazonAWS。regioncodedeploy. 客户使用 Amazon EC2 部署将需要VPC端点 COM.AmazonAWS。region.代码部署COM.AmazonAWS。region.codedeploy-commands-secure.

配置 CodeDeploy 代理和 IAM 权限

使用 Amazon VPC 终点 CodeDeploy,您必须设置 :enable_auth_policy:true 在ec2或本地实例上的代理配置文件中。有关代理配置文件的详细信息,请参阅 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 用户指南.