Amazon web services 我需要帮助复制Amazon AWS EC2实例

Amazon web services 我需要帮助复制Amazon AWS EC2实例,amazon-web-services,amazon-ec2,amazon-ami,Amazon Web Services,Amazon Ec2,Amazon Ami,我刚刚开始使用AWS EC2,并不完全确定我是否理解它 从我读到的内容来看,实例基本上是一个虚拟服务器,您应该能够以某种方式从AWS控制台“复制”该虚拟服务器。然后使用负载平衡器或弹性IP将请求路由到其中一个 当我试图“复制”我的实例时,问题就出现了。我尝试了无数次,但唯一让我接近的是为我的当前实例创建一个AMI,然后从中启动一个实例,但当我这样做时,新实例基本上是默认的服务器配置。我的档案都不在那里 我做错了什么?在“实例”下,单击要复制的图像,然后转到“实例操作”(靠近顶部)并创建ami 这

我刚刚开始使用AWS EC2,并不完全确定我是否理解它

从我读到的内容来看,实例基本上是一个虚拟服务器,您应该能够以某种方式从AWS控制台“复制”该虚拟服务器。然后使用负载平衡器或弹性IP将请求路由到其中一个

当我试图“复制”我的实例时,问题就出现了。我尝试了无数次,但唯一让我接近的是为我的当前实例创建一个AMI,然后从中启动一个实例,但当我这样做时,新实例基本上是默认的服务器配置。我的档案都不在那里


我做错了什么?

在“实例”下,单击要复制的图像,然后转到“实例操作”(靠近顶部)并创建ami

这将创建图像的快照,就像现在一样。然后,当您需要添加更多电源时,您可以简单地启动该ami,并让负载平衡器分配这些ami之间的通信量

另一方面,除非真的需要,否则我不建议您将数据存储在ami上,如果它正在更改,并且您计划在另一个已启动的ami上使用它。您将不得不继续使用AMI快照来更新新数据,因此,要想办法保持其他地方的状态(不确定您的数据,但您可以考虑数据库、S3或这些服务器可以安装以获得相同数据的另一个服务器)。 希望有帮助

您并不真正“复制”该实例。你更多地把它复制成“蓝图”。然后,当您稍后启动实例时,您可以根据快照或“蓝图”创建该实例

ELB可以配置为指向您想要的任何实例,因此当您从快照/“蓝图”启动新服务器时,它可以自动添加到ELB

现在问题已经澄清,请回答以下问题:

  • 我会确保使用EBS支持的实例。你到处都能找到。但并非如此。如果他们支持EBS,则包含所有配置的确切卷将在那里

  • 我会确保您的实例是按照您喜欢的方式配置的,并且在启动时安装了适当的脚本。您需要启动服务,从存储库中提取配置文件,等等。配置文件应该在那里,但我不会依赖于此。如果您将它们放在存储库中,然后制作一个启动脚本,将它们拉下来并复制到您想要的地方,您的状态会更好

  • 在实例运行并选中后,单击实例操作下拉列表并单击“创建AMI”

  • 实例将重新启动。所以要小心

  • 启动一个新实例。然后选择#3创建的AMI/快照

  • 完成了。检查此项可以帮助完成上述操作


  • 哦,还有一件事,如果您连接了任何EBS卷,它们也将被复制,但您需要在服务器启动后装载它们。

    使用EBS备份的实例创建一个webserver AMI。这将作为以后运行多个web服务器实例的模板

    对于应用程序代码,根据您的策略和要传输的文件量,您可以从S3或git或使用集中的文件系统(如NFS)提取它们


    配置ELB,向其添加一个或多个web服务器实例。CNAME您的ELB的公共dns到您的www.domain.com。

    您将希望成为AMI一部分的文件存储在哪里?在实例本身或EBS卷上?谢谢!因此,您的建议是将我的代码(我使用Amazon的“单EC2实例web服务器与Amazon RDS数据库实例”模板开始)存储在S3上,然后以某种方式将其装载到AMI上?我该怎么做呢?对不起,第一次使用AWS,它让人非常困惑。是的,我就是这么做的。有很多方法可以做到这一点,如果你用谷歌S3Access(在这里插入你的编程语言),你会找到相应的工具。如果您不喜欢,您可以使用其他工具自动与s3同步(在您的程序之外)。就我个人而言,我不是在使用s3,而是在每次应用启动时都使用github来提取新代码。这真的很让人困惑,我建议你从微实例开始(虽然很慢但很便宜)并进行实验。请记住,如果您把任何事情搞砸了,您始终可以终止实例并重新启动。如果您在生产中使用该实例,等等。现在Amazon可以选择不重新启动,但它不能保证卷不会损坏。只有当您知道在重新启动时没有太多进程写入磁盘时,我才会使用此选项。在重新启动时,磁盘上运行的任何程序都将失效