AWS 使用 AWS SDK 或 CLi 获取每个区域的 VPC 限制

AWS Get VPC per region limit using AWS SDK or CLi

我想在 AWS 中开始构建 Pod 之前向我的脚本添加验证。 验证步骤之一是检查所询问区域中的 VPC 数量和帐户上设置的最大限制。

我没有找到任何 CLI 或 SDK API 来获取它。

不过也有类似的APIs,例如获取每个VPC的最大弹性IP,我可以查询:

aws ec2 describe-account-attributes And look for "AttributeName": "default-vpc"

只要 Trusted Advisor 对服务限制类别的访问仍然免费,您就可以这样做:

CHECK_ID=$(aws --region us-east-1 support describe-trusted-advisor-checks --language en --query 'checks[?name==Service Limits].{id:id}[0].id' --output text)

aws support describe-trusted-advisor-check-result --check-id $CHECK_ID --query 'result.sort_by(flaggedResources[?status!="ok"],&metadata[2])[].metadata' --output table --region us-east-1

CHECK_ID 当前为 eW7HH0l7J9

有一项全新的服务可以满足您的需求:AWS 服务配额。 目前大部分地区可用。

您可以使用 GetServiceQuota 操作查询 VPC 服务限制。
每个区域 VPCs 的配额代码是 L-F678F1CE(ARN:arn:aws:servicequotas:<REGION>::vpc/L-F678F1CE)。
服务 Amazon Virtual Private Cloud (Amazon VPC) 的服务代码是 vpc.

您可以使用最新版本的aws cli如下:
aws service-quotas get-service-quota --service-code 'vpc' --quota-code 'L-F678F1CE'

在 Windows 命令行上: aws service-quotas get-service-quota --service-code vpc --quota-code L-F678F1CE