自动扩展 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

自动扩展

要自动扩展集群的存储空间以响应使用量的增加,您可以为 Amazon MSK 配置应用程序自动扩展策略。在auto-scaling 策略中,您可以设置目标磁盘利用率和最大扩展容量。

在 Amazon MSK 使用自动扩展之前,您应考虑以下几点:

  • 重要

    存储扩展操作每六小时只能执行一次。

    我们建议您从一个大小合适的存储卷开始,以满足您的存储需求。有关调整集群大小的指导,请参阅 将集群设置为正确大小:每个集群的代理数.

  • Amazon MSK 不会因使用量减少而减少集群存储。Amazon MSK 不支持减小存储卷的大小。如果需要减小集群存储的大小,则必须将现有集群迁移到存储空间较小的集群。有关迁移集群的信息,请参阅。迁移.

  • Amazon MSK 不支持在亚太地区(大阪)和非洲(开普敦)区域推出。

  • 如果将auto-scaling 策略与集群关联到集群,Amazon EC2 Auto Scaling 自动创建弹性伸缩策略。 CloudWatch 针对目标跟踪的警报。如果您使用auto-scaling 策略删除集群,则 CloudWatch 警报仍然存在。删除 CloudWatch 警报,您应该在删除集群之前从集群中移除auto-scaling 策略。要了解有关目标跟踪的更多信息,请参阅。Amazon EC2 Auto Scaling 的目标跟踪扩缩策略中的Amazon EC2 Auto Scaling 用户指南.

自动扩展策略详情

auto-scaling 策略为您的集群定义集群定义集群定义集群定义集群定义集群定义的集群

  • 存储利用率目标:Amazon MSK 使用此阈值触发auto-scaling 操作。您可以将此使用率目标设置为当前存储容量的 10% 到 80% 之间。我们建议您将存储利用率目标设置在 50% 到 60% 之间。

  • 最大存储容量:Amazon MSK 可以为您的代理存储设置的最大扩展限制。您可以将每个代理的最大存储容量设置为 16 TiB。有关更多信息,请参阅 Amazon MSK 配额

当亚马逊 MSK 检测到您的Maximum Disk Utilization指标等于或大于Storage Utilization Target设置,它将存储容量增加的量等于两个数字中较大的一个:10 GiB 或当前存储空间的 10%。例如,如果您有 1000 GiB,则该数量为 100 GiB。该服务每分钟检查一次存储利用率。进一步的扩展操作会继续增加存储量,其数量等于两个数字中较大的一个:10 GiB 或当前存储空间的 10%。

要确定是否发生了auto-scaling 操作,请使用 ListClusterOperationsoperation.

为您的 Amazon MSK 集群设置自动扩展

您可以使用亚马逊 MSK 控制台、亚马逊 MSK API 或Amazon CloudFormation以实现存储的自动扩展。 CloudFormation 可通过以下方式获得支持Application Auto Scaling.

注意

在创建集群时,无法实现自动扩展。您必须先创建集群,然后为其创建并启用auto-scaling 策略。但是,您可以在 Amazon MSK 服务创建集群的同时创建策略。

使用设置自动缩放Amazon Web Services Management Console

  1. 登录到。Amazon Web Services Management Console,然后打开亚马逊 MSK 控制台https://console.aws.amazon.com/msk/home?region=us-east-1#/home/.

  2. 请在集群列表中,选择集群。这将带您进入一个列出集群详细信息的页面。

  3. 自动扩展存储部分中,选择。配置.

  4. 创建自动扩展策略并命名auto-scaling 策略。指定存储利用率目标、最大存储容量和目标指标。

  5. 选择 Save changes

保存并启用新策略后,集群的策略将变为活动状态。然后,当达到存储利用率目标时,Amazon MSK 会扩展集群的存储。

使用 CLI 设置自动扩展

  1. 使用 RegisterScalableTarget命令注册存储使用率目标。

  2. 使用 PutScalingPolicy命令创建自动扩展策略。

使用 API 设置自动扩展

  1. 使用 RegisterScalableTarget用于注册存储利用率目标的 API。

  2. 使用 PutScalingPolicy用于创建自动扩展策略的 API。