我的意思是:考虑一个 VMWare Windows 2003 镜像。如果我
1 - 启动此图像,然后
2 - 运行一个向文件写入内容的程序,然后
3 - 停止 VMWare 镜像,然后
4 - 然后启动VMWare镜像
该文件仍然驻留在 VMWare 镜像的硬盘上。
AMI 就是这种情况吗?或者,如果我的 AMI 停止,我将丢失任何更改?
最佳答案
AMI 是不可变的。每次您在 EC2 上启动 AMI 实例时,本地磁盘都处于您创建(或“捆绑”)AMI 时的确切状态。
也就是说,您可以将持久存储 (EBS) 附加到实例,或者将数据发送到 S3(vai s3sync 等)或附加到数据库 (RDS),以便让数据在实例生命周期结束后继续存在.
但默认情况下这些都未启用。
我相信可以编写一个在启动时执行并附加到 EBS 卷的脚本(或从 S3 提取先前生成的文件,或附加到 RDS 实例)。如果您在捆绑之前将其放入镜像中,则每次启动时它都会执行。这是我找到的食谱for creating and attaching an EBS volume on boot (我没有测试它;买者自负)。
这可能是最接近 VMWare 提供的 EC2 功能的了。
关于amazon-ec2 - Amazon 系统镜像 (AMI) 是不可变的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1631960/