使用接口端点(Amazon PrivateLink)访问 CloudFormation
可以使用 Amazon PrivateLink 在您的 VPC 和 CloudFormation 之间创建私有连接。可以像在 VPC 中一样访问 CloudFormation,而无需使用互联网网关、NAT 设备、VPN 连接或 Amazon Direct Connect 连接。VPC 中的实例不需要公有 IP 地址即可访问 CloudFormation。
您可以通过创建由 Amazon PrivateLink 提供支持的接口端点来建立此私有连接。我们将在您为接口端点启用的每个子网中创建一个端点网络接口。这些是请求者托管的网络接口,用作发往 CloudFormation 的流量的入口点。
CloudFormation 支持通过接口端点调用其所有 API 操作。
CloudFormation VPC 端点的注意事项
请首先确认您已满足《Amazon PrivateLink 指南》中 Access an Amazon service using an interface VPC endpoint 主题描述的先决条件,然后再设置接口端点。
在为 CloudFormation 设置接口端点时,还需要满足以下其他先决条件和注意事项:
-
如果 VPC 中有资源必须响应自定义资源请求或等待条件,请确保这些资源拥有所需 CloudFormation 特定 Amazon S3 存储桶的访问权限。CloudFormation 在每个区域都有 S3 存储桶,以监视对自定义资源请求或等待条件的响应。如果模板在 VPC 中包含有自定义资源或等待条件,则 VPC 端点策略必须允许用户向以下存储桶发送响应:
-
对于自定义资源,允许流量前往
cloudformation-custom-resource-response-
存储桶。使用自定义资源时,Amazon Web Services 区域名称不包含连接号。例如,region
uswest2
。 -
对于等待条件,允许流量前往
cloudformation-waitcondition-
存储桶。使用等待条件时,Amazon Web Services 区域名称应包含连接号。例如,region
us-west-2
。
如果端点策略阻止前往这些存储桶的流量,则 CloudFormation 不会收到响应,堆栈操作将失败。例如,如果某个资源位于
us-west-2
区域的 VPC 中且必须响应等待条件,则此资源必须能够向cloudformation-waitcondition-us-west-2
存储桶发送响应。如需了解当前提供 CloudFormation 服务的 Amazon Web Services 区域列表,请参阅《Amazon Web Services 一般参考》中的 Amazon 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 控制台或 Amazon Command Line Interface(Amazon CLI)为 CloudFormation 创建 VPC 端点。有关更多信息,请参阅 Amazon PrivateLink 指南中的创建 VPC 端点。
使用以下服务名称为 CloudFormation 创建接口端点:
-
com.amazonaws.
region
.cloudformation
如果为接口端点启用私有 DNS,则可使用其默认区域 DNS 名称向 CloudFormation 发出 API 请求。例如,cloudformation.us-east-1.amazonaws.com
。
为 CloudFormation 创建 VPC 端点策略
端点策略是一种 IAM 资源,您可以将其附加到接口端点。默认端点策略将授予通过接口端点完全访问 CloudFormation 的权限。要控制允许从 VPC 访问 CloudFormation 的权限,请将自定义端点策略附加到接口端点。
端点策略指定以下信息:
-
可执行操作的主体(Amazon Web Services 账户、IAM 用户和 IAM 角色)。
-
可执行的操作。
-
可对其执行操作的资源。
有关更多信息,请参阅 Amazon PrivateLink 指南中的使用端点策略控制对 VPC 端点的访问权限。
示例:CloudFormation 操作的 VPC 端点策略
下面是用于 CloudFormation 的端点策略示例。当附加到端点时,此策略会向所有资源上的所有主体授予对列出的 CloudFormation 操作的访问权限。以下示例拒绝所有用户通过 VPC 端点创建堆栈的权限,并允许对 CloudFormation 服务上的所有其他操作进行完全访问。
{ "Statement": [ { "Action": "cloudformation:*", "Effect": "Allow", "Principal": "*", "Resource": "*" }, { "Action": "cloudformation:CreateStack", "Effect": "Deny", "Principal": "*", "Resource": "*" } ] }