首页 > 解决方案 > 将现有应用程序扩展到多个数据中心

问题描述

目前,我们已在 AWS 区域/数据中心之一运行我们的应用程序。我们可以遵循任何策略或原则将我们的应用程序扩展到另一个数据中心吗?

我们如何快速将相同或最少的一组服务/AWS 堆栈快速引入另一个区域?是否需要考虑任何取舍?

现有 DC 中的当前 AWS 资源:EC2、S3、Dynamodb、RDS、VPC、安全组、ELB、Lambda、API G/W

标签: amazon-web-servicesmigrationcloud

解决方案


您列出的所有服务(Amazon EC2 除外)自动跨区域内的多个可用区运行。这意味着,如果 AZ 发生故障,这些服务不会受到影响。

可用区是区域内物理上独立的数据中心。它足够远并且具有不同的网络,因此一个 AZ 中的故障不应影响另一个 AZ。跨多个 AZ 运行服务应该足以实现高可用性,而不是跨多个区域运行。

但是,每个 Amazon EC2 实例仅驻留在一个 AZ 中,因为它是在单个主机上运行的虚拟机。为了使您的应用程序具有高可用性,您应该:

  • 至少两个 AZ运行 EC2
  • 配置弹性负载均衡器以在所有这些实例之间分配流量

这样,如果一个 AZ 发生故障并且该 AZ 中的 EC2 实例不可用,该应用程序将继续在其他 AZ 中运行。

如果您在启动数据库时选择“多可用区”, Amazon RDS 会提供多可用区功能。这将在一个 AZ 中运行主数据库,在另一个 AZ 中运行辅助数据库。如果主 AZ 发生故障,辅助数据库将接管。数据会自动复制到辅助数据库,因此不会丢失任何数据。(此功能需额外收费。)

网上有很多关于这个主题的信息。只需搜索“aws 多个可用区”。


推荐阅读