Amazon web services 查询从AWS定价API启动实例的成本
我正在使用AWS定价API: 问题是,它有类似这样的数据Amazon web services 查询从AWS定价API启动实例的成本,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我正在使用AWS定价API: 问题是,它有类似这样的数据 "KV46EU5KJGKB53ZX" : { "sku" : "KV46EU5KJGKB53ZX", "productFamily" : "Compute Instance", "attributes" : { "servicecode" : "AmazonEC2", "location" : "US East (N. Virginia)", "locationType" : "AWS Region"
"KV46EU5KJGKB53ZX" : {
"sku" : "KV46EU5KJGKB53ZX",
"productFamily" : "Compute Instance",
"attributes" : {
"servicecode" : "AmazonEC2",
"location" : "US East (N. Virginia)",
"locationType" : "AWS Region",
我不知道如何将locationType
和location
与我用于启动EC2实例的数据关联起来(例如在us-east-1
中)
有没有办法知道启动EC2实例的成本?我建议使用大型json文档。对于sku KV46EU5KJGKB53ZX的OnDemand定价,例如:
curl -s https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonEC2/current/index.json \
| jq .terms.OnDemand.KV46EU5KJGKB53ZX
给予
我不知道价目表API提供的结构中是否存在这种交叉引用/映射数据,不幸的是,EC2 API中也没有提供这种数据
但是,它可以在一般文档下的页面上随时获得。根据这些信息,您可以构建一个简单的字典或查找表。我自己构建的。我知道它不会被更新,但是 注意:我从AWS定价用户界面中提取的列表中缺少中国
{
“AWS GovCloud(美国东部)”:“US-gov-East-1”,
“AWS GovCloud(美国西部)”:“US-gov-West-1”,
“非洲(开普敦)”:“af-south-1”,
“亚太地区(香港)”:“亚太地区1号”,
“亚太(孟买)”:“ap-south-1”,
“亚太地区(大阪本地)”:“ap-northeast-3”,
“亚太(首尔)”:“亚太东北-2”,
“亚太地区(新加坡)”:“ap-东南亚-1”,
“亚太(悉尼)”:“亚太东南-2”,
“亚太(东京)”:“亚太东北-1”,
“加拿大(中部)”:“ca-Central-1”,
“欧盟(法兰克福)”:“欧盟中央1号”,
“欧盟(爱尔兰)”:“欧盟-西部-1”,
“欧盟(伦敦)”:“欧盟-西部-2”,
“欧盟(米兰)”:“欧盟-南方-1”,
“欧盟(巴黎)”:“欧盟-西方-3”,
“欧盟(斯德哥尔摩)”:“欧盟-北-1”,
“中东(巴林)”:“me-south-1”,
“南美洲(圣保罗)”:“sa-east-1”,
“美国东部(波士顿)”:“美国东部-1-bos-1”,
“美国东部(休斯顿)”:“美国东部-1-iah-1”,
“美国东部(迈阿密)”:“美国东部-1-mia-1”,
“美国东部(北弗吉尼亚州)”:“美国东部-1”,
“美国东部(俄亥俄州)”:“美国东部-2”,
“美国东部(Verizon)-亚特兰大”:“美国东部-1-wl1-atl1”,
“美国东部(Verizon)-波士顿”:“美国东部-1-wl1”,
“美国东部(Verizon)-达拉斯”:“美国东部-1-wl1-dfw1”,
“美国东部(Verizon)-迈阿密”:“美国东部-1-wl1-mia1”,
“美国东部(Verizon)-纽约”:“美国东部-1-wl1-nyc1”,
“美国东部(Verizon)-华盛顿特区”:“US-East-1-wl1-was1”,
“美国西部(洛杉矶)”:“美国西部2-lax-1”,
“美国西部(北加利福尼亚)”:“美国西部-1”,
“美国西部(俄勒冈州)”:“美国西部2号”,
“美国西部(Verizon)-拉斯维加斯”:“美国西部-2-wl1-las1”,
“美国西部(Verizon)-旧金山湾地区”:“美国西部- 2-WL1”,
}
我认为问题在于如何从美国东部(北弗吉尼亚州)
推导出美国东部-1
“有办法知道启动EC2实例的成本吗?”。他只是在json里找错了地方。你可能是对的。我专注于“我不知道如何关联locationType
和location
”。区域和端点与名称不完全匹配。例如,你找不到“美国西部(洛杉矶)”洛杉矶是一个例外,因为它不是一个地区,而是一个连接到美国西部2地区的地区。
{
"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": {}
}
}