利用AWS快照和AMI特性快速开新服

如果在亚马逊平台上有一组服,想快速再开一组一模一样架构的,还包括RDS,而且RDS不用重新建库,EC2实例也不用停机,怎么最快最省事?

步骤简述:
(1)将线上服EC2实例注册成AMI
(2)基于该AMI创建实例,可同时创建多个
(3)给线上RDS做snapshot
(4)restore该快照到新RDS实例

详细介绍:
(1)选中EC2实例,右键,选择Create Image (EBS AMI)
此操作会将当前实例整个打包注册成系统镜像AMI

(2)填写AMI基本信息以及确认
注意:勾选No Reboot可以在不重启线上服的情况下将线上服制作成AMI
此处原实例的两块硬盘都被做成AMI,只有Root device的 /dev/sda是必须的,EBS device的/dev/sdb可以删除不包含到AMI镜像中去,如果/dev/sdb只是用来存储数据,所有游戏程序都部署在sda上,那就可以不要sdb以节省制作AMI的时间和清除无用数据的时间。
然后点击 Yes,Create。
image002

(3)等待AMI创建完毕,时间较长,取决于你的磁盘大小
在左侧栏AMI列表里能看到正在制作的AMI, 等状态从pending变成available之后就制作完成

(4)基于该AMI创建EC2实例
选中AMI右键,Launch Instance就可以以刚才创建好的AMI做模板创建新的EC2实例

(5)然后按照提示完成创建实例的过程即可
注意:此过程中AMI中包含的两块磁盘都默认添加了,此处后悔不想要sdb现在依然可以删除,此处还可以添加额外的EBS磁盘,还能设置EBS磁盘卷的IOPS(从100~3000),当然,越高IOPS越贵哦。
等实例状态从initializing,等变成2/2 checks就可以ssh连上去了,注意检查安全组。

(6)然后给新服的EC2实例分配公网IP
如果你创建实例的时候没有空闲EIP或者有空闲EIP但是没勾选Auto Assign Public IP的话,你需要手动分配外网IP给你的EC2实例。方法如下:
<1> 在EC2主页面的侧栏的NETWORK & SECURITY中选中Elastic IPs
<2> 点击Allocate New Address 然后选择VPC,因为之前创建实例的时候选择的是放进VPC。因此这次也要选择VPC,否则实例和IP没法Associate。
(Classic EC2 instance是没有放进VPC中的EC2实例,它会有一个唯一的Public DNS,可以当做IP来直接ssh远程链接,但是需要注意的是你关机之后再开机,这个Public DNS就变化了,所以不要把域名解析到这类Public DNS上)

(7)选中未被利用的IP(没有被使用的IP后面的相关实例是空白的),然后点击Associate,然后从实例列表中选中新服即可将IP与实例关联。另外,如果实例有多个网卡,也可以选择特定的NIC来关联EIP。至此,EC2复制完毕。

(8)然选中RDS实,右键,然后选择Take DB Snapshot。
这个过程可能需要很长时间,取决于你的RDS大小。创建好之后,在左侧栏选中 DB Snapshots,在DB Snapshot中可以看到自己创建的快照。

(9)基于该RDS快照,创建RDS实例
选中新创建的RDS快照,然后点击上面的 Restore From DB Snapshot
然后填写RDS实例数量、新RDS实例名称、配置大小、Multi-AZ等等、点击Launch DB Instance之后就开始。

至此,一组或多组新服搭建完毕,剩下的就是简单的替换配置文件中的IP即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章