我正在创建一个 AWS VPC 终端节点来连接到服务的接口类型。我正在使用此代码。
resource "aws_vpc_endpoint" "endpoints" {
for_each = var.custom_endpoint_services
vpc_id = data.aws_vpc.current_vpc.id
service_name = each.value.service_name
vpc_endpoint_type = "Interface"
security_group_ids = [
aws_security_group.endpoints-sg.id
]
tags = merge(var.tags, {
"Name" = each.key
})
}
现在,如您所见,我没有使用任何子网。但端点仍然被创建,并在端点服务中显示为可用端点连接。这怎么可能?
这怎么可能?
您已在 VPC 中创建终端节点,但 VPC 中的任何子网当前均不会将流量路由到该终端节点。 Terraform 文档甚至包含一个与您问题中的代码类似的示例,但是如果您检查同一页面上的
subnet_ids
属性文档,它会指出:
接口类型端点在未分配到子网的情况下无法运行。
因此,虽然它允许您创建
Interface
没有子网分配的端点,但文档警告您它将无法正常工作。
请注意,
Gateway
类型的端点不需要子网分配即可工作。