

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

# AWS 预算最佳实践
<a name="budgets-best-practices"></a>

在使用预算时，请注意以下最佳实践。

**Topics**
+ [控制对 AWS 预算的访问权限](#budgets-best-practices-access)
+ [了解预算操作](#budgets-best-practices-actions)
+ [设置预算](#budgets-best-practices-setting-budgets)
+ [了解自定义周期预算](#budgets-best-practices-custom-period)
+ [设置成本预算时使用高级选项](#budgets-best-practices-cost-budgets)
+ [了解 AWS 预算更新频率](#budgets-best-practices-updates)
+ [设置预算警报](#budgets-best-practices-alerts)
+ [使用 Amazon SNS 主题设置预算警报](#budgets-best-practices-alerts-sns-topics)
+ [为预算添加标签](#budgets-best-practices-tags)
+ [组织结构发生变化时审查预算](#budgets-best-practices-organizations)

## 控制对 AWS 预算的访问权限
<a name="budgets-best-practices-access"></a>

要允许用户在 AWS 账单与成本管理 控制台中创建预算，您还必须允许用户执行以下操作：
+ 查看您的账单信息
+ 创建亚马逊 CloudWatch 警报
+ 创建 Amazon Simple Notification Service（Amazon SNS）应用程序

要了解有关支持用户在 AWS Budgets 控制台上创建预算的更多信息，请参阅 [允许用户创建预算](billing-example-policies.md#example-billing-allow-createbudgets)。

您也可以使用 Budgets API 以编程方式创建预算。当配置对 Budgets API 的访问权限时，我们建议创建一个唯一的 IAM 用户以允许编程访问。这有助于您在组织中谁有权访问 AWS 预算控制台和 API 之间定义更精确的访问控制。要向多个用户提供对 Budgets API 的查询访问，我们建议为他们每个人都创建一个角色。

## 了解预算操作
<a name="budgets-best-practices-actions"></a>

### 使用 托管策略
<a name="budgets-best-practices-actions-policies"></a>

有两种 AWS 托管策略可以帮助您开始预算行动。一个针对用户，另一个针对预算。这些策略是相关的。第一个策略确保用户可以将角色传递给预算服务，而第二个策略允许预算执行该操作。

如果您没有为用户和预算配置和分配适当的权限， AWS 则 AWS 预算将无法执行您配置的操作。为确保正确配置和执行，我们配置了这些托管策略，以便您的 AWS 预算操作按预期运行。我们建议您使用这些 IAM 政策，以确保在包含新功能时不必更新现有 IAM AWS 预算政策。默认情况下，我们将向托管策略添加新功能。

有关托管策略的详细信息，请参阅 [托管策略](billing-permissions-ref.md#managed-policies)。

要了解有关 AWS 预算行动的更多信息，请参阅[配置预算操作](budgets-controls.md)部分。

### 使用 Amazon EC2 Auto Scaling
<a name="budgets-best-practices-actions-auto"></a>

如果预算操作用于停止自动扩缩组中的 Amazon EC2 实例，则 Amazon EC2 Auto Scaling 会重新启动该实例，或启动新实例以替换停止的示例。因此，“关闭预算操作对 Amazon EC2/Amazon RDS 预算操作无效”无效，除非您结合第二个预算操作，删除启动配置管理 ASG 所用角色上的权限。

## 设置预算
<a name="budgets-best-practices-setting-budgets"></a>

使用 AWS 预算根据您的成本、使用情况、预留利用率和预留覆盖范围设置自定义预算。

使用 AWS 预算，您可以定期设置预算，也可以为特定时间范围设置预算。但是，我们建议定期设置您的预算，以便您不会意外地停止接收预算警报。

## 了解自定义周期预算
<a name="budgets-best-practices-custom-period"></a>

为了从自定义周期预算中获得最大收益并更有效地管理预算，请考虑以下事项：
+ **设置合适的预算时间范围。**选择与您的预算周期一致的开始日期和结束日期。结束日期必须在开始日期后的三年内。
+ **了解预算计算。**预算跟踪功能使用完整的日期范围（从开始到结束）。金额计算仅使用日期（00:00 UTC）。计算中包含开始日期，但不包含结束日期。
+ **优化预测提醒。**您可以设置未来三年内的预测。当当前日期在结束日期的 12 个月内时，预测开始。提醒触发仅限于此 12 个月的时间范围。
+ **保持主动监控。**自定义周期预算不会自动续订，并在结束日期到期。请定期审查预算，并根据需要延长结束日期以确保持续监控。
+ **考虑计费周期。**使自定义周期预算与账单周期保持一致，以实现更准确的跟踪。
+ **与其他预算类型一起使用。**将自定义周期预算与月度、季度或年度预算相结合，以实现全面的财务监控。

## 设置成本预算时使用高级选项
<a name="budgets-best-practices-cost-budgets"></a>

成本预算可以按混合成本、未混合成本、净未混合成本、摊销成本或净摊销成本进行汇总。成本预算还可以包括或不包括退款、服务抵扣金额、预付预留费用、定期预留费用、非预留订阅费用、税费和支持费用。

## 了解 AWS 预算更新频率
<a name="budgets-best-practices-updates"></a>

AWS Budgets 用来监控资源的账单数据每天至少更新一次。请记住，根据此数据刷新节奏，将更新和发送预算信息和关联的警报。

## 设置预算警报
<a name="budgets-best-practices-alerts"></a>

对于每个提醒，预算提醒可最多发送到 10 个电子邮件地址和一个 Amazon SNS 主题。您可以设置预算以针对实际值或预测值发送警报。

实际警报仅在每个预算、每个预算期、当预算首次达到实际警报阈值时发送一次。

基于预测的预算警报在每个预算、每个预算期均发送。如果预测的值在预算期内超出、低于然后再次超出警报阈值，则它们可能会在预算期内多次发送警报。

AWS 需要大约 5 周的使用数据才能生成预算预测。如果您将预算设置为基于预测量发送警报，则会不会触发此预算警报，直到您有足够的历史使用情况信息。

以下视频重点介绍了设置预算提醒的重要性，这可以让您控制支出。它还涉及使用多重身份验证（MFA）来提高账户的安全性。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/e6A7z7FqQDE/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/e6A7z7FqQDE)


## 使用 Amazon SNS 主题设置预算警报
<a name="budgets-best-practices-alerts-sns-topics"></a>

当您创建将通知发送到 Amazon SNS 主题的预算时，必须有一个预先存在的 Amazon SNS 主题或创建一个 Amazon SNS 主题。Amazon SNS 主题可让您通过 SMS 以及电子邮件发送通知。

要成功发送预算通知，您的预算必须有权限向您的主题发送通知，而且您必须接受对 Amazon SNS 通知主题的订阅。有关更多信息，请参阅 [针对预算通知创建 Amazon SNS 主题](budgets-sns-policy.md)。

## 为预算添加标签
<a name="budgets-best-practices-tags"></a>

您可以使用标签来控制对 AWS 预算资源的访问权限。您还可以使用资源级权限在 Ident AWS ity and Access Management (IAM) 策略中允许或拒绝访问一项或多 AWS 项 Budgets 资源。这样可以轻松进行预算管理和审计，从而改善治理和信息安全。您可以指定 AWS Budgets 资源上允许的用户、角色和操作。

要为预算添加标签，请在账单和成本管理控制台中使用 AWS 预算，或者使用[预算 API 以编程方式使用预算](https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_TagResource.html)。

您可以在创建 AWS 预算资源时添加标签，也可以稍后使用控制台或`TagResource`操作添加标签。

您可以使用控制台或调用`ListTagsForResource`操作来查看 AWS 预算资源上的标签。

您可以使用控制台或调用`UntagResource`操作从 AWS 预算资源中移除标签。

**注意**  
AWS 预算不支持用于成本分配的标签。这意味着您不会在成本和使用情况数据中看到标签信息，例如在数据导出、成本和使用情况报告或 Cost Explorer 中。

## 组织结构发生变化时审查预算
<a name="budgets-best-practices-organizations"></a>

当成员帐户离开 AWS 组织时，其预算的行为会发生显著变化。请记住以下几点：
+ AWS 预算仅跟踪成员账户离开组织后产生的成本。
+ 当此跟踪行为更改时，不会发送任何通知。
+ 账户离开前的历史成本数据不包括在预算计算或提醒中。

当组织发生变化时，尤其是在成员账户离开组织时，请定期查看您的 AWS 预算配置。请更新预算阈值和设置以反映新的独立账户状态，并确保持续监控成本。