gpt4 book ai didi

amazon-web-services - AWS EC2 CLI -> 如何获取可用实例的列表

转载 作者:行者123 更新时间:2023-12-03 00:37:14 24 4
gpt4 key购买 nike

各位教授,大家好。我对 aws cli 框架有点陌生。我需要通过控制台获取的是指定区域中可用实例的列表,且该类型的数量有限。

例如,命令应如下所示:

aws ec2 describe-available-instances --region us-west-1 --type [t1.micro, c3.4xlarge, etc. If not set - list all types] 

输出将如下所示:

<小时/>

t1.micro 5

c3.4xlarge 10

m4.4x 20

<小时/>

最佳答案

您可以使用 AWS CLI 和 JQ 以 JSON 形式实现此输出。 .

一步一步:

1) 调用describe-instances 命令。这将检索有关 EC2 实例的各种元数据,包括实例类型。我们最终将把输出过滤为仅实例类型。

aws ec2 describe-instances

2) 通过 --filter 参数指定实例类型过滤器。如果未指定,此查询将显示计数 > 0 的所有实例类型。这将不包括 0 计数类型,因为输出源自您的 EC2 实例集合。

--filters "Name=instance-type,Values=t2.micro,t2.small"

3) 通过 --region 参数指定区域。如果未指定,AWS CLI 将尝试使用您的默认区域。

--region us-east-1 

4) 指定您的查询。输出键/值对数组,其中 Key =“InstanceType”,Value = InstanceType。

--query "Reservations[].Instances[].{InstanceType:InstanceType}"

5)使用jq按实例类型分组,以便聚合类似的实例类型。

| jq "group_by(.InstanceType)

6) 映射最终的键/值对数组,其中 key = InstanceType 且 value = jq length,或者换句话说,每组实例类型的总和。

| map({(.[0].InstanceType):length})

完整示例:

aws ec2 describe-instances --region us-east-1 --filters "Name=instance-type,Values=t2.micro,t2.small" --query "Reservations[].Instances[].{InstanceType:InstanceType}" | jq "group_by(.InstanceType) | map({(.[0].InstanceType):length})"

输出:

[
{
"t2.micro": 12
},
{
"t2.small": 2
}
]
<小时/>

附加说明

如果您尝试检索 Amazon GameLift 每个实例类型限制,请使用describe-ec2-instance-limits:

aws gamelift describe-ec2-instance-limits --query 'EC2InstanceLimits[].{EC2InstanceType:EC2InstanceType,InstanceLimit:InstanceLimit}' --region us-east-1 --output text

进一步阅读

关于amazon-web-services - AWS EC2 CLI -> 如何获取可用实例的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44275206/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com