AWS - ELB 可用区 + VPC 最佳实践?

Jef*_*Wen 2 amazon-web-services amazon-elb amazon-vpc

设置ELB时,它会说以下内容:

您必须从至少两个可用区中指定子网,以提高负载均衡器的可用性。

我目前有两个 VPC:

  1. 网络VPC
    1. public-subnet-us-east-1a
    2. private-subnet-us-east-1b
  2. 数据库VPC
    1. public-subnet-us-east-1a
    2. private-subnet-us-east-1b

ELB 仅适用于 WebVPC(为 Web 流量提供服务)。我目前每个 VPC 只有一个公共子网和一个私有子网,这意味着我只能从我的 WebVPC 为 ELB 提供一个公共子网。

这是否意味着拥有至少两个公共子网和至少两个私有子网是最佳实践?

Joh*_*ein 5

您的架构不是高度可用的。最佳实践是跨多个可用区 (AZ) 复制服务,以防一个可用区出现故障(实际上,如果数据中心出现故障)。

此外,通常最好将应用程序的所有相关服务保留在同一 VPC 中,除非您有特殊原因将它们分开。

此外,通过将您的应用程序放在私有子网中来提高安全性,只有您的负载均衡器在公共子网中

因此,推荐的架构是:

  • 一个专有网络
  • AZ-a 中的公有子网
  • AZ-b 中的公有子网
  • 连接到两个公共子网的负载均衡器
  • AZ-a 中的私有子网
  • AZ-b 中的私有子网
  • 您的 Web 应用程序同时在两个私有子网中运行(假设它可以在多个 Amazon EC2 实例上运行)
  • 您的数据库在其中一个私有子网中运行,能够故障转移到另一个私有子网。Amazon RDS 可以使用可用选项自动执行此操作(需要支付额外费用)。

高可用架构

要了解有关构建高度可扩展的解决方案的更多信息,我推荐2016 年 AWS re:Invent 会议(YouTubeSlideSharePodcast)中的ARC201:扩展到您的前 1000 万用户会议。