AWS接口终端是否支持在一个可用区内多个子网?

18

我可以在每个可用区提供多个子网以创建AWS接口终端吗?

当我尝试时,我收到了这个错误:

Error creating VPC Endpoint: DuplicateSubnetsInSameZone: Found another VPC endpoint subnet in the availability zone of subnet-xxx. VPC endpoint subnets should be in different availability zones supported by the VPC endpoint service.

我的VPC设置为每个可用区有多个子网。这是否意味着在没有VPC端点网络接口的子网中设置的实例将无法访问AWS服务?


每个VPC只需要一个接口端点就足够了,所有子网都可以使用它。但是如果您想要高可用性,可以每个可用区都有一个接口端点。 - Marcin
那么我只需要在任何一个子网中创建它吗? - Tri Nguyen
是的,不过最好在使用端点的资源所在的子网中创建。 - Marcin
1个回答

16

文档指出

对于每个接口端点,您只能选择一个可用区的子网。

这并不意味着只有这一个子网可以使用该接口。您VPC中的所有子网都可以访问该接口。为了实现高可用性,您可以在每个可用区内拥有一个接口端点(每个可用区一个):

您可以在不同可用区中指定多个子网(由服务支持),以帮助确保接口端点对可用区故障具有弹性。

因此,在每个VPC中至少需要一个接口端点。文档还举例说明了Kinesis接口端点的情况:

两个子网中的实例均可以通过专属DNS主机名使用接口端点向Amazon Kinesis数据流发送请求。


您有哪些参考资料能够说明“VPC内的所有子网都可以访问该接口”?根据https://aws.amazon.com/premiumsupport/knowledge-center/ec2-systems-manager-vpc-endpoints/,似乎需要将接口放置在与我的实例相同的子网中。 - Tri Nguyen
1
接口端点在VPC DNS级别上工作。此处的插图显示了两个子网访问Kinesis的一个接口端点。目前没有更好的参考资料。 - Marcin
@TriNguyen,你引用的官方文档基本上是错误的。当它说“对于子网,请选择您实例的子网ID”和“请确保在VPC中的所有子网中创建端点”时,这是不正确的。它可以是AZ中的任何子网(不一定是相同的子网,但选择相同的子网当然可以工作),并且您需要为每个AZ设置一个端点,而不是每个子网设置一个端点。 - Michael - sqlbot
@Michael-sqlbot,你所说的与Marcin所说的不同。我不需要每个可用区一个,而是每个VPC一个(除了高可用性,这不在我的问题考虑范围内)。 - Tri Nguyen
你不一定需要每个可用区都有一个,但最好这样做,因为影响带有终端节点的可用区的故障将阻止其他可用区的系统访问该服务。 - Michael - sqlbot
AWS似乎在这份文件中包含了一个答案 https://repost.aws/knowledge-center/ec2-systems-manager-vpc-endpoints如果在同一可用区中有多个子网,您无需为额外的子网创建VPC端点。同一可用区内的任何其他子网都可以访问和使用该接口。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接