使用AWS CodeCommit带接口 VPC 终端节点 - AWS CodeCommit

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

使用AWS CodeCommit带接口 VPC 终端节点

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

Amazon VPC 是AWS服务,您可以使用它启动AWS资源的信息。借助 VPC,您可以控制您的网络设置,如 IP 地址范围、子网、路由表和网络网关。使用 VPC 终端节点,VPC 和AWS服务由AWS网络,您可以使用 IAM 策略来控制对服务资源的访问。

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

注意

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

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

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

Availability

CodeCommit 当前支持下列值中的 VPC 终端节点 AWS 区域 :

  • US East (Ohio)

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

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

  • 美国西部(俄勒冈)

  • 欧洲(爱尔兰)

  • Europe (London)

  • Europe (Paris)

  • Europe (Frankfurt)

  • Europe (Stockholm)

  • Europe (Milan)

  • Africa (Cape Town)

  • 亚太区域(东京)

  • 亚太地区(新加坡)

  • 亚太地区(悉尼)

  • Asia Pacific (Seoul)

  • Asia Pacific (Osaka)

  • Asia Pacific (Mumbai)

  • Asia Pacific (Hong Kong)

  • 南美洲(圣保罗)

  • Middle East (Bahrain)

  • 加拿大(中部)

  • China (Beijing)

  • China (Ningxia)

  • AWS GovCloud (US-West)

  • AWS GovCloud (US-East)

为 CodeCommit 创建 VPC 终端节点

要开始将 CodeCommit 与您的 VPC 结合使用,请为 CodeCommit 创建接口 VPC 终端节点。CodeCommit 需要用于 Git 操作和 CodeCommit API 操作的单独终端节点。根据您的业务需求,您可能需要创建多个 VPC 终端节点。在您为 CodeCommit 创建 VPC 终端节点时,请选择AWS服务,并在服务名称中,从以下选项中进行选择:

  • com.amazonaws.区域.git-代码提交:如果要使用 CodeCommit 存储库为 Git 操作创建 VPC 终端节点,请选择此选项。例如,如果您的用户使用 Git 客户端和例如,请选择此选项。git pullgit commit, 和git push当它们与 CodeCommit 存储库交互时。

  • com.amazonaws.区域.git-代码提交-FIP:如果要使用符合联邦信息处理标准 (FIPS) 出版物 140-2 美国政府标准的 CodeCommit 存储库来为 Git 操作创建 VPC 终端节点,请选择此选项。

  • com.amazonaws.区域.codecommit:如果要为 CodeCommit API 操作创建 VPC 终端节点,请选择此选项。例如,如果您的用户使用AWS CLI、CodeCommit API 或AWS用于与 CodeCommit 交互的软件开发工具包进行操作,例如CreateRepositoryListRepositories, 和PutFile.

  • com.amazonaws.区域.代码提交-FIP:如果要为符合联邦信息处理标准 (FIPS) 出版物 140-2 美国政府标准的 CodeCommit API 操作创建 VPC 终端节点,请选择此选项。

为 CodeCommit 创建 VPC 终端节点策略

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

  • 可执行操作的委托人。

  • 可执行的操作。

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

例如,公司可能希望将对存储库的访问限制为 VPC 的网络地址范围。您可以在此处查看此类策略的示例:示例 3:允许用户从指定 IP 地址范围进行连接访问存储库 . 公司为美国东部(俄亥俄)区域配置了两个 Git VPC 终端节点:com.amazonaws.us-east-2.codecommitcom-amazonaws.us-east-2.git-codecommit-fips. 他们希望允许代码推送到名为MyDemoRepo仅在符合 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 用户指南中的创建接口终端节点