利用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即可。

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