1

全部,

我设计了一个具有 HA 的应用程序,它将部署在 AWS 的单个区域中的多个 AZ 上。我注意到(即使在购买了预留实例之后),AWS 也无法保证当主 (AZ1) 出现故障时,EC2 可以在第二可用区启动。

这不太可能,因为 AWS 将有足够的容量预置以允许其客户在 AZ1 停止服务时使用 AZ2,但这是可能的(如果所有客户从 AZ1 移动到 AZ2 并且 AWS 数据中心 AZ2 中存在真正的资源限制) )。

唯一的选择似乎是在第二个可用区(即使没有使用)运行 EC2(或保持它),目的是在 AZ1 出现故障时使用它。

这意味着我们将承担在 AZ2 中始终保持这些 EC2 运行的成本。

想知道其他人是否有这个问题?并克服这一点?

4

1 回答 1

0
  1. 如果您正在从事一个新建项目(新启动且没有遗留代码),请考虑使用无服务器架构。它不仅使我们能够获得本机 HA、多可用区和可扩展性,而且与 EC2 的服务器化设计相比,它还促进了按使用量付费的模式,在 EC2 的设计中,即使虚拟机在低流量时间处于空闲状态,我们也必须为虚拟机付费.
  2. 考虑使用自动扩展组,因为它会自动管理实例在区域的不同可用区中的分布,要在这些实例之间分配 HTTP 流量,您将不得不引入应用程序负载均衡器和目标组的组合。
于 2022-02-02T12:23:44.807 回答