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

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

自动扩缩

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

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

  • 重要

    存储扩展操作每 6 小时只能发生一次。

    建议您从大小合适的存储卷开始,以满足存储需求。有关调整集群大小的指导,请参阅 调整集群的大小:每个集群的代理数量

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

  • Amazon MSK 在亚太地区(大阪)和非洲(开普敦)区域不支持自动扩缩。

  • 当您将自动扩展策略与集群关联时,Amazon EC2 Auto Scaling 会自动创建用于目标跟踪的亚马逊 CloudWatch 警报。如果您使用自动缩放策略删除集群,则此 CloudWatch 警报仍然存在。要删除 CloudWatch 警报,您应该先从集群中移除自动缩放策略,然后再删除该集群。要了解有关目标跟踪的更多信息,请参阅《Amazon EC2 Auto Scaling用户指南》中的 Target tracking scaling policies for Amazon EC2 Auto Scaling

自动扩缩策略详细信息

自动扩缩策略为集群定义以下参数:

  • 存储利用率目标:Amazon MSK 用于触发自动扩缩操作的存储利用率阈值。您可以将此利用率目标设置为当前存储容量的 10% 到 80% 之间。建议您将“存储利用率目标”设置为 50% 到 60% 之间。

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

当 Amazon MSK 检测到 Maximum Disk Utilization 指标等于或大于 Storage Utilization Target 设置时,它会将存储容量增加 10GiB 或当前存储容量的 10%(以较大者为准)。例如,如果您有 1000GiB,则该数量为 100GiB。该服务每分钟检查一次存储利用率。进一步的扩展操作会继续增加存储容量,增幅为 10GiB 或当前存储容量的 10%(以较大者为准)。

要确定是否发生了自动缩放操作,请使用该 ListClusterOperations操作。

为 Amazon MSK 集群设置自动扩缩

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

注意

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

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

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

  2. 在集群列表中,选择集群。这会将您引导至列出集群详细信息的页面。

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

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

  5. 选择Save changes

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

使用 CLI 设置自动扩缩

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

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

使用 API 设置自动扩缩

  1. 使用 RegisterScalableTargetAPI 注册存储利用率目标。

  2. 使用 PutScalingPolicyAPI 创建自动扩展策略。