我们可以镜像一个EC2实例数据到另一个? 例如,让我们考虑下面的情况:
我ELB连接两个EC2实例。
在实例A中,我创build了简单的PHP文件调用“test.php”。 现在我必须在实例B中创build一个相同的文件吗? 或者我有办法自动完成它? 你也可以告诉我这种情况如何反应在汽车衡的方法? 因为在我的testing中,当我在实例A中创build一个文件时,它在实例B中不可用。
我们可以镜像一个EC2实例数据到另一个?
您可以使用rsync软件来镜像数据。 您还可以利用Amazon S3或Amazon Elastic File System作为数据的中心位置。 你也有其他select,这只是一些例子。
在实例A中,我创build了简单的PHP文件调用“test.php”。
这听起来像是可以在Git仓库中生活的东西。
在这种情况下,您可以在本地更新您的回购(在您的开发机器上),然后将更改推送到您的编排服务器。
然后,这些更改会传播到所有应用程序服务器(或者作为一个粗略的/简单的select,您可以有一个cron,每隔15分钟在每个应用程序服务器上执行git)。
你也可以告诉我这种情况如何反应在汽车衡的方法?
自动缩放需要您更新您的AMI,并将更新的AMI注册到ELB。 每当EC2上的数据发生变化时,都必须执行此操作。 出于这个原因,自动化你的发布过程是一个好主意。
您可以使用自定义用户数据创buildA / B:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
要么,要么创build一个新的AMI。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html
Amazon EC2没有自动镜像EBS卷。 所以当你修改EBS卷A上的数据时,你需要在EBS卷B上重复它。
有一些方法可以使用networking驱动器在EC2实例之间共享数据。 在这些情况下,您有一台外部服务器托pipe您的每个EC2实例连接到的networking驱动器。 NFS是一个例子,亚马逊弹性文件系统是即将到来的替代scheme。
我也听说有些人使用rsync来同步数据。
在自动调节的情况下,您不希望直接在EC2实例上修改数据。 而是希望使用工具在EC2实例外修改数据,并将新数据部署到所有EC2实例。 这样做的一些方法包括使用CloudFormation / Elastic Beanstalk,厨师(也许?),或创build一个新的AMI图像,并重新创build您的自动扩展的EC2实例。
你期望发生什么? EC2实例是具有自己的文件系统的单独的虚拟机。
要跨多个EC2实例同步数据,您可以使用与任何其他服务器/虚拟机解决scheme相同的选项:使用应用程序创build自定义引导设备(AMI),使用复制到所有实例的部署过程,或使用某个共享文件系统NFS服务器或使用Amazon Elastic File System时)。