设计高可用性的VPC

时间:2019-11-13 00:31:08

标签: amazon-web-services amazon-ec2

我一直在阅读和观看有关设计高可用性VPC的所有内容[1]。我有一些问题。对于在单个区域内需要HA的典型3层应用程序(Web,应用程序,数据库),您似乎需要执行以下操作:

  • 在每个可用区中创建一个公共子网。
  • 在每个可用区中创建一个Web,应用程序和数据库专用子网。
  • 确保您的Web,应用程序和数据库EC2实例在可用区之间平均分配(对于本帖子,假设数据库正在热/热运行且应用程序为无状态)。
  • 使用ALB /自动缩放在Web层上分配负载。据我了解,ALB可在同一区域内的所有AZ之间提供HA。
  • 利用Internet网关为Internet流量提供目标路由。
  • 使用NAT网关对私有子网VM进行SRC NAT,以便它们可以访问 互联网。

使用这种方法,您需要为每个可用区部署一个Internet和NAT网关吗?如果仅部署一个,则在AZ中断时会发生什么。这些服务是AZ知道的吗(找不到这个问题的很好的答案)。欢迎任何反馈(高兴于RTFM)!

谢谢你, -米克

[1]我回顾的最后两个资源

Deploying production grade VPCs

High Availability Application Architectures in Amazon VPC

1 个答案:

答案 0 :(得分:2)

在每个可用区中都需要NAT网关,因为冗余仅限于单个可用区。这是official documentation

的摘录
  

每个NAT网关都在特定的可用区中创建,并且   在该区域中实现了冗余。

对于VPC,您只需要一个Internet网关,因为它在AZ和VPC级别的资源之间是冗余的。这是Internet Gateway offical documentation

的摘录
  

Internet网关是水平扩展,冗余且高度集成的   可用的VPC组件,它允许以下实例之间进行通信   您的VPC和互联网。因此,它没有可用性风险   或网络流量上的带宽限制。

这是一个高度可用的体系结构图像,其中显示了每个AZ的NAT GW和作为VPC资源的Internet GW

enter image description here

图片来源:https://aws.amazon.com/quickstart/architecture/vpc/