作者SMUGEN (S‧无限)
看板Cloud
标题[新手] aws ec2跨区复制AMI,ebs心得笔记
时间Wed Mar 28 00:05:40 2012
https://plus.google.com/108897501558498892692/posts/NtsZddNHtyK
aws ec2 在不同的 region 间复制 ebs volume, AMI
情境:
很多不错的 AMI 只有在 us-east-1 (aws 的 default region) 才有,可是我人在台湾,
us-east-1 延迟比较长,ssh 用起来不太爽,所以我想用 ap-northeast-1 (Tokyo),虽
然比较贵XD
步骤:
1. 在来源 region 开一个 instance,这里用 spot instance 比较便宜
(其实用 on-demand micro 反而有免费额度,我之後才想到的...orz),
AMI 用想要复制的 AMI。
2. 把 1 开起来的 ebs volume 做 snapshot 後,1 就可以关掉 (terminate) 了。
3. 同 1,但用 Basic Amazon Linux AMI,等 instance 开起来後,
用 2 的 snapshot 做一个新的 ebs volume,挂上去这个 instance (假设是 /dev/sdf)
。
4. ssh 进去 (key pair 和 security group 不赘述,
我用 putty 软体包,包含 PuTTYgen 来转换 key、PSCP 当 Windows 下的 scp),
$ dd if=/dev/sdf | gzip -cv > image.gz
然後...等......
5. 可以备份到自己的电脑里面,
C:\Users\MUGEN> pscp -i private_key ec2-user@source_instance:image.gz.
6. 在目标 region 开一个 instance,同 1,
接下来同 3,但开一个新的空白的 ebs volume,大小需大於等於来源
7. 把连线到目标 instance 用的 private key 传到来源 instance
C:\Users\MUGEN> pscp -i private_key private_key ec2-user@source_instance:
8. 从来源 instance 把映像档传给目标 instance,
$ scp -i private_key image.gz ec2-user@target_instance:
9. 在目标 instance,
$ gzip -cd image.gz | dd of=/dev/sdf
然後...等......
10. 好了之後来源和目标 instance 就可以关掉了,
把弄好的目标 ebs volume 做 snapshot,之後就可以做成 AMI,
记得设定要尽量跟最早的 AMI 相同,尤其是 Kernel,不然会开不起来,
因为不同 region 的 kernel id 是不同的,也没有注解说明哪个 id 是哪家的 kernel,
所以我就选 Basic Amazon Linux AMI 用的 kernel 试试看,结果是可以跑,
这个部份我也不太会,误打误撞总之能用就是了
超级新手的一点心得分享,请多多指教讨论 <(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.136.24.29
1F:→ SMUGEN:边试边记所以写得很乱 如果看不懂可以问我 我再补充... 03/28 00:06
2F:推 allimontti:这个推 06/15 16:33