amazon-web-services - 设计高可用性 VPC

标签 amazon-web-services amazon-ec2

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

  • 在每个可用区创建一个公有子网。
  • 在每个可用区创建一个网络、应用和数据库专用子网。
  • 确保您的 Web、应用和数据库 EC2 实例在可用区之间均匀分配(本文假设数据库正在热运行且应用是无状态的)。
  • 使用 ALB/自动缩放在整个 Web 层分配负载。据我了解,ALB 提供同一区域内跨可用区的 HA。
  • 利用互联网网关为互联网流量提供目标路由。
  • 使用 NAT 网关对私有(private)子网虚拟机进行 SRC NAT,以便它们可以访问 互联网。

采用这种方法,您是否需要为每个可用区部署一个 Internet 和 NAT 网关?如果您只部署一个可用区中断时会发生什么情况。这些服务是否了解 AZ(无法找到此问题的良好答案)。欢迎任何和所有反馈(很高兴 RTFM)!

谢谢你, - 米克

[1]我查看的最后两个资源

Deploying production grade VPCs

High Availability Application Architectures in Amazon VPC

最佳答案

每个可用区都需要 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

enter image description here

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

关于amazon-web-services - 设计高可用性 VPC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58828689/

相关文章:

amazon-web-services - 按用户属性限制 IoT 主题

ubuntu - 使用 Ansible 将安全组添加到正在运行的实例

linux - 从aws ec2到ec2的无密码root登录

amazon-web-services - 一台大EC2、多台小EC2、一台ECS,哪个划算?

amazon-web-services - AWS EIP 限制增加

php - 使用适用于 PHP 的 AWS 开发工具包上传的 Amazon S3 文件始终为 “application/octet-stream”?

amazon-web-services - 如何使用 eksctl 获取 EKS NodeGroup 的卷大小?

amazon-web-services - 停止 EC2 实例时如何保留数据

amazon-web-services - aws-cdk 将 Lambda 函数与 CloudFront Web Distribution 关联

hadoop - 在Hadoop上安装SpatialHadoop框架