16

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

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

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

我究竟做错了什么?

4

3 回答 3

13

您并没有真正“复制”该实例。您更多地将其复制为“蓝图”。然后,当您稍后启动实例时,您可以将该实例基于您的快照或“蓝图”。

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

说清楚了,来回答这个问题:

  1. 我会确保使用 EBS 支持的实例。你可以到处找到它们。但不支持 S3。如果他们支持 EBS,那么包含所有配置的确切卷将在那里。

  2. 我会确保您的实例按照您喜欢的方式进行配置,并在启动时安装适当的脚本。您将希望启动您的服务,从存储库中提取配置文件等。配置文件应该在那里,但我不会依赖它。如果您将它们放在存储库中,然后制作一个启动脚本将它们拉下来并将它们复制到您想要的位置,那么您的状态会好得多。

  3. 运行并选择实例后,单击实例操作下拉菜单,然后单击“创建 AMI”

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

  5. 启动一个新实例。并选择#3 创建的 AMI/快照。

  6. 完毕。检查此https://stackoverflow.com/a/8919031/667608可以帮助解决上述问题。

哦,另一件事,如果您附加了任何 EBS 卷,它们也会被复制,但您需要在服务器启动后挂载它们。

于 2012-02-15T20:14:11.103 回答
2

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

这会创建您的图像的快照,就像现在一样。然后,当您需要增加更多功率时,您可以简单地启动该 ami 并让负载均衡器在这些 ami 之间分配流量。

附带说明,除非确实需要,否则我不建议您将数据存储在 ami 上,如果它发生变化并且您计划在另一个启动的 ami 上使用它。您几乎必须继续拍摄 ami 快照以使用新数据对其进行更新,因此请想办法在其他地方维护状态(不确定您的数据,但您可以考虑使用数据库、s3 或这些服务器的其他服务器可以挂载获取相同的数据)。

希望有帮助!

于 2012-02-15T16:40:44.890 回答
0

使用 EBS 支持的实例创建网络服务器 AMI。这将作为您稍后运行多个 Web 服务器实例的模板。

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

配置 ELB,向其添加一个或多个 Web 服务器实例。将您的 ELB 的公共 dns 命名为您的 www.domain.com。

于 2012-02-16T11:00:18.190 回答