使用接口端点(AWS PrivateLink)访问 CloudFormation - AWS CloudFormation

使用接口端点(AWS PrivateLink)访问 CloudFormation

可以使用 AWS PrivateLink 在您的 VPC 和 CloudFormation 之间创建私有连接。可以像在 VPC 中一样访问 CloudFormation,而无需使用互联网网关、NAT 设备、VPN 连接或 AWS Direct Connect 连接。VPC 中的实例不需要公有 IP 地址即可访问 CloudFormation。

您可以通过创建由 AWS PrivateLink 提供支持的接口端点来建立此私有连接。我们将在您为接口端点启用的每个子网中创建一个端点网络接口。这些是请求者托管的网络接口,用作发往 CloudFormation 的流量的入口点。

CloudFormation 支持通过接口端点调用其所有 API 操作。

CloudFormation VPC 端点的注意事项

请首先确认您已满足《AWS PrivateLink 指南》Access an AWS service using an interface VPC endpoint 主题描述的先决条件,然后再设置接口端点。

在为 CloudFormation 设置接口端点时,还需要满足以下其他先决条件和注意事项:

  • 如果 VPC 中有资源必须响应自定义资源请求或等待条件,请确保这些资源拥有所需 CloudFormation 特定 Amazon S3 存储桶的访问权限。CloudFormation 在每个区域都有 S3 存储桶,以监视对自定义资源请求或等待条件的响应。如果模板在 VPC 中包含有自定义资源或等待条件,则 VPC 端点策略必须允许用户向以下存储桶发送响应:

    • 对于自定义资源,允许流量前往 cloudformation-custom-resource-response-region 存储桶。使用自定义资源时,AWS 区域名称不包含连接号。例如,uswest2

    • 对于等待条件,允许流量前往 cloudformation-waitcondition-region 存储桶。使用等待条件时,AWS 区域名称应包含连接号。例如,us-west-2

    如果端点策略阻止前往这些存储桶的流量,则 CloudFormation 不会收到响应,堆栈操作将失败。例如,如果某个资源位于 us-west-2 区域的 VPC 中且必须响应等待条件,则此资源必须能够向 cloudformation-waitcondition-us-west-2 存储桶发送响应。

    如需了解当前提供 CloudFormation 服务的 AWS 区域列表,请参阅《Amazon Web Services 一般参考》中的 AWS CloudFormation endpoints and quotas页面。

  • VPC 端点当前不支持跨区域请求 - 确保在计划向 CloudFormation 发出 API 调用的同一区域中创建端点。

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

  • 附加到 VPC 端点的安全组必须允许端口 443 上来自 VPC 的私有子网的传入连接。

为 CloudFormation 创建接口 VPC 端点

可以使用 Amazon VPC 控制台或 AWS Command Line Interface(AWS CLI)为 CloudFormation 创建 VPC 端点。有关更多信息,请参阅 AWS PrivateLink 指南中的创建 VPC 端点

使用以下服务名称为 CloudFormation 创建接口端点:

  • com.amazonaws.region.cloudformation

如果为接口端点启用私有 DNS,则可使用其默认区域 DNS 名称向 CloudFormation 发出 API 请求。例如,cloudformation.us-east-1.amazonaws.com

为 CloudFormation 创建 VPC 端点策略

端点策略是一种 IAM 资源,您可以将其附加到接口端点。默认端点策略将授予通过接口端点完全访问 CloudFormation 的权限。要控制允许从 VPC 访问 CloudFormation 的权限,请将自定义端点策略附加到接口端点。

端点策略指定以下信息:

  • 可执行操作的主体(AWS 账户、IAM 用户和 IAM 角色)。

  • 可执行的操作。

  • 可对其执行操作的资源。

有关更多信息,请参阅 AWS PrivateLink 指南中的使用端点策略控制对 VPC 端点的访问权限

示例:CloudFormation 操作的 VPC 端点策略

下面是用于 CloudFormation 的端点策略示例。当附加到端点时,此策略会向所有资源上的所有主体授予对列出的 CloudFormation 操作的访问权限。以下示例拒绝所有用户通过 VPC 端点创建堆栈的权限,并允许对 CloudFormation 服务上的所有其他操作进行完全访问。

{ "Statement": [ { "Action": "cloudformation:*", "Effect": "Allow", "Principal": "*", "Resource": "*" }, { "Action": "cloudformation:CreateStack", "Effect": "Deny", "Principal": "*", "Resource": "*" } ] }