1. 程式人生 > >利用AWS快照和AMI特性快速開新服

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