AWS EC2 的新 Instances type – T3 以及跟 T2 的比較

AWS EC2 今天新推出的 Instance type – T3:Introducing Amazon EC2 T3 Instances, New T3 Instances – Burstable, Cost-Effective Performance,宣稱因為採用了最新的 Xeon CPU 以及新的 AWS Nitro System 透過專門的硬體協助虛擬化,和 T2 相比有 30% 的效能提昇:

T3 instances also feature the latest 2.5 GHz Intel Xeon Scalable processors which combined with the AWS Nitro System result in up to a 30% better price to performance improvement over T2 instances

實際上開了一台 T3 的機器來看,看到的 CPU 是和先前 M5 instance 相同、去年才推出而且是 AWS 才有的 Intel(R) Xeon(R) Platinum 8175M ,也因為 Nitro System 的 Network & EBS bursting,網路透過 ENA (Amazon Elastic Network Adaptor) 頻寬可以拉到 5Gbps,EBS 則是 1.5 / 2.05 Gbps:

T3 instances are powered by the Nitro system. In addition to CPU bursting, they support network and EBS bursting, giving you access to additional throughput when you need it. Network traffic can burst to 5 Gbps for all instance sizes; EBS bursting ranges from 1.5 Gbps to 2.05 Gbps depending on the size of the instance, with corresponding bursts for EBS IOPS.

新的 instance type 一如往常會比同系列上一代的 instance (T2) 來的更經濟實惠,這邊做個比較,大致分成價格跟硬體規格來看:

價格的部份和 T2 相比,on-demand 及 reserved instance (RI) 大約都有 10% 左右的降幅,拿 us-east-1 的 nano Linux 來看,每小時的價格最低為 $0.0052 USD 、標準的一年及三年期 RI 為 $27 / $51 (USD),同 region 的 T2 instance 則分別是 $0.0058 / $29 / $57 (USD),

規格的部份,除了一開始提到的 Xeon CPU 及 AWS Nitro System 之外,T3 instance 的 vCPU 數量最少從 2 開始起跳,同時把 medium 以下的機器每小時給的 CPU credits 翻倍,比較小台的 nano、micro、small  特別受惠 (vCPU & CPU credits per hour 都翻倍),再來 medium & large 這兩種規格帳上就沒有變化,而 xlarge、2xlarge 的 baseline performance 拉到了大概也是兩倍左右,CPU credits per hour 則是分別多了 77% & 135% 也就是快要兩倍及兩倍多的 credits ,還算有誠意

做個表格比較容易比較:

要注意的是 T2 instance 在預設情況下 CPU credits 吃完了就會遇到效能慘兮兮的問題(降回 baseline performance),所以在去年(2017)年底官方推出了 T2 Unlimited 來解決這個問題 (T2 Unlimited – Going Beyond the Burst with High Performance),對於一些偶發、短暫的 CPU credits 不足算是有解,不夠用就是加錢而已,只要大部分時候都夠用都還划算,這個部份在 T2 開機器時有需求就手動把 Unlimited 選項開起來就可以了,到了 T3 instance 則是預設就會開啟 Unlimited 的選項,不需要的話要再手動關掉,這部份要怎麼做就因人/用途而異了,怕出現預期外的花費可以考慮事先關掉,實際測試起來 T2 轉到 T3 的話不會自動開到 unlimited 的設定,開新的機器才會

Enable/Disable T2 Unlimited:

現有的 T2 機器可以直接進 Console 將 instance type 改為 T3 享有更低的價格以及更好的效能 (有買 RI 的話就自行斟酌了),不過因為現有的 T2 機器轉 T3 因為這個動作必須關機(stop) ,先前的 CPU credits 會被清掉,剛開起來要花時間養一下 credits,然後稍嫌麻煩的是 T3 instance 一定要有 Elastic Network Adapter (ENA) 支援,這部份系統上要有 ENA 驅動程式、 instance(或 AMI) 要啟動對應的設定,現有的機器可能都要手動處理,可以參考:Enabling Enhanced Networking with the Elastic Network Adapter (ENA) on Linux Instances / on Windows Instances ,沒處理完是不給開機的:

原則上確認有對應的 ENA 驅動程式後 (Linux 的機器可以透過 modinfo ena 來看),即可透過 AWS CLI 將 ENA support 打開 (這個步驟不支援在 EC2 management console 做):

aws ec2 modify-instance-attribute --instance-id i-0a000001234567890 --ena-support

當然也可以先 “檢查” 對應的設定有沒有開,再決定要不要做打開這個動作,懶得分兩步做的話就直接做 “打開” 的動作吧,根據 2017 年 9 月的這篇 Announcing improved networking performance for Amazon EC2 instances 可以看到當時的 Amazon Linux, Ubuntu 14.04 / 16.04, RHEL 7.4, SLES 12, Windows Server 2008R2, 2012, 2012R2, 2016 其實就都已經包有 ENA 的驅動程式了,實際測試起來手上 Ubuntu 14.04 / 16.04 的機器確實都有驅動了,Ubuntu 如果是直接使用 linux-aws kernel 的話應該是不必擔心驅動程式的問題。

除了在效能和價格(當然還有一些規格上) 的不一樣之外,在 CPU credits 也有些變化,像是:

  1. T2 的機器如果開 Standard (不是 Unlimited 的那個) ,在機器剛啟動的時候會有所謂的 launch credits ,讓機器剛開機的那段時間可以避免掉一些因為 CPU credits 不夠導致效能卡住的問題,T2 Unlimited 的機器就沒有這個好康可以用,但到了 T3 系列則是通通都沒有 launch credits 了
  2. T2 系列在機器關機 (Stop) 之後 CPU credits 會直接清空,對於平時 credit 都滿著沒在用但可能會需要偶爾關機做調整的使用者來說是個滿吃虧的動作,到了 T3 的機器這些 credits 在關機後可以持續保存七天,只要在七天內把機器開回來就不會有任何損失,是個相當不錯的改變

順帶一提機器 T2 轉 T3 的經驗,是如果 instance 上面有額外掛 EBS 的話,要小心是用路徑、UUID 還是 LABEL 去掛載的,如果是路徑的話,因為是使用 NVMe 的方式來掛載到主機上,命名會從原先的 /dev/xvda1 改為 /dev/nvme0n1p1 格式,可以的話還是用 UUID 或 LABEL 比較保險。其他像是 C5, C5d, i3.metal, M5, M5d, R5, R5d, z1d 也會有同樣的狀況,詳情可參考:Amazon EBS and NVMe

目前 T3 已經開了包含新加坡、東京、美東、美西等十二個區,不過鄰近的首爾還沒開

The T3 instances are available in the US East (Ohio), US East (N. Virginia), US West (N. California), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), South America (São Paulo), Asia Pacific (Tokyo), Asia Pacific (Singapore), and Asia Pacific (Sydney) Regions.

結論就是這玩意兒很棒,可以開始玩了

References:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。