我正在使用Web& AWS EC2中的数据库实例我想让它们具有高可用性,这样如果一台服务器出现故障(主服务器),则打开另一台服务器(辅助服务器)。
我找到了很多关于RDS高可用性的信息,但没有找到非RDS的EC2实例。
感谢。
答案 0 :(得分:14)
使用EC2实现HA有几种可能性:
编辑:添加信息为什么EC2没有这样的原生功能。
与RDS相比,EC2中没有本机HA功能,因为当RDS更多PaaS时,EC2是纯粹的IaaS。因此,对于RDS,当您选择HA时,它会在场景后面实际生成另一个可用区域中的从属数据库并复制您的主服务器。每当主服务器发生故障时,您都会自动将DNS故障转移到从属数据库,该数据库是选定的主数据库,并且正在创建新的从数据库。
答案 1 :(得分:4)
您应该问的问题是 - 如何在AWS上创建应用程序HA,而不是如何制作EC2 HA。简而言之,您必须首先告诉AWS您如何定义和部署应用程序。
对于RDS,它非常清楚应用程序是什么 - 它是您选择的数据库服务器。在最基本的情况下,AWS可以使用默认设置设置RDS的HA实例,而无需您提供太多输入。
但是,对于您的应用程序,您需要向AWS提供更多详细信息。有几种方法可以做到这一点:
无论您决定哪种方式,AWS CloudFormation模板都是将所有内容组合在一起并定义堆栈的好方法。这样做的一个优点是,只要您需要对堆栈进行更改,您就可以更改CloudFormation模板,应用更改并让AWS确定依赖关系是什么,更新它们的顺序以及方式。
答案 2 :(得分:3)