使用ec2-instance-selector在AWSCLI下查询符合要求的配置

本文更新于2023年6月,在Global区域测试通过

一、背景

在需要查询多种EC2配置组合的时候,可使用AWSCLI下的工具ec2-instance-selector如何快速查询EC2规格?使用ec2-instance-selector小工具。

官网:https://github.com/aws/amazon-ec2-instance-selector

二、MacOS/Linux安装

注:本工具不支持Windows。

在MacOS下安装:

brew tap aws/tap
brew install ec2-instance-selector

在Linux/MacOS下通过下载脚本手工安装:

curl -Lo ec2-instance-selector https://github.com/aws/amazon-ec2-instance-selector/releases/download/v2.4.1/ec2-instance-selector-`uname | tr '[:upper:]' '[:lower:]'`-amd64 && chmod +x ec2-instance-selector

注意国内可能无法直接访问brew和github,必要情况下请科学上网。

安装完毕后,还需要事先配置好AWSCLI必要的Access Key和Secret Key。

三、使用方法

1、普通应用服务器场景

查询Intel处理器且能提供8vCPU/32GB内存的实例规格。执行如下命令:

ec2-instance-selector --cpu-architecture x86_64 --vcpus 8 --memory 32

返回结果如下:

g4dn.2xlarge
m4.2xlarge
m5.2xlarge
m5a.2xlarge
m5ad.2xlarge
m5d.2xlarge
m5dn.2xlarge
m5n.2xlarge
m5zn.2xlarge
m6a.2xlarge
m6i.2xlarge
m6idn.2xlarge
m6in.2xlarge
t2.2xlarge
t3.2xlarge
t3a.2xlarge

2、ARM架构应用服务器场景

查询ARM架构处理器能提供4vCPU的机型。执行如下命令:

ec2-instance-selector --cpu-architecture x86_64 --vcpus 4 --memory 32

返回结果如下:

a1.xlarge
c6g.xlarge
c6gd.xlarge
c6gn.xlarge
c7g.xlarge
g5g.xlarge
im4gn.xlarge
is4gen.xlarge
m6g.xlarge
m6gd.xlarge
r6g.xlarge
r6gd.xlarge
t4g.xlarge

3、特殊网络吞吐能力场景

查询内存不低于64GB且能提供100Gbps网络的机型。执行如下命令:

ec2-instance-selector --memory-min 64 --network-performance-min 100 --max-results 50

返回结果如下:

c5n.18xlarge
c5n.metal
c6gn.16xlarge
c6in.16xlarge
c6in.24xlarge
c6in.32xlarge
c6in.metal
g4dn.metal
hpc6a.48xlarge
i3en.24xlarge
i3en.metal
im4gn.16xlarge
inf1.24xlarge
m5dn.24xlarge
m5dn.metal
m5n.24xlarge
m5n.metal
m5zn.12xlarge
m5zn.metal
m6idn.16xlarge
m6idn.24xlarge
m6idn.32xlarge
m6idn.metal
m6in.16xlarge
m6in.24xlarge
m6in.32xlarge
m6in.metal
r5dn.24xlarge
r5dn.metal
r5n.24xlarge
r5n.metal
r6idn.16xlarge
r6idn.24xlarge
r6idn.32xlarge
r6idn.metal
r6in.16xlarge
r6in.24xlarge
r6in.32xlarge
r6in.metal
u-12tb1.112xlarge
u-6tb1.112xlarge
u-6tb1.56xlarge
u-9tb1.112xlarge
x2idn.32xlarge
x2idn.metal
x2iedn.32xlarge
x2iedn.metal

4、查询SAP HANA场景大内存场景

查询Intel处理器且提供512GB以上内存的机型。执行如下命令:

ec2-instance-selector --cpu-architecture x86_64 --memory-min 512 --max-results 100

返回结果如下:

i3.metal
i3en.24xlarge
i3en.metal
i4i.16xlarge
i4i.32xlarge
i4i.metal
m6a.32xlarge
m6a.48xlarge
m6a.metal
m6i.32xlarge
m6i.metal
m6idn.32xlarge
m6idn.metal
m6in.32xlarge
m6in.metal
p2.16xlarge
r5.16xlarge
r5.24xlarge
r5.metal
r5a.16xlarge
r5a.24xlarge
r5ad.16xlarge
r5ad.24xlarge
r5b.16xlarge
r5b.24xlarge
r5b.metal
r5d.16xlarge
r5d.24xlarge
r5d.metal
r5dn.16xlarge
r5dn.24xlarge
r5dn.metal
r5n.16xlarge
r5n.24xlarge
r5n.metal
r6i.16xlarge
r6i.24xlarge
r6i.32xlarge
r6i.metal
r6id.16xlarge
r6id.24xlarge
r6id.32xlarge
r6id.metal
r6idn.16xlarge
r6idn.24xlarge
r6idn.32xlarge
r6idn.metal
r6in.16xlarge
r6in.24xlarge
r6in.32xlarge
r6in.metal
u-12tb1.112xlarge
u-3tb1.56xlarge
u-6tb1.112xlarge
u-6tb1.56xlarge
u-9tb1.112xlarge
x1.16xlarge
x1.32xlarge
x1e.16xlarge
x1e.32xlarge
x1e.8xlarge
x2idn.16xlarge
x2idn.24xlarge
x2idn.32xlarge
x2idn.metal
x2iedn.16xlarge
x2iedn.24xlarge
x2iedn.32xlarge
x2iedn.4xlarge
x2iedn.8xlarge
x2iedn.metal

5、机器学习场景查询GPU显存

查询GPU单卡现存8GB以上的信号。执行如下命令:

ec2-instance-selector --gpu-memory-total-min 16 --gpus-max 1

返回结果:

g4dn.16xlarge
g4dn.2xlarge
g4dn.4xlarge
g4dn.8xlarge
g4dn.xlarge
g5g.2xlarge
g5g.4xlarge
g5g.8xlarge
g5g.xlarge
p3.2xlarge

全文完。