配置 AWS Budgets 操作 - AWS 成本管理

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 AWS Budgets 操作

您可以使用 AWS Budgets 在您的预算超出特定成本或使用量阈值时代表您运行操作。为此,在设置阈值后,将预算操作配置为自动运行或在手动批准后运行。

您可用的操作包括应用 IAM 策略或服务控制策略 (SCP)。它们还包括以针对您账户中的特定 Amazon EC2 或 Amazon RDS 实例为目标。您可以使用 SCP,以便在预算期间无需预置任何新资源。

注意

在管理账户中,您可以将 SCP 应用到另一个账户。但是,您不能以另一个账户中的 Amazon EC2 或 Amazon RDS 实例为目标。

您还可以将多个操作配置为在同一通知阈值启动。例如,您可以将操作配置为在达到当月预测成本的 90% 时自动启动。为此,请执行以下操作:

  • 应用限制用户、组或角色预置其他 Amazon EC2 资源的自定义 Deny IAM 策略。

  • US East (N. Virginia) us-east-1 中的特定 Amazon EC2 实例为目标。

设置 AWS Budgets 运行预算操作的角色

要使用预算操作,您必须为 AWS Budgets 创建一个服务角色。服务角色是由一项服务担任、代表您执行操作的 IAM 角色。IAM 管理员可以在 IAM 中创建、修改和删除服务角色。有关更多信息,请参阅《IAM 用户指南》中的 创建向 AWS 服务 委派权限的角色

要允许 AWS Budgets 代表您执行操作,您必须授予该服务角色必要的权限。下表列出了您可以授予服务角色的权限。

预算操作的权限策略 说明

允许控制 AWS 资源

这是一个 AWS 托管策略。

有关如何附加托管策略的说明,请参阅 IAM 用户指南中的将托管策略用作身份的权限策略(控制台)

允许 AWS 预算应用 IAM 策略和 SCP

您可以将此示例策略用作内联策略或客户托管策略。

有关如何嵌入内联策略的说明,请参阅 IAM 用户指南中的为用户或角色嵌入内联策略(控制台)

有关如何创建客户托管式策略的说明,请参阅 IAM 用户指南中的创建 IAM 策略(控制台)

允许 AWS 预算应用 IAM 策略和 SCP 并以 EC2 和 RDS 实例为目标

您可以将此示例策略用作内联策略或客户托管策略。

有关如何嵌入内联策略的说明,请参阅 IAM 用户指南中的为用户或角色嵌入内联策略(控制台)

有关如何创建客户托管式策略的说明,请参阅 IAM 用户指南中的创建 IAM 策略(控制台)

配置预算操作

您可以将预算操作附加到成本预算或使用量预算的提醒。要配置新预算的预算操作,请先按照 创建成本预算创建用量预算 的步骤操作。要配置现有成本或使用量预算的预算操作,请先按照 编辑预算 的步骤操作。然后,在到达创建或编辑预算的 Configure alerts(配置提醒)步骤后,使用以下过程。

