【问题标题】:Optimizing AWS spending without having access to account billing info在无需访问账户账单信息的情况下优化 AWS 支出
【发布时间】:2019-07-24 23:36:24
【问题描述】:

我想知道是否可以在不访问账户账单信息的情况下评估和优化 AWS 支出(特别是 EC2 支出)?

长话短说,由于公司政策,我们无法查看帐户计费仪表板/指标。 (这样的权限将允许我们查看其他敏感的计费指标)。

但是,我可以获得 AWS 账单的月度快照,其中包含每项服务的明细。

我知道我们的 EC2 支出非常高。但是,如果无法深入研究这些数据以获取更多见解,我该如何优化?我有一些关于我们大部分支出来自哪里(EMR/spark 计算节点)的理论,但除非我能衡量它,否则我无法确定。

有没有办法让我获得 EC2 的计算小时使用情况,而无需通过计费仪表板/API?我想如果我能得到一台机器的总小时数,并将其乘以小时费率,我应该能够自己生成成本估算?

RE:接近投票:

我认为这不是题外话。我正在寻求一种以编程方式测量 AWS 虚拟机 (EC2) 的计算小时数的方法。这似乎在 stackoverflow 的范围内。

【问题讨论】:

  • 如果没有详细的计费报告,这或多或少会是一个疯狂的猜测,因为如果不根据标签识别它们,您将不知道哪些 EC2 或任何其他资源的成本是多少。如果你有一个服务的单一资源,比如一个 RDS 实例或一个 DynamoDB 表,你会没事的,但是对于一个服务的多个资源将是一个猜测。
  • 虽然有一个组织帐户可以合并其下的所有帐户以进行计费,但每个帐户都有自己的计费,因此要么 (1) 询问您帐户的 root 权限(而不是访问合并的account) 或 (2) 请求 IAM 权限以在您的用户下访问您的帐户上的帐单。如果您对它有任何问题,因为它是一个“共享”帐户,请要求转移到另一个帐户并访问您帐户上的“计费”服务。在那里,您可以仅查看与您的帐户相关的所有内容的支出,而您将无法访问其他指标。

标签: amazon-web-services amazon-ec2 amazon-emr


【解决方案1】:

我不知道是否符合贵公司政策的一个建议是:

  1. 启用在访问受限的 S3 存储桶中生成计费详细信息 CSV (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-getting-started.html)
  2. 创建一个在 CSV 更新时运行的 Lambda 函数并处理 CSV 以仅过滤您应该有权访问的数据 (https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html)
  3. 将仅包含允许信息的新 CSV 保存在允许更多访问权限的新 S3 存储桶中。

希望这种方法在您的公司政策中有意义。如果是这样,我可以提供有关如何设置的更多详细信息。

【讨论】:

  • 这是一个不错的解决方案!
【解决方案2】:

作为起点,您可以使用 AWS CloudWatch 并检查每个 EC2 实例的指标使用情况(例如 CPU 使用情况、内存等...)。这让您初步了解您的 EC2 如何使用其资源。你可以从那里开始调整。

还有一些基本步骤可以通过 EC2 节省资金(即使用 Reserved instances)。

然后,如果您的公司不让您通过控制台直接访问 aws 计费(我知道痛苦:/我也经历过),那么我真的会建议建立一个网站或任何 lambda 函数,给它是对aws cost explorer 的角色访问并使用API​​ 来检索计费数据。

这是一个很好的好处:使用 API,您可以 order by 不同的值,而 AWS 控制台您只能 order by 一个属性。这样,您可以为每个服务生成一个报告,但也可以为每个环境生成一个报告。我这样做是为了我的公司按堆栈拆分,但也按环境(DEV/TEST/PROD)拆分。这样,我可以每月或“即时”生成当前月份到当前日期的精确账单(我可以稍后附上屏幕截图 -> 我无法在 atm 访问它)。

审查您的代码将确保安全官或负责人只访问您的帐单数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-01
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多