

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

# 的成本和账单管理最佳实践 AWS KMS
<a name="cost"></a>

从广度和深度上讲， AWS 服务 您可以灵活地管理成本，同时满足业务需求。本节介绍了 AWS Key Management Service (AWS KMS) 中密钥存储的定价，并提供了降低成本的建议，例如通过密钥缓存。您还可以查看 KMS 密钥的使用情况，以确定是否还有其他降低成本的机会。

**Topics**
+ [AWS KMS 密钥存储的定价](#cost-key-storage)
+ [采用默认加密功能的 Amazon S3 存储桶密钥](#cost-bucket-keys)
+ [使用缓存数据密钥 AWS Encryption SDK](#cost-key-caching)
+ [密钥缓存和 Amazon S3 存储桶密钥的替代方案](#cost-alternatives)
+ [管理 KMS 密钥使用的日志成本](#cost-key-usage)

## AWS KMS 密钥存储的定价
<a name="cost-key-storage"></a>

你 AWS KMS key 在其中创建的每一个都会 AWS KMS 产生冲锋。对称密钥、非对称密钥、HMAC 密钥、多区域密钥（每个主密钥和每个副本多区域密钥）、具有导入密钥材料的密钥以及密钥来源为其中一个 AWS CloudHSM 或外部密钥存储的 KMS 密钥的月度费用相同。

对于自动或按需轮换的 KMS 密钥，密钥的第一次和第二次轮换会增加额外的月度费用（按小时按比例分配）。第二次轮换后，该月的任何后续轮换均不计费。请查看[AWS KMS 定价](https://aws.amazon.com/kms/pricing/)以获取最新的定价信息。

您可以使用[AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html)来配置使用预算。 AWS Budgets 当您的账户内的支出超过特定阈值时，可以提醒您。对于与之相关的费用 AWS KMS，您可以[创建使用预算](https://docs.aws.amazon.com/cost-management/latest/userguide/create-usage-budget.html)，以便根据 KMS 密钥或请求提醒。这可以提高您对 AWS KMS 密钥存储和使用成本的可见性。

## 采用默认加密功能的 Amazon S3 存储桶密钥
<a name="cost-bucket-keys"></a>

在某些用例中，在 Amazon Simple Storage Service (Amazon S3) 中访问或生成大量对象的工作负载可能会 AWS KMS向其生成大量请求，从而增加您的成本。配置 [Amazon S3 存储桶密钥](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-key.html)可以帮助您将成本降低多达 99%。这是禁用加密的推荐替代方案，以帮助降低与之相关的成本 AWS KMS。

## 使用缓存数据密钥 AWS Encryption SDK
<a name="cost-key-caching"></a>

使用执行[AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html)客户端加密时，[数据密钥缓存](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/data-key-caching.html)可以帮助提高应用程序的性能，降低应用程序请求 AWS KMS 受[限](https://docs.aws.amazon.com/kms/latest/developerguide/throttling.html)的风险，并帮助您降低成本。有关如何入门的更多信息，请参阅[如何使用数据密钥缓存](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/implement-caching.html)。

## 密钥缓存和 Amazon S3 存储桶密钥的替代方案
<a name="cost-alternatives"></a>

如果由于您的数据处理要求而无法选择密钥缓存，您也可以使用 AWS 管理控制台 或 Service AWS KMS [Quotas API 请求增加](https://docs.aws.amazon.com/kms/latest/developerguide/increase-quota.html)[配额](https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/Welcome.html)。考虑一下您可能进行的 API 调用量。您进行的 API 调用次数是[AWS KMS 定价](https://aws.amazon.com/kms/pricing/)的重要因素。如果您增加请求速率配额以扩展性能，则请求数量的增加会 AWS KMS 产生额外成本。

## 管理 KMS 密钥使用的日志成本
<a name="cost-key-usage"></a>

所有 AWS KMS API 调用都记录到 AWS CloudTrail。应用程序和服务可以生成大量 AWS KMS API 调用（例如用于加密操作，包括加密和解密）。如果没有可帮助您整理数据、调查趋势和搜索异常 API 活动的工具，就很难查看 CloudTrail 日志。[Amazon](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) Athena 提供预定义的数据结构，可帮助您快速设置日志表 CloudTrail 并开始分析日志数据。它对于事件响应期间的临时分析或进一步调查特别有用。有关更多信息，请参阅 Athena 文档中的[查询 AWS CloudTrail 日志](https://docs.aws.amazon.com/athena/latest/ug/cloudtrail-logs.html)。

由于您按查询为 Athena 付费，因此您可以免费提前设置表格。数据定义语言语句不收取任何费用。当你应对事件时，这可以帮助你确保已经满足了许多先决条件。为了帮助您做好准备，最佳做法是在创建表之后编写查询，对其进行测试，并确保它们产生了您想要的结果。您可以将查询保存在 Athena 中以备将来使用。有关如何开始使用 Athena 的更多信息，[请参阅亚马逊 Athena 入门](https://docs.aws.amazon.com/athena/latest/ug/getting-started.html)。

[通过数据事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events)，可以查看在资源上或资源内部执行的操作。这些也称为*数据层面操作*。示例包括 Amazon S3 `PutObject` 事件或 Lambda 函数操作 API 调用。数据事件通常是高容量活动，记录这些事件会产生费用。为了帮助控制记录到跟踪或事件数据存储中的数据事件量 CloudTrail，您可以通过配置高级事件选择器来限制要登录的数据事件 CloudTrail AWS KMS，从而优化日志记录以降低、和 Amazon S3 的成本。 CloudTrail有关更多信息，请参阅[如何使用高级事件选择器优化 AWS CloudTrail 成本](https://aws.amazon.com/blogs/mt/optimize-aws-cloudtrail-costs-using-advanced-event-selectors/)（AWS 博客文章）。