顯示具有 aws 標籤的文章。 顯示所有文章
顯示具有 aws 標籤的文章。 顯示所有文章

2020-05-18

那些年我們走過的 AWS 的坑 - Volume, Snapshot, AMI, Image 有何不同?

AWS 是我見過唯一一個把簡單的事情搞得複雜化,但是股價卻是老高在上,下不來。通常把簡單事情搞複雜化會因學習曲線太高不易使用,最後公司倒閉。而亞馬遜卻不然,可見 AWS 有它不為人知的某方面優點。


Volume:儲存媒體,就俗稱它硬碟啦。
Snapshot:映像快照。
AMI(Image):亞馬遜機器映像檔(Amazon Machine Images),內容為 硬碟映像檔+機器描述資料(OS,主機裝置規格)。


[產生 EC2 的方法]
1. 從 ec2 界面 lanuch
   即從標準 ec2 package 清單,經一系列設定啟用 ec2
2. 利用 AMI 啟動
  2-1. 若沒 AMI 可從 Snapshot 或正在 run 的 EC2 產生 AMI
       Snapshot --create image--> Image
       EC2 Instance --create image--> Image
  2-2. 若也沒 Snapshot 可從 Volume 產生
       亦即 Volume ==可產生==>> Snapshot ==可產生==>> Image(AMI) ==launch==> EC2
       Volume 要輸入一些機械描述資料。

[產生 AMI(Image) 方法不同的差異]
方法1. Snapshot --create--> Image
方法2. EC2 Instance --create--> Image
兩者填的資料不一樣,Snapshot 沒主機資料,故需填 Architecture、Virtualization type、RAM disk ID、Root device name、Kernel ID。為什麼需要這些資料?Snapshot(volume)不是有OS Image 了嗎?猜測是因為 AWS 系統的關係,在 launch 時需配合它原先的主機指令集(x86_64,arm..)、Kernel Image ID 以配合開機,若選錯,例如 window 選 redhat 可能開不了機?arm 選 i386 不能跑?未測!




[ moreover Lanuch EC2 from AMI pools ]
當你從標準 ec2 package list lanuch ec2 後,可以在 EC2 詳細看到 AMI。若你刪除 AMI 的 snapshot, AMI,這時 EC2 詳細的 AMI 即永久消失,即使你後來再從 EC2 create Image(AMI),此 AMI 非原 AMI,故依舊不會顯示。




AWS EC2 一般用執行個體類型比較



[ 計點計費現象 ]
t2.large => 41.98 USD/月 0.058 USD/h   470 USD/預付一年
t2.medium => 20.95 USD/月  0.029 USD/h  235 USD/預付一年
t2.small => 10.51 USD/月   0.014 USD/h   118 USD/預付一年

在同為 t2 下,cpu計點積分,large型 = medium型 + samll型 = 16(積分/小時)

如果我們有一台 small +一台 medium,是否合適換成只要一台 Large?
vCPU比較:  large (2vCPU) < medium(2vCPU) + small(1vCPU)  少一顆
Memory比較: large (memory8GB) > medium(4GB) + small(2GB)  多 2GB 記憶體
所以在 cpu 不那麼強烈要求下, 與其將系統分為雙層 web server(meidum) + database(small),不如合在同一台 large。

測試環境 web server cpu 常態負載在 5%~10%, database server 在 1%~4% ,使用 Large,將系統 合在同一台,少一顆vcpu反而表現較佳


[ 同條件下比對 t2, t3, t3a ]
t2.large => 41.98 USD/月 0.058 USD/h   470 USD/預付一年
t3.large => 38.11 USD 0.052 USD  426 USD/預付一年
t3a.large => 34.38 USD 0.047 USD  385 USD/預付一年
結論為:貴賤順序為 t2(貴) > t3 > t3a(便宜)
t2 使用 Intel CPU(3GHZ) 且有穩定cpu算力;t3 使用 Intel CPU(2.5GHZ) 但為 lazy cpu burst模式;t3a 同 t3 但使用 AMD CPU(2.5GHZ),
只要是 cpu 負責不高的情況下 t3a 為較優選擇;反之則結果相反。


[同樣執行個體下,不同地區]
同樣執行個體下,不同地區以美國為最便宜,而亞洲便宜至貴依序:
首爾 每小時 0.0065 USD (便宜)
新加坡 每小時 0.0066 USD
東京 每小時 0.0068 USD
香港 每小時 0.0073 USD