我是从 Eric Hammond 的精彩文章开始的http://aws.amazon.com/articles/1663 他介绍了如何安装 MySQL 并配置它以使用 EBS。我做到了。
我还在该 EC2 实例上安装了很多其他东西:Rails、一堆 gem、Nginx+Passenger 等等 - 我的理解是,除非我明确配置它使用 EBS,否则所有这些都位于 EC2 实例的临时存储中 - 对吗?我如何将我安装的所有软件移动到 EBS - 或者更好的是,我如何设置以便今后我安装的任何新 gem 等也进入 EBS 卷?
答案1
首先从基于 ebs 根的实例开始。
我已将我的大部分内容转换为这些。
我确实尝试将一些现有的程序转换为 ebs,但 3 或 4 小时后,我发现我可以重新安装所有需要的二进制包,并复制我们的代码、数据等
从https://console.aws.amazon.com/ec2/home?region=us-east-1#s=LaunchInstanceWizard
(启动实例按钮),
单击默认为所有图像的“查看”下拉菜单并选择 EBS 图像。许多 Fedora、Ubuntu、Amazon-Linux 可供选择。注意:在所有这些上都显示“根设备:EBS”...
使用您的其他选择、证书、区域、架构等来启动它。
登录它,自定义它,按照您认为合适的方式修复它。
停下来。不终止
重新启动它,根目录上的所有内容都将恢复到您离开时的状态。
有一些启动脚本亚马逊或某人提供每次重新初始化 /mnt,但我只有我们基础软件的单独 EBS 备份。
这种设置对我们来说是理想的,我们不会有巨大的负载峰值,但偶尔会有需要 2 倍于我们常规主机的任务,因此我有六个“停止”的实例并且没有任何 CPU 费用(但它们确实占用了极小的 S3 存储费用)。
因此,这会为您留下永久的根内容,而不是暂时的,并且您可以根据需要停止或启动。
任何 EBS 实例,如果您急需 20 个,您都可以“像这样启动更多”。
注 2:如果您将大型 EBS 卷附加到基于 EBS 的 AMI 并选择类似的 Boot,它会复制这些附加的卷。这可能需要一段时间才能启动,并且由于所有这些奇怪的快照而产生意外的存储费用。
您可能也可以通过 cli 工具来执行此操作,但我发现控制台足够简单。