Amazon ec2 EC2亚马逊高可用性始终开启

Amazon ec2 EC2亚马逊高可用性始终开启,amazon-ec2,amazon,high-availability,Amazon Ec2,Amazon,High Availability,我正在AWS EC2中使用一个Web&DB实例,我希望使它们具有高可用性,这样,如果一台服务器出现故障(主服务器),那么另一台服务器将打开(辅助服务器) 我找到了很多关于RDS高可用性的信息,但没有找到关于不是RDS的EC2实例的信息 你能为我提供一些链接,让我很好地了解如何做吗 您能否用一些话告诉我,为了实现高可用性,我应该做什么 谢谢。使用EC2实现HA有几种可能性: 创建最小容量为1,最大容量为1的自动缩放组。因此,每当实例失败时,自动缩放组将创建一个新实例。自动缩放组是免费的,因此根据

我正在AWS EC2中使用一个Web&DB实例,我希望使它们具有高可用性,这样,如果一台服务器出现故障(主服务器),那么另一台服务器将打开(辅助服务器)

我找到了很多关于RDS高可用性的信息,但没有找到关于不是RDS的EC2实例的信息

  • 你能为我提供一些链接,让我很好地了解如何做吗
  • 您能否用一些话告诉我,为了实现高可用性,我应该做什么

  • 谢谢。

    使用EC2实现HA有几种可能性:

    • 创建最小容量为1,最大容量为1的自动缩放组。因此,每当实例失败时,自动缩放组将创建一个新实例。自动缩放组是免费的,因此根据您的SLA,这是一个不错的解决方案
    • 使用ec2功能,创建一个cloudwatch警报,如果失败,它将替换您的实例
    • 创建两个EC2实例,并使用路由53 DNS故障切换来解析为一个正常的实例

    • 最后但并非最不重要的一点:最好的解决方案肯定是跨多个可用性区域创建多个实例,并使用弹性负载平衡器来分配流量。这样,即使一个实例失败,您也可以使用其他实例。AWS推荐此解决方案,因为他们在AZ中的实例具有99.95%的SLA。通过安装几个AZ,您可以获得100%的可用性

    编辑:添加EC2没有此类本机功能的信息


    与RDS相比,EC2中没有本机HA特性,因为当RDS比PaaS更多时,EC2是纯IaaS。因此,对于RDS,当您选择HA时,它实际上会在另一个可用区域生成一个从属数据库,并复制您的主数据库。每当主数据库出现故障时,您都会自动将DNS故障转移到从数据库,该数据库被选为主数据库,并将创建一个新的从数据库。

    使用Elastic Beanstalk如何(有关正式文档,请参阅)

    从本质上讲,它使用了许多AWS服务,并使用了详细的配置

    它的主要目的是使创建多组用于运行应用程序的环境变得更容易,同时监视应用程序的运行状况和负载,并启动实例来分配负载

    但是,也可以将环境配置为单个实例(请参阅
    环境类型
    一节下的主要文档)。这意味着您可以利用运行状况监视,AWS将关注可用性

    更具体地回答您的问题: 1) AWS官方文档非常详细,应该可以帮助您开始。有几个视频资源解释基本设置


    2) 您可以将不同地区的多个EBS实例组合在一起,以使您的服务器靠近您的流量。

    您应该问的问题是-如何使我的应用程序在AWS上透明,而不是如何使EC2透明。简而言之,您必须首先告诉AWS如何定义和部署应用程序

    在RDS的情况下,应用程序是什么非常清楚——它是您选择的数据库服务器。在最基本的情况下,AWS可以使用默认设置设置RDS的HA实例,而无需您进行大量输入

    但是,对于您的应用程序,您需要向AWS提供更多详细信息。有几种方法可以做到这一点:

    • 使用不同可用性区域中的一组EC2实例创建
    • 创建一个ELB,它将引导您沿着创建和的路径前进;在这种模式下,您甚至可以告诉ASG使用ELB健康检查来确定EC2实例何时不再健康
    • 您没有提到您的应用程序是什么,但您可能希望参与其中,告诉AWS如何将最新代码部署到新开发的EC2实例;CodeDeploy与ELB和ASG协同工作
    • 不必单独定义上述组件,您可以在;这是您必须自己做出的决定-您是否希望通过自己定义单个组件来获得更大的灵活性,您是否应该简化事情并使用EB
    • 最后,如果您使用Docker,并且可以对应用程序或同一应用程序的不同组件进行Docker化,AWS支持EB

    无论您选择哪条路线,AWS模板都是将所有内容绑定在一起并定义堆栈的好方法。这样做的一个好处是,每当您需要在堆栈中进行更改时,您都会更改CloudFormation模板,应用更改,并让AWS确定依赖项是什么,更新它们的顺序以及如何进行。

    “在AZ中为其实例提供99.95%的SLA”-引用的数字(现在更新为99.99%)是针对某个区域,而不是AZ。因此,必须使用多AZ部署来获得该级别的可用性。