随着我的 Windows EC2 实例的运行,它每周启动和停止多次,因此它会不断演变。这些更改会保存到其 EBS 卷中,因此状态在重启后保持不变。
现在,我会定期将(已演化的)EC2 实例备份到新的 AMI(这会创建新的快照)或者将 EC2 的卷/磁盘备份到新的快照。
无论哪种方式(我不关心),我的 Windows EC2 备份都以快照结束。
问题:如何将这些快照还原到可用的 AMI 或实例中?我尝试了两种方法:
方法 1)快照 -> 图像
在 AWS 管理 Web 控制台中,当我右键单击备份快照并选择“创建映像”时,它似乎重新创建了一个 AMI,但该 AMI 被标记为“Linux”,虚拟化是“半虚拟化”(分别代替 Windows 和 HVM)。因此,机器永远不会启动(“获取系统日志”空白)
方法 2)快照 -> EBS 卷
我在这里
- 从快照创建 EBS 卷
- 从旧 AMI 启动新实例
- 关闭新启动的实例(因此它显示为“已停止”)
- 分离并删除我在上面的 #2 中启动实例时创建的 AWS (根)卷
- 将上面 #1 中创建的卷附加为根卷 (/dev/sda1)。是的,我知道 /dev/sda1 是 Linux 术语,但我怀疑 Windows 操作系统是在基于 Linux 的 Xen 虚拟机管理程序中虚拟化的。
- 启动在#3中停止的EC2实例,这次附加最新的卷(即模拟从备份恢复)。
- 机器从未启动(空白的“获取系统日志”,也不能 RDP):(
我想知道我是否在这里遗漏了什么......
答案1
好吧,答案恰好是方法 2本身。它确实可以工作,但我不得不等待 30 多分钟才能启动机器。我从来没有看到启动日志,但是或许Windows 会在启动时安排磁盘检查,这需要一段时间吗?我不知道。我只是等了一会儿,吃了午饭,然后试了一下,机器就启动了 :)!
仍然不知道为什么方法 1 失败。
答案2
从快照创建 AMI 仅适用于 Windows。