我一直在阅读和观看与设计高可用 VPC 相关的所有内容 [1]。我有一些问题。对于需要在单个区域内实现 HA 的典型 3 层应用程序(Web、应用程序、数据库),您需要执行以下操作:
- 在每个可用区创建一个公有子网。
- 在每个可用区创建一个网络、应用和数据库专用子网。
- 确保您的 Web、应用和数据库 EC2 实例在可用区之间均匀分配(本文假设数据库正在热运行且应用是无状态的)。
- 使用 ALB/自动缩放在整个 Web 层分配负载。据我了解,ALB 提供同一区域内跨可用区的 HA。
- 利用互联网网关为互联网流量提供目标路由。
- 使用 NAT 网关对私有(private)子网虚拟机进行 SRC NAT,以便它们可以访问 互联网。
采用这种方法,您是否需要为每个可用区部署一个 Internet 和 NAT 网关?如果您只部署一个可用区中断时会发生什么情况。这些服务是否了解 AZ(无法找到此问题的良好答案)。欢迎任何和所有反馈(很高兴 RTFM)!
谢谢你, - 米克
[1]我查看的最后两个资源
最佳答案
每个可用区都需要 NAT 网关,因为冗余仅限于单个可用区。这是 official documentation 的片段
Each NAT gateway is created in a specific Availability Zone and implemented with redundancy in that zone.
您只需要一个用于 VPC 的互联网网关,因为它在可用区和 VPC 级资源之间是冗余的。这是 Internet Gateway offical documentation 的片段
An internet gateway is a horizontally scaled, redundant, and highly available VPC component that allows communication between instances in your VPC and the internet. It therefore imposes no availability risks or bandwidth constraints on your network traffic.
这是一个高度可用的架构图像,显示每个可用区的 NAT GW 和作为 VPC 资源的 Internet GW
关于amazon-web-services - 设计高可用性 VPC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58828689/