如何将我的 EC2 实例上安装的所有软件移动到 EBS?

如何将我的 EC2 实例上安装的所有软件移动到 EBS?

我是从 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

(启动实例按钮),

  1. 单击默认为所有图像的“查看”下拉菜单并选择 EBS 图像。许多 Fedora、Ubuntu、Amazon-Linux 可供选择。注意:在所有这些上都显示“根设备:EBS”...

  2. 使用您的其他选择、证书、区域、架构等来启动它。

  3. 登录它,自定义它,按照您认为合适的方式修复它。

  4. 停下来。不终止

  5. 重新启动它,根目录上的所有内容都将恢复到您离开时的状态。

有一些启动脚本亚马逊或某人提供每次重新初始化 /mnt,但我只有我们基础软件的单独 EBS 备份。

这种设置对我们来说是理想的,我们不会有巨大的负载峰值,但偶尔会有需要 2 倍于我们常规主机的任务,因此我有六个“停止”的实例并且没有任何 CPU 费用(但它们确实占用了极小的 S3 存储费用)。

因此,这会为您留下永久的根内容,而不是暂时的,并且您可以根据需要停止或启动。

任何 EBS 实例,如果您急需 20 个,您都可以“像这样启动更多”。

注 2:如果您将大型 EBS 卷附加到基于 EBS 的 AMI 并选择类似的 Boot,它会复制这些附加的卷。这可能需要一段时间才能启动,并且由于所有这些奇怪的快照而产生意外的存储费用。

您可能也可以通过 cli 工具来执行此操作,但我发现控制台足够简单。

相关内容