Amazon ec2 将文件和服务从一个aws实例实时复制到另一个aws实例

Amazon ec2 将文件和服务从一个aws实例实时复制到另一个aws实例,amazon-ec2,backup,Amazon Ec2,Backup,我有一个aws ec2实例,名为primary。我有另一个ec2实例,名为secondary。主实例IP链接到域,并包含所有托管代码和服务。我希望能够将所有数据(文件/deamons/服务等)从主数据实时复制到辅助数据 这可以通过AWS上的一些服务来实现吗?或者,如果我必须写代码,我在看什么样的代码/linux脚本等 编辑 我希望辅助实例能够立即运行正在复制的系统。一旦检测到故障转移,我会将链接到域的IP更改为此辅助计算机 目前,系统使用数据库存储数据,但我们将把它移动到RDS实例 该系统是一台

我有一个aws ec2实例,名为primary。我有另一个ec2实例,名为secondary。主实例IP链接到域,并包含所有托管代码和服务。我希望能够将所有数据(文件/deamons/服务等)从主数据实时复制到辅助数据

这可以通过AWS上的一些服务来实现吗?或者,如果我必须写代码,我在看什么样的代码/linux脚本等

编辑

  • 我希望辅助实例能够立即运行正在复制的系统。一旦检测到故障转移,我会将链接到域的IP更改为此辅助计算机

  • 目前,系统使用数据库存储数据,但我们将把它移动到RDS实例

  • 该系统是一台linux机器


  • 我研究了负载平衡器、自动伸缩组和EFS,但它们并没有解决我的问题。我看了一下弹性豆茎,但对于我想要实现的目标来说,这似乎有些过头了。我在这里也可能是错的。非常感谢您的帮助。

    传统的高可用性设计是:

    • 存储在亚马逊RDS中的数据,最好在出现故障时配置为多AZ
    • 存储在Amazon S3中的对象
    • 应用程序至少有两个Amazon EC2实例,分布在多个可用性区域-最好通过自动缩放创建
    • 实例前面的负载平衡器
    • 解析到负载平衡器的亚马逊路由53域名

    这样,两个实例都为流量服务(如果愿意,可以使用两个较小的实例)。负载平衡器执行连续的运行状况检查。如果实例未通过运行状况检查,负载平衡器将停止向其发送流量,因此用户受到的影响最小

    如果配置了自动缩放,它可以自动替换不健康的实例。这可以通过提供一个完全配置的AMI来实现,或者通过提供一个用户数据脚本来在启动时安装和配置软件(或者两者的组合)

    执行软件更新时:

    • 更新自动缩放启动配置,该配置定义新实例应如何启动(例如不同的用户数据或AMI)
    • 告诉Auto Scaling启动一个新实例,然后终止一个旧实例-这是一个滚动更新
    • 如果无法执行滚动更新(由于代码更改),请部署第二个自动缩放组并对其进行测试。如果一切正常,请将负载平衡器指向新的自动缩放组,然后终止旧的组(几分钟后允许连接耗尽)
    这与Elastic Beanstalk提供的非常相似—它将为您创建负载平衡器和自动伸缩组,并部署代码更新

    其结果是一个高可用性、有弹性的体系结构,可以从故障中自动恢复。它还将迫使您使用代码存储库,而不是手动更新服务器,从而提高可靠性和再现性


    请参阅:

    您试图通过复制过程实现什么?它是纯粹的备份,还是您希望辅助实例能够立即运行正在复制的系统?系统是否使用数据库存储数据?如果是,它是否位于实例外部?另外,为了确认--您正在使用Linux,对吗?请随意编辑您的问题以添加更多细节。@JohnRotenstein:谢谢。我已经编辑了这个问题。除了数据库中存储的信息外,主数据库中还有哪些信息在变化?通常,服务器是在启动时配置的,除了临时文件和代码版本外,其内容不应更改。既然您有一个辅助服务器正在运行,为什么您当前不在它们之间进行负载平衡,向两个实例发送流量呢?除了数据库之外,我们几乎每两周部署一次代码。我们还存储用户上传的文件(将移动到s3存储桶)。我可以使用secondary进行负载平衡,但现在让我们假设我只想在故障转移的情况下使用secondary。要使用secondary进行负载平衡,我必须首先找到一种简单的方法使两台服务器保持同步。