配置预算操作
  1. 要配置新提醒的预算操作,请选择 Add an alert threshold(添加提醒阈值)。要配置现有提醒的预算操作,请跳至步骤 7。

  2. Set alert threshold(设置提醒阈值)下,对于 Threshold(阈值),输入通知您需要达到的金额。例如,它可以是绝对值或百分比。例如,假设您有 200 美元的预算。要收到 160 美元(预算的 80%)的通知,请输入 160(绝对预算)或 80(百分比预算)。

    在金额旁边,选择成本超出阈值金额时要通知的 Absolute value(绝对值)。或者,选择您的成本超出阈值百分比时要通知的 % of budgeted amount(预算金额百分比)

    在阈值旁边,选择 Actual(实际)以创建实际支出的提醒。或者,选择 Forecasted(预测)创建预测支出的提醒。

  3. (可选)在 Notification preferences - Optional(通知首选项 - 可选)下,对于 Email recipients(电子邮件收件人),输入您想要提醒通知的电子邮件地址。使用逗号分隔多个电子邮件地址。一个通知最多可以有 10 个电子邮件地址。

  4. (可选)在 Notification preferences - Optional(通知首选项 - 可选),下,对于 Amazon SNS Alerts(Amazon SNS 提醒),输入 Amazon SNS 主题的 Amazon Resource Name (ARN)。有关如何创建主题的说明,请参阅 针对预算通知创建 Amazon SNS 主题

    重要

    在您创建具有 Amazon SNS 通知的预算后,Amazon SNS 会将确认电子邮件发送到您指定的电子邮件地址。主题行是 AWS Notification - Subscription Confirmation(亚马逊云科技通知 - 订阅确认)。收件人必须在确认电子邮件中选择 Confirm subscription(确认订阅)才能接收将来的通知。

  5. (可选)在 Notification preferences - Optional(通知首选项 - 可选)下,对于 AWS Chatbot Alerts(亚马逊云科技 Chatbot 提醒),您可以选择配置 AWS Chatbot 以将预算提醒发送到 Amazon Chime 或 Slack 聊天室。您可以通过 AWS Chatbot 控制台配置这些提醒。

  6. 选择 Next(下一步)。

  7. 对于 Attach actions - Optional(附加操作 - 可选),请选择 Add Action(添加操作)

    1. 对于 Select IAM role(选择 IAM 角色),选择一个 IAM 角色以允许 AWS Budgets 代表您执行操作。

      注意

      如果您没有为 IAM 角色和 AWS Budgets 配置和分配适当的权限,则 AWS Budgets 无法运行您配置的操作。对于简化的权限管理,我们建议您使用托管策略。这可能确保您的 AWS Budgets 操作按预期工作,无需在每次添加任何新功能时更新 AWS Budgets 的现有 IAM 策略。这是因为默认情况下,新功能和能力将添加到托管策略。有关托管策略的更多信息,请参阅托管策略

      有关 IAM 角色权限的更多信息和示例,请参阅 允许 AWS 预算应用 IAM 策略和 SCP 并以 EC2 和 RDS 实例为目标

    2. 对于 Which action type should be applied when the budget threshold has been exceeded(超出预算阈值时应该应用哪种操作类型),请选择您想要 AWS Budgets 代表您执行的操作。

      您可以选择应用 IAM 策略、附加服务控制策略 (SCP) 或以特定 Amazon EC2 或 Amazon RDS 实例为目标。您可以将多个预算操作应用于一个提醒。只有管理账户可以应用 SCP。

    3. 根据您选择的操作,填写与要将操作应用到的资源相关的字段。

    4. 对于 Do you want to automatically run this action when this threshold is exceeded(超出此阈值时是否要自动运行此操作),选择 Yes(是)或 No(否)。如果选择 No(否),则可以在 Alert details(提醒详细信息)页面上手动运行该操作。有关说明,请参阅 审查和批准您的预算操作

    5. 对于 How do you want to be alerted when this action is run(此操作运行时您希望收到提醒的方式),选择 Use the same alert settings when you defined this threshold(使用与定义此阈值时相同的提醒设置)Use different alert settings(使用不同的提醒设置)。要使用不同的提醒设置,请填写特定于此操作的 Notification preferences(通知首选项)

  8. 选择 Next(下一步)。

    注意

    要继续,您必须至少为每个提醒配置以下参数之一:

    • 通知的电子邮件收件人

    • 通知的 Amazon SNS 主题

    • 预算操作

  9. 检查您的预算设置,然后选择 Create budget(创建预算)Save(保存)

创建操作后,可以从AWS Budgets 页面的 Actions(操作)列查看其状态。此列显示您配置的操作计数、等待您批准(Requires approval [需要批准])的操作以及成功完成的操作。

审查和批准您的预算操作

无论您的操作首选项如何,都将收到一条通知,通知您代表您执行的操作待处理或已经运行。该通知包含指向操作 Budget details(预算详细信息)页面的链接。您还可以通过在 AWS Budgets 页面上选择预算名称导航到 Budget details(预算详细信息)页面。

Budget details(预算详细信息)页面上,您可以审查和批准您的预算操作。

审查和批准您的预算操作
  1. Budget details(预算详细信息)页面的 Alerts(提醒)部分中,选择 Requires approval(需要批准)

  2. Actions(操作)弹出窗口中,选择需要操作的提醒的名称。

  3. Alert details(提醒详细信息)页面的 Action(操作)部分中,审查需要批准的操作。

  4. 选择要运行的操作,然后选择 Run action(运行操作)

  5. 选择 Yes, I am sure(是的,我确定)

您的待处理操作将从 Action history(操作历史记录)中的 pending 状态移出,最新的操作列在顶部。AWSBudgets 显示过去 60 天内配置和运行的操作。您可以通过使用 AWS CloudTrail 或调用 DescribeBudgetActionHistories API 查看操作的完整历史记录。

撤消之前的操作

您可以审查和撤消 Action history(操作历史记录)表中之前完成的操作。每种状态的定义如下所示:

  • Standby(待机)- AWS Budgets 正在主动评估该操作。

  • Requires approval(需要批准)- 该操作已启动,并等待您的批准。

  • Completed(已完成)- 该操作已成功完成。

  • Reversed(已撤消) - 该操作已撤消,且 AWS Budgets 在剩余的预算周期内将不再评估该操作。

如果想要 AWS Budgets 在同一周期内重新评估撤消的操作,您可以选择 Reset(重置)。例如,如果您启动了只读策略,但随后获得经理的批准,可以在当前周期内增加预算和调整预算金额,则可以执行此操作。