为什么子网不能跨越 AWS 中的可用性区域?
Why can't a subnet span availability zones in AWS?
在 AWS 中,一个 VPC 子网只能驻留在一个可用区中。我很好奇这个限制背后的原因是什么。
我不知道 AWS 如何在幕后实施 VPC。但通常VPC的实现都是基于overlay网络,比如VXLAN。以VXLAN为例,从技术上讲,虚拟子网中的两个端点可以通信,只要托管端点的两台物理主机可以通信即可。这两个主机是否在可用区中应该无关紧要。
所以我想知道限制的原因是什么。是因为性能还是其他一些网络限制?
这是设计使然,子网关联指示您的资源位于哪个可用区。
为了计划提高弹性和高可用性,用户保证其资源之间存在隔离是关键。如果一个子网可以跨越多个可用性区域,那么您无法保证它们的基础设施都可能因停电而全部瘫痪。
另一方面,有些人希望保证其 VPC 环境中资源之间的最小延迟。通过将它们全部部署到同一个子网,它们可以保证流量将保留在同一个逻辑数据中心内,这将为它们提供服务之间的最佳延迟。
我怀疑原因是 AWS 出于 Fault Isolation 原因决定以这种方式进行细分。
除了 AWS 决定将其设为 AZ 级别之外,我不知道为什么给定子网在理论上无法跨越整个区域甚至多个区域的任何技术原因。 Google 例如,云子网是区域性的,而不是区域性的。
在 AWS 中,一个 VPC 子网只能驻留在一个可用区中。我很好奇这个限制背后的原因是什么。
我不知道 AWS 如何在幕后实施 VPC。但通常VPC的实现都是基于overlay网络,比如VXLAN。以VXLAN为例,从技术上讲,虚拟子网中的两个端点可以通信,只要托管端点的两台物理主机可以通信即可。这两个主机是否在可用区中应该无关紧要。
所以我想知道限制的原因是什么。是因为性能还是其他一些网络限制?
这是设计使然,子网关联指示您的资源位于哪个可用区。
为了计划提高弹性和高可用性,用户保证其资源之间存在隔离是关键。如果一个子网可以跨越多个可用性区域,那么您无法保证它们的基础设施都可能因停电而全部瘫痪。
另一方面,有些人希望保证其 VPC 环境中资源之间的最小延迟。通过将它们全部部署到同一个子网,它们可以保证流量将保留在同一个逻辑数据中心内,这将为它们提供服务之间的最佳延迟。
我怀疑原因是 AWS 出于 Fault Isolation 原因决定以这种方式进行细分。
除了 AWS 决定将其设为 AZ 级别之外,我不知道为什么给定子网在理论上无法跨越整个区域甚至多个区域的任何技术原因。 Google 例如,云子网是区域性的,而不是区域性的。