在 AWS 中获取已使用的 AWS 预留实例?

Getting already utilized AWS Reserved Instances in AWS?

我目前运行以下查询

aws ec2 describe-reserved-instances    \
  --filters "Name=state,Values=active" \
  --query "ReservedInstances[].{InstanceType:InstanceType,ProductDescription:ProductDescription,InstanceCount:InstanceCount}"

为了得到类似下面的东西:

{
    "ProductDescription": "Linux/UNIX (Amazon VPC)",
    "InstanceType": "m3.medium",
    "InstanceCount": 44
}

我也希望获得已使用的实例,但没有找到一种合理的方法来执行此操作我想要一份显示以下信息的报告。

{
    "ProductDescription": "Linux/UNIX (Amazon VPC)",
    "InstanceType": "m3.medium",
    "InstanceCount": 44,
    "InstancesUsed": 44,
    "UtilizationPercentage": "100%"
}

我将如何获得使用的实例以及利用率?

注意

为了获得我可以可变转换的百分比,然后使用以下...

Percentage() { echo "$((200*/ % 2 + 100*/))%" ; }

Percentage 44 44 //100%

嗯,AWS 不是这样工作的。预留实例在 EC2 级别上不是 "utilized" 或 "not utilized"。魔法发生在计费中。当亚马逊向您收费时,它会将 运行 的实例与预留的实例进行匹配。这意味着您无法使用 aws ec2 获取该信息。你唯一能做的就是自己尝试计算保留实例覆盖了哪些运行个实例。