【问题标题】:Show all running instances by month按月显示所有正在运行的实例
【发布时间】:2018-12-29 02:36:43
【问题描述】:

想知道是否可以按月显示所有正在运行的实例。

我知道以下命令可以列出所有区域的所有正在运行的实例,但我不确定如何按月过滤: aws ec2 describe-instances --query 'Reservations[].Instances[].[InstanceId]' --filters Name=instance-state-name,Values=running --output text

我查看了此页面上 --filters 下的选项: https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html

似乎没有任何内容允许我根据过去一个月进行过滤。

我还查看了 JMESPath,它具有已内置到 AWS CLI 中的其他 jquery 选项,但找不到按月过滤的内容。

没有创建一个作业来运行上述 aws cli 以在每个月的 1 日运行并输出到 S3 存储桶,还有其他方法可以获取过去几个月的这些数据吗?

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    有一个不同的选项来解决这个问题。它更复杂,但它会帮助您稍后获得您正在寻找的任何类型的查询。给你:

    • 从您的 AWS 控制台中的“账户账单”部分启用详细账单报告
    • 确保正确配置它,以便 AWS 可以将您的账单信息导出到您指定的 S3 存储桶。
    • 现在通过编写一个每天执行此操作的 lambda 函数将此计费信息载入 AWS Redshift DB
    • 下载 AWS Redshift 客户端并开始查询您的账单数据,以随时获取任何 EC2 实例的实际开启/关闭时间
    • 计费数据为您提供帐户中的任何实例在一天中的工作小时数,以便您了解哪个实例处于打开或关闭状态以及工作了多少小时

    如果您希望我进一步解释此过程,请告诉我

    【讨论】:

    • 谢谢艾哈迈德。我认为这可能无法通过 AWS CLI 解决。只是想要确认。我很欣赏这个解决方案。
    【解决方案2】:

    如果您是 septaz 的用户,您可以使用 Septaz 仪表板监控 ec2 实例成本并了解一个月内启动和终止的所有实例的详细信息。

    https://www.septaz.com

    我们使用 septaz 通过现场实例运行生产工作负载,并将成本降低了 80%。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多