将 Amazon CodeCommit 和接口 VPC 终端节点一起使用 - Amazon CodeCommit
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

将 Amazon CodeCommit 和接口 VPC 终端节点一起使用

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

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

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

注意

其他Amazon提供 VPC 支持并与其集成的服务CodeCommit之外的压缩算法(例如Amazon CodePipeline中,可能不支持使用 Amazon VPC 终端节点进行该集成。例如,CodePipeline 和 CodeCommit 之间的流量无法限定于 VPC 子网范围。

接口 VPC 终端节点由Amazon PrivateLink,一个Amazon实现之间私人通信的技术Amazon使用具有私有 IP 地址的 elastic network interface 的服务。有关更多信息,请参阅 。Amazon PrivateLink.

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

可用性

CodeCommit以下内容当前支持 VPC 终端节点:Amazon Web Services 区域:

  • 美国东部(俄亥俄)

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

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

  • 美国西部(俄勒冈)

  • 欧洲(爱尔兰)

  • 欧洲(伦敦)

  • 欧洲(巴黎)

  • 欧洲(法兰克福)

  • 欧洲(斯德哥尔摩)

  • 欧洲(米兰)

  • 非洲(开普敦)

  • 亚太地区(东京)

  • 亚太地区(新加坡)

  • 亚太地区(悉尼)

  • 亚太地区(首尔)

  • 亚太地区(大阪)

  • 亚太地区(孟买)

  • 亚太地区(香港)

  • 南美洲(圣保罗)

  • Middle East (Bahrain)

  • 加拿大(中部)

  • 中国(北京)

  • 中国(宁夏)

  • Amazon GovCloud(美国西部)

  • Amazon GovCloud(美国东部)

创建的 VPC 终端节点CodeCommit

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

  • com.amazonaws.领域.git-codecommit:如果您希望使用创建 Git 操作的 VPC 终端节点,请选择此选项。CodeCommit存储库。例如,如果您的用户在与 CodeCommit 存储库交互时,使用 Git 客户端与 git pullgit commitgit push 等命令,请选择此选项。

  • com.amazonaws.领域.git-codecommit-fips:如果您希望使用创建 Git 操作的 VPC 终端节点,请选择此选项。CodeCommit存储库符合联邦信息处理标准 (FIPS) 出版物 140-2 美国政府标准。

  • com.amazonaws.领域.codecommit:如果要为创建 VPC 终端节点,请选择此选项。CodeCommitAPI 操作。例如,如果您的用户使用 Amazon CLI、CodeCommit API 或 Amazon 开发工具包来与 CodeCommit 交互以进行 CreateRepositoryListRepositoriesPutFile 等操作,请选择此选项。

  • com.amazonaws.领域.codecommit-fips:如果要为创建 VPC 终端节点,请选择此选项。CodeCommitAPI 操作符合联邦信息处理标准 (FIPS) 出版物 140-2 美国政府标准。

为 CodeCommit 创建 VPC 终端节点策略

您可以为 Amazon VPC 终端节点创建一个策略,CodeCommit在其中您可以指定:

  • 可执行操作的委托人。

  • 可执行的操作。

  • 可用于执行操作的资源。

例如,公司可能希望将对存储库的访问限制为 VPC 的网络地址范围。您可以在此处查看此类策略的示例:示例 3:允许从指定 IP 地址范围进行连接的用户访问存储库 . 该公司为美国东部(俄亥俄)区域配置了两个 Git VPC 终端节点:com.amazonaws.us-east-2.codecommitcom-amazonaws.us-east-2.git-codecommit-fips. 他们希望允许代码推送到CodeCommit存储库名称MyDemo存储库仅在符合 FIPS 的终端上。为了强制执行此操作,他们将在 com.amazonaws.us-east-2.codecommit 终端节点上配置一个与以下策略类似的策略,该策略专用于拒绝 Git 推送操作:

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "codecommit:GitPush", "Effect": "Deny", "Resource": "arn:aws:codecommit:us-west-2:123456789012:MyDemoRepo", "Principal": "*" } ] }

有关更多信息,请参阅 Amazon VPC 用户指南中的创建接口端点