如何使用aws cli获取具有价格详细信息的ec2实例详细信息

时间:2017-03-03 06:56:12

标签: amazon-web-services amazon-ec2

如何使用实例价格详细信息获取ec2实例详细信息(如名称,ID,类型,区域,卷,平台,按需/保留)。

在cli中使用aws api并将其写为csv文件。

提前致谢。

3 个答案:

答案 0 :(得分:1)

我建议您ansible使用ec2-inventory来执行此操作。

Ansible将能够使用以下请求获取所有信息:

然后你可以拥有这样的平台,例如:

ansible -i ec2.py -m debug -a "var=ec2_platform"  all

你必须在yaml中创建一个脚本来获取你需要的信息并将它们写在csv文件中。

我不知道为amazon-ec2获取服务器的确切价格的任何简单方法,需要考虑很多参数,操作系统,磁盘空间,服务器类型,是否保留,等...

但是我使用我上面告诉你的内容做了很好的近似。

以下是使用ansible和ec2的动态库存的说明: http://docs.ansible.com/ansible/intro_dynamic_inventory.html

希望它有所帮助!

答案 1 :(得分:0)

如果您的目标不是自动化服务器的评估,您可以从此URL轻松获取: https://aws.amazon.com/fr/ec2/pricing/on-demand/

您需要知道: 服务器类型(例如:m3.large) 预订类型(预订或按需) 操作系统类型(linux,windows,RHEL,...) 小时覆盖(取决于您是否在夜间关闭服务器或其他...)

然后你将获得一个很好的奖品近似值。

如果您想了解更多详情,请务必查看您的网络和数据活动。这并不容易计算......

另一种方法是进入定价菜单,查看您的实际情况,了解您过去一个月的付款情况。但是如果你想估计一台新服务器的奖金,这将不会起作用。

希望它有所帮助。

答案 2 :(得分:0)

类似于我在这里的答案:get ec2 pricing programmatically?

您可以执行以下操作:

aws pricing get-products --service-code AmazonEC2 --filters "Type=TERM_MATCH,Field=instanceType,Value=m5.xlarge" "Type=TERM_MATCH,Field=location,Value=US East (N. Virginia)" --region us-east-1 | jq -rc '.PriceList[]' | jq -r '[ .product.attributes.servicecode, .product.attributes.location, .product.attributes.instancesku?, .product.attributes.instanceType, .product.attributes.usagetype, .product.attributes.operatingSystem, .product.attributes.memory, .product.attributes.physicalProcessor, .product.attributes.processorArchitecture, .product.attributes.vcpu, .product.attributes.currentGeneration, .terms.OnDemand[].priceDimensions[].unit, .terms.OnDemand[].priceDimensions[].pricePerUnit.USD, .terms.OnDemand[].priceDimensions[].description] | @csv'