查询从 AWS 定价 API 启动实例的成本



我正在使用 AWS 定价 API:

http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html

问题是它有这样的数据

"KV46EU5KJGKB53ZX" : {
  "sku" : "KV46EU5KJGKB53ZX",
  "productFamily" : "Compute Instance",
  "attributes" : {
    "servicecode" : "AmazonEC2",
    "location" : "US East (N. Virginia)",
    "locationType" : "AWS Region",

我不知道如何将locationTypelocation与我用于启动 EC2 实例的数据相关联(例如在 us-east-1 中)。

有没有办法知道启动 EC2 实例的成本?

我不知道

价目表 API 提供的结构中存在这种交叉引用/映射数据,不幸的是,EC2 API 中的 DescribeRegions 也没有提供这些数据。

但是,在常规文档下的"区域和终端节点"页面上,很容易找到它。 根据该信息,您可以构建一个简单的字典或查找表。

我建议jq处理大型json文档。例如,对于 SKU KV46EU5KJGKB53ZX的按需定价:

curl -s https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/index.json 
 | jq .terms.OnDemand.KV46EU5KJGKB53ZX

{
  "KV46EU5KJGKB53ZX.JRTCKXETXF": {
    "offerTermCode": "JRTCKXETXF",
    "sku": "KV46EU5KJGKB53ZX",
    "effectiveDate": "2016-12-01T00:00:00Z",
    "priceDimensions": {
      "KV46EU5KJGKB53ZX.JRTCKXETXF.6YS6EN2CT7": {
        "rateCode": "KV46EU5KJGKB53ZX.JRTCKXETXF.6YS6EN2CT7",
        "description": "$0.156 per Dedicated RHEL m1.medium Instance Hour",
        "beginRange": "0",
        "endRange": "Inf",
        "unit": "Hrs",
        "pricePerUnit": {
          "USD": "0.1560000000"
        },
        "appliesTo": []
      }
    },
    "termAttributes": {}
  }
}
<</div> div class="one_answers">

只是自己构建的。我知道它不会更新,但是...

注意:我从 AWS 定价用户界面中提取的此列表中缺少中国

{
    "AWS GovCloud (US-East)": "us-gov-east-1",
    "AWS GovCloud (US-West)": "us-gov-west-1",
    "Africa (Cape Town)": "af-south-1",
    "Asia Pacific (Hong Kong)": "ap-east-1",
    "Asia Pacific (Mumbai)": "ap-south-1",
    "Asia Pacific (Osaka-Local)": "ap-northeast-3",
    "Asia Pacific (Seoul)": "ap-northeast-2",
    "Asia Pacific (Singapore)": "ap-southeast-1",
    "Asia Pacific (Sydney)": "ap-southeast-2",
    "Asia Pacific (Tokyo)": "ap-northeast-1",
    "Canada (Central)": "ca-central-1",
    "EU (Frankfurt)": "eu-central-1",
    "EU (Ireland)": "eu-west-1",
    "EU (London)": "eu-west-2",
    "EU (Milan)": "eu-south-1",
    "EU (Paris)": "eu-west-3",
    "EU (Stockholm)": "eu-north-1",
    "Middle East (Bahrain)": "me-south-1",
    "South America (Sao Paulo)": "sa-east-1",
    "US East (Boston)": "us-east-1-bos-1",
    "US East (Houston)": "us-east-1-iah-1",
    "US East (Miami)": "us-east-1-mia-1",
    "US East (N. Virginia)": "us-east-1",
    "US East (Ohio)": "us-east-2",
    "US East (Verizon) - Atlanta": "us-east-1-wl1-atl1",
    "US East (Verizon) - Boston": "us-east-1-wl1",
    "US East (Verizon) - Dallas": "us-east-1-wl1-dfw1",
    "US East (Verizon) - Miami": "us-east-1-wl1-mia1",
    "US East (Verizon) - New York": "us-east-1-wl1-nyc1",
    "US East (Verizon) - Washington DC": "us-east-1-wl1-was1",
    "US West (Los Angeles)": "us-west-2-lax-1",
    "US West (N. California)": "us-west-1",
    "US West (Oregon)": "us-west-2",
    "US West (Verizon) - Las Vegas": "us-west-2-wl1-las1",
    "US West (Verizon) - San Francisco Bay Area": "us-west-2-wl1",
}

最新更新