如何使用自动缩放功能正确配置Web应用程序实例?

时间:2018-01-22 21:51:33

标签: amazon-web-services amazon-ec2

根据AWS建议,我希望最后一天将我的ec2实例放在一个自动缩放组中。我使用标准的Linux AMI实例创建了我的ec2实例,然后我安装了一个完整的LAMP服务器。 第二天早上我尝试访问我的apache并猜猜是什么?我的LAMP不在了!一切都被抹去了。

我想这是因为,出于某种原因,自动缩放组删除了我的实例并重新创建了它。

现在我仍想自动调整我的实例,但是,当然,我想保留我的LAMP和存储的数据。 所以这是我的问题:

  1. 如何从我的实际实例开始创建自定义图像?
  2. 使用AWS RDS创建mysql数据库是否正确,以便不将其与我的实例相关联?是否比专用EBS存储更贵或更便宜?
  3. 我还希望将/ var / www / html数据保存在实例之间的某个地方:虽然在生产时我不会更新这些文件,但我也不想丢失这些文件它们只是因为自动缩放重置了我的实例状态。每次更新所述文件时我也不想重新创建图像...最好的方法是什么?也许是s3桶?或者,实例之间是否共享EBS存储?

1 个答案:

答案 0 :(得分:2)

我认为您的“LAMP [服务器]不再存在”的原因是因为Web服务器失败health checks并被终止并被AutoScaling取代。

Elastic Beanstalk是管理这里复杂性的好方法。如果那不是一个选项,那么你应该阅读AutoScaling,ALB和健康检查。

回答您的具体问题:

  1. 您可以从实例创建亚马逊机器映像(AMI)。当您或AutoScaling从该AMI启动新实例时,您可以通过running a script in userdata
  2. 获取最新实例
  3. 将数据库从Web / app服务器移至RDS,或移至您自行管理的数据库服务器
  4. 在S3中维护html / js / css等并定期将它们同步到您的Web服务器(还有其他选项,但这很简单)