我正在使用 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",
我不知道如何将locationType
和location
与我用于启动 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",
}