我刚刚开始使用AWS EC2,并不完全确定我理解它。
根据我的阅读,实例基本上是一个虚拟服务器,您应该能够以某种方式从AWS控制台以某种方式“复制”该虚拟服务器。然后使用Load Balancer或Elastic IP将请求路由到其中一个。
当我尝试“复制”我的实例时出现问题。我尝试了一百万件事,但唯一能让我接近的是创建我当前实例的AMI然后从中启动一个实例,但是当我这样做时,新实例基本上是默认的服务器配置。我的文件都没有。
我做错了什么?
答案 0 :(得分:11)
您并没有真正“复制”该实例。您将其复制为“蓝图”。然后,当您稍后启动实例时,可以将该实例基于快照或“蓝图”。
可以将ELB配置为指向您想要的任何实例,因此当您从此快照/“蓝图”启动新服务器时,它可以自动添加到ELB。
现在已经解决了,回答问题:
我会确保使用EBS支持的实例。你可以找到它们。但不支持S3。如果EBS支持,那么所有配置的确切音量都将在那里。
我会确保您的实例配置得如何,并在启动时安装了正确的脚本。您将需要启动服务,从存储库中下载配置文件等。配置文件应该在那里,但我不会依赖它。如果您将它们放在存储库中,然后创建一个启动脚本来将它们拉下来并将它们复制到您想要的位置,那么您的状态会更好。
运行并选择实例后,单击实例操作下拉列表,然后单击“创建AMI”
实例将重新启动。所以要小心。
启动新实例。并选择#3创建的AMI /快照。
完成。查看可能有助于上述内容的https://stackoverflow.com/a/8919031/667608。
哦,另外一件事,如果您附加了任何EBS卷,它们也将被复制,但是您需要在服务器启动后安装它们。
答案 1 :(得分:2)
在实例下,单击要复制的图像,然后转到实例操作(靠近顶部)并创建ami。
这会立即创建图像的快照。然后,当您需要添加更多功能时,您可以简单地启动该ami并让负载均衡器分配这些ami之间的流量。
在旁注中,除非确实需要,否则我不会建议您将数据存储在ami中,如果它发生变化,并且您打算在另一个已启动的ami上使用它。你几乎不得不继续使用ami快照来更新它与新数据,所以改为找到一种方法来维护其他地方的状态(不确定你的数据,但你可以考虑数据库,s3或这些服务器的其他服务器可以挂载以获取相同的数据。)
希望有所帮助!
答案 2 :(得分:0)
使用EBS支持的实例创建Web服务器AMI。这将作为稍后运行多个Web服务器实例的模板。
对于应用程序代码,根据您的策略和要传输的文件数量,您可以从S3或git中提取它们,也可以使用NFS等集中式文件系统。
配置ELB,向其添加一个或多个Web服务器实例。将您的ELB的公开信息发送到您的www.domain.com。