考题解析 | 在 AWS 中设计高可用的应用程序架构方案


  题目

一家公司具有一个在公有子网和私有子网中运行的双层应用程序架构。运行 Web 应用程序的 Amazon EC2 实例位于公有子网中,而数据库的 EC2 实例在私有子网中运行。Web 应用程序实例和数据库在单个可用区 (AZ) 中运行。
解决方案架构师应采取哪种步骤组合来为该架构提供高可用性? (请选择两项。)

A) 在同一可用区中创建新的公有子网和私有子网。
B) 为 Web 应用程序实例创建跨多个可用区的 Amazon EC2 Auto Scaling 组和 Application Load Balancer。
C) 将现有 Web 应用程序实例添加到 Application Load Balancer 后面的 Auto Scaling 组。
D) 在新可用区中创建新的公有子网和私有子网。在新可用区的公有子网中使用 EC2 实例创建数据库。将旧数据库内容迁移到新数据库。
E) 在同一 VPC 中创建新的公有子网和私有子网,每个子网都在新的可用区中。在私有子网中创建 Amazon RDS 多可用区数据库实例。将旧数据库内容迁移到新的数据库实例。

  参考答案

B、E

  参考解析

多个可用区可以提供可用性。为了提供架构的高可用性,在新的可用区 (AZ) 中创建新子网,才能提供冗余网络。

Elastic Load Balancing 在一个或多个可用区中的多个目标之间自动分配传入的流量。它会监控已注册目标的运行状况,并仅将流量传输到运行状况良好的目标。弹性负载均衡将会扩展负载均衡器容量,以响应传入流量中的变化。

Auto Scaling 组中的目标组用来提供运行工作负载的 EC2实例。目标组可以选择 EC2 实例类型,也可以选择负载均衡器类型。只有在目标组选择 EC2 实例类型的时候,才可以手动在Auto Scaling 组中添加 EC2 实例。

创建一个 Auto Scaling 组(其实例位于负载均衡器后面的两个可用区中),可以为 Web 应用程序具有高可用性,以及在两个公有可用区之间重新分配 Web 流量。

Amazon RDS 多可用区数据库带两个可读备用实例,通常可以在 35 秒内自动进行失效转移,不会丢失数据,无需手动干预,可以为数据库层提供高可用性。