我在美国东部(弗吉尼亚)地区使用以下 Amazon EC2 资源:
- 1 个正在运行的实例
- 1 个弹性 IP
- 2 个 EBS 卷
- 100 个 EBS 快照
- 1 个密钥对
- 2 个安全组
- 5 我自己的 AMI(根据我的应用程序堆栈定制)
我的实例基于 Linux 发行版 (CentOS),我的 AMI 由 S3 支持。两个 EBS 卷都安装在这个正在运行的实例上。
我们计划将部署迁移到美国西部地区。由于 Amazon EC2 资源不跨区域共享,因此我的问题是:
- 我需要提前考虑哪些因素?
- 将每个 EC2 资源从一个区域迁移到另一个区域,有哪些推荐的方法和不同的方法?
- 迁移期间和/或迁移后是否存在任何隐藏的风险?
非常感谢专家对此的想法/建议/推荐。
答案1
我们在三个地区运行 AMI。关键点在于,地区完全地分离,因此您必须将所有内容移动到其他区域(通过 S3)并重新创建您的安全组等。
对于迁移本身来说,Elastifox 有很大帮助:http://aws.amazon.com/developertools/609
它比 Web 界面更强大,并有助于移动 AMI。
我们遇到的潜在问题:
移动 AMI(复制)可能需要几个小时!因此请为此预留足够的时间。
有时我们在注册 AMI 时会遇到问题,或者 AMI 已损坏。我不太清楚是什么原因导致这些问题,但我们总能解决它们(最糟糕的情况是,我们不得不再次复制 AMI - 我是否提到过要计划足够的时间 ;)
答案2
我们使用自己的Python 包 django-fabfile(基于 boto 和 Fabric)用于将数十个生产 Ubuntu 实例复制到备份区域。快照每天在备份区域中更新。如果实例需要在备份区域中恢复可以创建并启动新的 AMI片刻之后。