如何更好的选择AWS EC2

AWS EC2实例类型解读与选择建议

注意:本篇中所使用的价格数据,均来自aws中国(https://www.amazonaws.cn/ec2/pricing/),如何读者朋友使用的是AWS全球资源,请参照aws全球的定价页面。

AWS提供了多种实例类型可供选择,同时还提供了多种方式的购买选项,不同的组合,好与坏,对应的就是成本上的多和少,如何在适用业务的前提下作出最优的选择,正是本篇重点讲述的,希望能给读者朋友带来帮助;

实例类型

AWS EC2 实例类型主要分为5类:通用型实例、计算优化型实例、内存优化型实例、存储优化型实例、加速计算型实例。下面来看看它们的特性和价格。

通用型实例

通用型实例,包括:M系列和T系列两种(AWS全球的话,还支持A系列,适合 Arm 生态系统)。

M系列可提供平衡的计算、内存和网络资源。其包括M3,M4,M5,3个类型,其中数字越大对应的CPU型号越新,同时价格反而越便宜;所有得出第一条,选择要领:1. 同等配置下,相同类型中,请选择数字大的实例类型。M5,包括m5(Intel CPU)、m5a(AMD cpu)、m5d(Intel CPU并支持NVMe SSD),举例m5提供的具体配置有,m5.large、m5.xlarge …m5.24xlarge最大是m5.24xlarge; 其CPU:内存 是 1:4 ,最小的m5.large是2核8G,m5.xlarge是4核16G,后面的计算规则是CPU核数等于 xlarge前面的数字 * 4,内存等于xlarge前面的数字 * 16,所以最大的m5.24xlarge的配置是 96核384G内存;以下举例AWS北京区域 m系列不同型号实例价格比较,如下图,m5a(AMD cpu)类型最便宜,m5a类型比m5类型便宜11%,第二条选择要领:2. 在M系列的实例里面,如果你的应用对CPU无所谓,那么建议选择m5a,因为成本比m5低11%

如何更好的选择AWS EC2

m5d对应型号自带的NVMe SSD容量及4k随机读写性能如下表:

实例型号 NVMe SSD容量G 随机读IOPS 随机写IOPS
m5d.large 75 30000 15000
m5d.xlarge 150 59,000 29,000
m5d.2xlarge 300 117,000 57,000
m5d.4xlarge 2*300 234,000 114,000
m5d.8xlarge 2*600 466666 233333
m5d.12xlarge 2*900 700,000 340,000
m5d.16xlarge 4*600 933333 466666
m5d.24xlarge 4*900 1400000 680,000

从上表的数据 ,比较m5d.2xlarge与m5.2xlarge , 相差一个300G的NVMe SSD,每小时费用差1.04元,一个月费用为748.8元(一个月按30天计算),这个每G NVMe SSD费用为2.5元/月左右。需要注意,每个型号所带的NVMe SSD容量是固定的,用户无法修改容量。

T系列也称为可突增性能实例,它提供基准水平的 CPU 性能,并且能够在您的工作负载需要时突增到更高的性能;其包括T2,T3 ,2个类型,还是一样,数字越大对应的CPU型号越新,同时价格反而越便宜;所以买的时候就直接选数字大的买;T3 ,包括t3(Intel CPU),t3a(AMD CPU),相同的配置的情况下,t3a类型要比t3类型便宜11%;可突增性能实例,下面有必要解释一下它和其他类型的差别,在可突增性能实例中,你所购买的实例,它的CPU性能,并不是100%能让你用到的,你所能使用的性能是各类型中定义的基准性能。如下表举例t3类型(t3a与t3基准性能一致)

实例型号 vCPU 每个vCPU的基准性能
t3.nano 2 5%
t3.micro 2 10%
t3.small 2 20%
t3.medium 2 20%
t3.large 2 30%
t3.xlarge 4 40%
t3.2xlarge 8 40%

如果你的实例CPU负载超过了基准性能,此时就会使用cpu积分,每个积分允许你一个vCPU利用率达到100%,运行一分钟;那么积分哪里来呢?首先每个配置的实例,默认会有一个积分,然后每小时也会获得一定积分,当然每个配置的实例积分也是有上限的,详见下面的表格

实例型号 vCPU 内存 每小时获得的CPU积分 可累计的最大积分数
t3.nano 2 0.5 6 144
t3.micro 2 1 12 288
t3.small 2 2 24 576
t3.medium 2 4 24 576
t3.large 2 8 36 864
t3.xlarge 4 16 96 2304
t3.2xlarge 8 32 192 4608

通过上表的信息看,一台t3.large的机器,每小时获得的积分,可以支持它2个vCPU负载跑到100%,18分钟;或者50%负载36分钟;累计满积分的情况,可以支持vCPU负载100%,558分钟【864/2积满能用的时间+(864/2)*36/2每小时获得积分所能用的时间】,换言之,如果你的业务,CPU负载平时都在30%以下,每小时突发压力到100%的情况不到18分钟,或者每24小时周期内,有8小时左右负载会到100%,其余时间都低于30%负载,那么t3.large是你不错的选择;因为T系列价格是最便宜的;具体有多便宜,一起继续往下看。

计算优化型实例

计算优化型实例,针对计算密集型工作负载进行了优化,并按计算比率以较低的价格提供经济高效的高性能。命名为C系列,aws中国目前包括C4、C5、C5d 3个类型可以申请。C4类型比C5类型较早,如果有在使用C4类型的实例,可以考虑关机,更换实例类型,C5类型较C4类型,性能更好,价格更便宜;C5d类型支持NVMe SSD;C5类型的CPU:内存为1:2,c5.xlarge型号配置为4核8G,后面的计算规则是CPU核数等于xlarge前面的数字 * 4,内存容量等于xlarge前的数字 * 8,最大支持的c5.18xlarge 配置为72核144G内存;C5型号与配置如下表(C5与C5d类型的配置相同)

实例型号 vCPU 内存(G) 网络性能
c5.large 2 4 高达10Gb
c5.xlarge 4 8 高达10Gb
c5.2xlarge 8 16 高达10Gb
c5.4xlarge 16 32 高达10Gb
c5.9xlarge 36 72 10Gb
c5.18large 72 144 25Gb

c5d型号支持的NVMe SSD容量及4k随机读写性能如下表:

实例型号 NVMe SSD容量(G) 随机读IOPS 随机写IOPS
c5d.large 50 20000 9000
c5d.xlarge 100 40000 18000
c5d.2xlarge 200 80000 37000
c5d.4xlarge 400 175000 70000
c5d.9xlarge 900 350000 170000
c5d.18xlarge 2*900 700000 340000

以上这些数据均来自官方数据,读者朋友在选择时,可进行实际测试;从官方标注的性能数据来说,IOPS还是相当不错的,每Gb NVMe SSD, 随机读IOPS约400,写IOPS约180;同样需要注意,每个型号所带的NVMe SSD容量是固定的,用户无法修改容量;比较一下c5和c5d相同型号在aws北京区域的按需实例价格进行比较,如下图:

如何更好的选择AWS EC2

如上图所示,c5d – c5 的差价就是上表对应容量NVMe SSD的小时费用,比如c5d.4xlarge , 400G NVMe SSD一个月的费用就是(7.284-5.915) * 24 * 30 = 985.68元 折合每Gb NVMe SSD 2.4元/月左右。在实际采购时,请按需购买;

内存优化型实例

内存优化型实例,提供了较高的CPU内存比的实例,aws中国区提供了R系列和X系列,2个系列的机型可供选择。X系列只有x1一种类型实例,它针对大规模企业级内存中应用程序进行了优化,具体有x1.16xlarge和x1.32xlarge两个型号,分别配置了976G和1952G内存,如果对于内存要求极高的应用,可以考虑此类型实例;R系列包括R4,R5两个类型,R5较新,推荐购买较新的类型;R5类型中包含r5(Intel CPU)、r5d(Intel CPU带NVMe SSD、r5a(AMD cpu) 3个子类,r5a比r5,相同型号,价格便宜10%左右,它们的CPU与内存的比例是1:8,举例:r5.xlarge 的配置是4核32G,其余型号CPU核数计算规则是xlarge前面的数字 * 4,内存计算规则是 xlarge前面的数字 * 32;具型号与配置如下表

实例型号 vCPU 内存 网络性能
r5.large 2 16 高达10Gb
r5.xlarge 4 32 高达10Gb
r5.2xlarge 8 64 高达10Gb
r5.4xlarge 16 128 高达10Gb
r5.8xlarge 32 256 高达10Gb
r5.12xlarge 48 384 10Gb
r5.16xlarge 64 512 12Gb
r5.24xlarge 96 768 20Gb

由上表可见,R5类型内存,最大支持768G,网络全部都是10Gb或者10Gb+. r5d类型,提供了带NVMe SSD 磁盘,详细型号与NVMe SSD硬盘容量及4k随机读写的性能见下表

实例型号 NVMe SSD容量 随机读IOPS 随机写IOPS
r5d.large 75 30000 15000
r5d.xlarge 150 59,000 29000
r5d.2xlarge 300 117,000 57,000
r5d.4xlarge 2*300 234,000 114,000
r5d.8xlarge 2*600 466666 233333
r5d.12xlarge 2*900 700,000 340,000
r5d.16xlarge 4*600 933333 466666
r5d.24xlarge 4*900 1400000 680,000

最大NVMe SSD容量支持3.6T,最高随机读IOPS可达140万,最高随机写IOPS可达68万;价格上比较r5.2xlarge与r5.2xlarge ,300G NVMe SSD,每小时费用为1.04元,月成本749.5元(每月按30天计算),每G每月的 成本月为2.5元;每GB NVMe SSD的随机读性能400,随机写性能200

存储优化型实例

存储优化型实例适用于需要对本地存储上的极大型数据集进行高性能顺序读写访问的工作负载,它们经过了优化,可以向应用程序提供每秒上万次低延迟性随机 I/O 操作 (IOPS)。在 AWS中国区,提供了D和I 两个系列可供选择;D系列,旨在提供大容量的HDD本地存储, I 系列,旨在提供大容量的NVMe SSD;两个系列的CPU内存比约为1:8 ; I系列最新为I3, 选择的时候优选选择最新的型号;D系统提供的型号与配置,如下表:

实例型号 vCPU 内存 实例存储GB 网络性能
d2.xlarge 4 30.5 3*2048 中等
d2.2xlarge 8 61 6*2048
d2.4xlarge 16 122 12*2048
d2.8xlarge 36 244 24*2048 10G

D系列最高支持48T的本地存储;d2.xlarge相比r5.xlarge 来说cpu内存配置基本相同,多了12T HDD硬盘,价格每小时贵4.23元,每月贵3049.92,每月每G HDD的成本为0.254元

I系列提供的型号与配置及性能,如下表:

实例型号 vCPU 内存 实例存储GB 网络性能 随机读IOPS 随机写IOPS
i3.large 2 15.25 475 高达 10Gb 100,125 35000
i3.xlarge 4 30.5 950 高达 10Gb 206,250 70,000
i3.2xlarge 8 61 1900 高达 10Gb 412,500 180,000
i3.4xlarge 16 122 2*1900 高达 10Gb 825,000 360,000
i3.8xlarge 32 244 4*1900 10Gb 1650000 720000
i3.16xlarge 64 488 8*1900 25Gb 330000 1400000

I系列最高支持14T的本地SSD存储,i3.xlarge 相比r5.xlarge 来说cpu内存配置基本相同,多了950G SSD,价格上每小时贵了0.685元,每月贵493.2元,折合每月每G SSD成本为0.52元,每GB SSD硬盘的随机读IOPS为217,随机写IOPS为73;本地SSD盘对比本地NVMe SSD,可以得出以下结论:

  • 本地SSD比本地NVMe SSD每GB每月成本低约2元左右;

  • 本地SSD比本地NVMe SSD每GB性能,读IOPS低约2/3, 写IOPS低约一半;

综上,得出要领:3.如果你的业务对磁盘随机写IOPS压力每G小于70时,也就是,475G 读IOPS小于10万,写IOPS小于3.5万,推荐选择I系列实例

计算加速型实例

加速计算实例系列使用硬件加速器或协处理器来执行一些功能,如浮点数计算、图形处理或数据模式匹配,比在 CPU 上运行的软件更有效,也就是常说的GPU实例。aws中国支持P和G两个系列 ,对应的是NVIDIA® V100 Tensor Core GPU和 NVIDIA Tesla M60 GPU,P系列适合超算、机器学习 ,G系列适合图形渲染、视频编码等场景 。下表为支持的型号与配置:

实例型号 GPU vCPU 内存 网络性能
p3.2xlarge 1 8 61 高达 10Gb
p3.8xlarge 4 32 244 10Gb
p3.16xlarge 8 64 488 25Gb
g3s.xlarge 1 4 30.5 高达 10Gb
g3.4xlarge 1 16 122 高达 10Gb
g3.8xlarge 2 32 244 10Gb
g3.16xlarge 4 64 488 25Gb

p3.8xlarge与g3.8xlarge,vcpu和内存相同,价格上p3.8xlarge 每小时144.314,g3.8xlarge 每小时32.409,p3.8xlarge比g3.8xlarge 贵3倍多,gpu只比g3.8xlarge多2个,单从性价比来说,G系列要便宜;

实例综合评定

上面将各种实例类型都进行了介绍和说明,每个类型都有适用的场景(废话),下面来进行汇总和比较(重点)。

不同类型的实例CPU内存比,如下表:

实例类型 系列 CPU :内存
通用实例 T、M large型号 1:4
计算优化型 C 1:2
内存优化型 R 1:8
存储优化型 D、I 约等于 1:8
加速计算型 P、G 约等于 1:8

从上述表格可以得出以下结论:

  • CPU:内存 = 1:8 的实例类型最多

  • 常用的2核4G,4核8G配置,只有C系列可以提供

不同的类型与型号的配置,如下表 (对于相同的类型,下表只列最新系列,【】中为每小时按需的费用「元」)

类型 nano micro Small medium
T3 2C0.5G【0.0329】 2C1G【0.0657】 2C2G【0.1314】 2C4G【0.2629】
T3a 2C0.5G【0.0296】 2C1G【0.0591】 2C2G【0.1183】 2C4G【0.2366】
类型 large xlarge 2xlarge 4xlarge
T3 2C8G【0.5258】 4C16G【1.0515】 8C32G【2.1031】 /
T3a 2C8G【0.4732】 4C16G【0.9464】 8C32G【1.8928】 /
M5 2C8G【1.013】 4C16G【2.026】 8C32G【4.053】 16C64G【8.106】
M5a 2C8G【0.911】 4C16G【1.821】 8C32G【3.642】 16C64G【7.284】
M5d 2C8G + 1*75NVMe SSD【1.273】 4C16G + 1*150NVMe SSD【2.547】 8C32G + 1*300 NVMe SSD【5.093】 16C64G + 2*300 NVMe SSD【10.187】
C5 2C4G【0.739】 4C8G【1.479】 8C16G【2.957】 16C32G【5.915】
C5d 2C4G + 50 NVMe SSD【0.911】 4C8G + 100 NVMe SSD【1.821】 8C16G + 200 NVMe SSD【3.642】 16C32G + 400 NVME SSD【7.284】
P2 / 4C61G + 1GPU【10.611】 / /
P3 / / 8C61G +1GPU【36.078】 /
G3s / 4C30.5G + 1GPU【11.282】 / /
G3 / / / 16C122G + 1GPU【16.2045】
R5 2C16G【1.219】 4C32G【2.437】 8C64G【4.874】 16C128G【9.749】
R5a 2C16G【1.097】 4C32G【2.193】 8C64G【4.387】 16C128G【8.774】
R5d 2C16G + 75 NVMe SSD【1.479】 4C32G + 150 NVMe SSD【2.957】 8C64G + 300 NVMe SSD【5.915】 16C128G + 2*300 NNVMe SSD【11.83】
I3 2C15.25G + 475 NVMe SSD【1.561】 4C30.5G + 950 NVMe SSD【3.122】 8C61G + 1900 NVMe SSD【6.244】 16C122G + 2*1900 NVMe SSD【12.487】
D2 / 4C30.5G + 3*2000 HDD【6.673】 8C61G + 6*2000 HDD【13.345】 16C122G + 12*2000 HDD【26.69】
类型 8xlarge 9xlarge 12xlarge 16xlarge
M5 32C128G【16.211】 / 48C192G【24.317】 64C256G【32.423】
M5a 32C128G【14.568】 / 48C192G【21.852】 64C256G【29.137】
M5d 32C128G + 2*600 NVMe SSD【20.374】 / 48C192G + 2*900 NVMe SSD【30.561】 64C256G + 4*600 NVMe SSD【40.747】
C5 / 36C72G【13.309】 / /
C5d / 36C72G + 900NVMe SSD【16.389】 / /
P2 32C488G+8GPU【84.89】 / / 64C768G + 16GPU【169.781】
P3 32C244G + 4GPU【144.314】 / / 64C488G + 8GPU【288.627】
G3 32C244G + 2GPU【32.409】 / / 64C488G【64.8179】
X1 / / / 64C976G + 1920 SSD【68.876】
R5 32C256G【19.497】 / 48C384G【29.246】 64C512G【38.995】
R5a 32C256G【17.548】 / 48C384G【26.322】 64C512G【35.095】
R5d 32C256G + 2*600 NVMe SSD【23.66】 / 48C384G + 2*900 NVMe SSD【35.49】 64C512G + 4*600 NVMe SSD【47.32】
I3 32C244G + 4*1900 NVMe SSD【24.974】 / / 64C488G + 8*1900 NVMe SSD【49.948】
D2 32C244G + 24*2000 HDD【53.38】 / / /
类型 18xlarge 24xlarge 32xlarge
M5 / 96C384G【48.634】 /
M5a 96C384G【43.705】
M5d 96C384G + 4*900NVMe SSD【61.121】
C5 72C144G【26.617】 / /
C5d 72C144G 2*900 NNVMe SSD【32.779】 / /
X1 / 128C1952G + 2*1920 SSD【137.752】
R5 / 96C768G【58.492】 /
R5a / 96C768G【52.643】 /
R5d / 96C768G + 4*900 NVMe SSD【70.979】 /

从上述表格可以得到以下结论:

  • 开发测试使用,建议使用T系列实例,因为价格最便宜,t3.medium 2核4G,按需189元/月

  • M3与T3系列的cpu内存比相同,如果再业务CPU负载不高的情况下,推进使用T3系列,具体的cpu突增积分规则,请看上面通用实例类型中的介绍。

  • 对于有NVMe SSD需求的业务,且容量要求比较大的场景下,推荐使用I3类型,I3类型比M5d性价比高。

  • 如果应用非必须使用intel CPU的情况下,可以使用对应类型AMD CPU的实例,价格优惠10%左右 。

  • 以上列举的价格是北京区域的,如果使用宁夏区域的EC2资源,价格优惠20%左右。

  • 常用的4核8G C5.xlarge, 按需的费用是1065元/月,4核16G T3.xlarge ,按需的费用757元/月,T3.xlarge 内存多一倍,价格反而便宜29%,所以对CPU压力不大的应用,强力推荐T系列。