重新启动我的EC2实例会清空我的www / html文件夹

时间:2017-03-16 08:23:29

标签: amazon-ec2 elastic-beanstalk autoscaling

我创建了一个带有Elastic Beanstalk的环境,其中包含安装了PHP的EC2实例:我的文件位于/ var / www / html。

首先我允许Auto-Scaling / Load balancer但是当触发自动缩放时,它创建了另一个实例并终止了旧实例。然后我意识到,新的不是旧版本的克隆:我丢失了所有配置和文件,而我在EB配置中附加了SSD根卷。

我再次尝试,我创建了一个AMI图像,我将其包含在我的EB配置中(在自定义AMI ID中)。这次我的配置仍然存在但我的文件夹/ var / www / html被清空并被默认的index.html文件替换。

1。它应该发生吗?我以为自动缩放创建了实例的克隆?

所以我决定禁用自动缩放/负载均衡器并处理单实例模式。但是,即使我重新启动EC2实例,配置仍然保留,但我的整个文件夹/ var / www / html再次清空,只有默认文件在里面。

2。为什么?我的实例附有一个EBS卷(EB自动完成),所以如果我理解它是如何工作的话,它不会发生。

对两者来说可能是同一个问题,但我真的不明白我的文件被删除的原因。

非常感谢你的帮助! 罗曼

1 个答案:

答案 0 :(得分:1)

Autoscaling使用AMI来启动新实例,而AMI只不过是某个时间点EC2实例的快照。因此,每次Autoscaling启动新实例时,在接收新流量之前,必须在启动时应用AMI和当前所需状态之间的任何差异。

ElasticBeanstalk提供了用于管理集成到Autoscaling动态中的应用程序部署以及管理实例配置的工具。有时这些配置变得过于复杂,无法在使用EB工具的引导期间实现,并且有时候自定义AMI会很方便。

如果您通过SSH连接到自动调节实例并开始手动执行ElasticBeanstalk工具堆栈范围内的操作,则除非您从实例中保存更新的AMI并应用它,否则所有这些更改都将在下一个Autoscaling事件中丢失到您的Autoscaling Group。