使用 VPC 端点 - AWS CodeBuild

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

使用 VPC 端点

您可以通过将 AWS CodeBuild 配置为使用接口 VPC 端点来提高构建的安全性。接口端点由 PrivateLink 提供技术支持,该技术可用于通过私有 IP 地址私下访问 Amazon EC2 和 CodeBuild。PrivateLink 将托管实例、CodeBuild 和 Amazon EC2 之间的所有网络流量限制在 Amazon 网络以内。(托管实例无法访问 Internet。) 而且,您无需 Internet 网关、NAT 设备或虚拟专用网关。不要求您配置 PrivateLink,但推荐进行配置。有关 PrivateLink 和 VPC 端点的更多信息,请参阅什么是 AWS PrivateLink?

在您创建 VPC 端点前

在配置 AWS CodeBuild 的 VPC 端点之前,请注意以下限制。

注意

如果您想将 CodeBuild 与不支持 Amazon VPC PrivateLink 连接的 AWS 服务结合使用,请使用 NAT 网关

  • VPC 端点仅通过 Amazon Route 53 支持 Amazon 提供的 DNS。如果您希望使用自己的 DNS,可以使用条件 DNS 转发。有关更多信息,请参阅《Amazon VPC 用户指南》中的 DHCP 选项集

  • VPC 端点当前不支持跨区域请求。确保您在存储构建输入和输出的任何 S3 存储桶所在的相同 AWS 区域内创建端点。您可以使用 Amazon S3 控制台或 get-bucket-location 命令来查找存储桶的位置。使用区域特定的 Amazon S3 端点访问存储桶(例如,<bucket-name>.s3-us-west-2.amazonaws.com)。有关 Amazon S3 的区域特定端点的更多信息,请参阅《Amazon Web Services 一般参考》中的 Amazon Simple Storage Service。如果您使用 AWS CLI 向 Amazon S3 发起请求,请将默认区域设置为创建您的存储桶的区域,或在请求中使用 --region 参数。

为 CodeBuild 创建 VPC 端点

按照创建接口端点中的说明操作,创建端点 com.amazonaws.region.codebuild。这是用于 AWS CodeBuild 的 VPC 端点。

region 表示 CodeBuild 支持的 AWS 区域的区域标识符,例如美国东部(俄亥俄州)区域的 us-east-2。有关支持的 AWS 区域的列表,请参阅《AWS 一般参考》中的 CodeBuild。使用您在登录到 AWS 时指定的区域来预填充终端节点。如果更改您的区域,VPC 端点会相应地更新。

为 CodeBuild 创建 VPC 端点策略

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

  • 可执行操作的主体。

  • 可执行的操作。

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

以下示例策略指定所有委托人只能启动和查看 project-name 项目的构建。

{ "Statement": [ { "Action": [ "codebuild:ListBuildsForProject", "codebuild:StartBuild", "codebuild:BatchGetBuilds" ], "Effect": "Allow", "Resource": "arn:aws:codebuild:region-ID:account-ID:project/project-name", "Principal": "*" } ] }

有关更多信息,请参阅《Amazon VPC 用户指南》中的使用 VPC 端点控制对服务的访问