【问题标题】:Is there any way to fetch UsageType and capacityStatus of a Instance. For now just for an Ec2?有什么方法可以获取实例的 UsageType 和 capacityStatus。现在只是为了一个 Ec2?
【发布时间】:2019-10-25 22:49:56
【问题描述】:

为了获取实例的价格,AWS 提供了 AWS 定价 API。但是我们需要使用过滤来获取实例的确切价格。

我使用了Instance-type、tenancy、availability-zone等参数来过滤价格。

我需要知道,有什么方法可以获取实例的 UsageType 和 capacity-Status 以便我可以过滤以获得更准确的结果。 我不想为这些类型硬编码值。我希望从 AWS API 获得的每个值(意味着来自我账户中的 AWS 实例)。

到处找,找不到这个具体信息。

UsageType 是 Cost Explorer 中的一个过滤器选项。 AWS 定价文件 csv/Json 也将包含这些参数。

  1. 容量-状态
  2. 使用类型

我需要从实例中获取 UsageType 和 capacity-Status 的值,以便与定价文件中的参数进行映射。

【问题讨论】:

    标签: java amazon-web-services amazon-ec2 aws-sdk


    【解决方案1】:

    您似乎在询问如何从现有资源中检索 AWS 定价 API 属性

    没有可以提供此信息的 API 调用,但您可以构建它。

    例如,为了发现 Amazon EC2 实例上UsageType 的可用值,我使用了AWS CLI get-attribute-values command

    aws pricing get-attribute-values \
        --service-code AmazonEC2 \
        --attribute-name usagetype \
        --max-items 2 \
        --region us-east-1
    

    返回:

    {
        "AttributeValues": [
            {
                "Value": "APE1-BoxUsage:c5.18xlarge"
            },
            {
                "Value": "APE1-BoxUsage:c5.2xlarge"
            }
        ],
        "NextToken": "..."
    }
    

    (请求最多要求 2 个值。)

    APE1 部分指的是the region

    BoxUsage部分指的是成本是按需、保留等。示例值为BoxUsageReservationDedicatedResUnusedBox。它们列在On-Demand Capacity Reservations - AWS Billing and Cost Management 上。如果您的实例是普通的按需实例,请使用BoxUsage(我认为)。

    capacityStatus 值似乎也与保留实例有关。

    运行这个命令:

    aws pricing get-attribute-values \
        --service-code AmazonEC2 \
        --attribute-name capacitystatus \
        --region us-east-1
    

    返回:

    {
        "AttributeValues": [
            {
                "Value": "AllocatedCapacityReservation"
            },
            {
                "Value": "AllocatedHost"
            },
            {
                "Value": "NA"
            },
            {
                "Value": "UnusedCapacityReservation"
            },
            {
                "Value": "Used"
            }
        ]
    }
    

    我假设按需实例将使用 NA,但您应该检查实际结果。

    底线:您可以使用get-attribute-values 检索可能的属性值,但您必须弄清楚哪些属性值映射到您正在运行的实例。没有从正在运行的实例中检索适当值的方法。它们只是计费属性,与正在运行的实例没有直接关联。 (它们是分开计算的。)

    【讨论】:

      猜你喜欢
      • 2015-06-12
      • 1970-01-01
      • 1970-01-01
      • 2016-12-05
      • 2018-04-13
      • 1970-01-01
      • 2020-01-30
      • 1970-01-01
      • 2018-11-01
      相关资源
      最近更新 更多