本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自动扩缩
要自动扩展集群存储容量以应对使用量增加,您可以为 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。有关更多信息,请参阅 亚马逊MSK配额。
当 Amazon MSK 检测到 Maximum Disk Utilization
指标等于或大于 Storage Utilization Target
设置时,它会将存储容量增加 10GiB 或当前存储容量的 10%(以较大者为准)。例如,如果您有 1000GiB,则该数量为 100GiB。该服务每分钟检查一次存储利用率。进一步的扩展操作会继续增加存储容量,增幅为 10GiB 或当前存储容量的 10%(以较大者为准)。
要确定是否发生了自动缩放操作,请使用该 ListClusterOperations操作。
为 Amazon MSK 集群设置自动扩缩
您可以使用 Amazon MSK 控制台、亚马逊 MSK API 或 AWS CloudFormation 实现存储的自动扩展。 CloudFormation 可通过以下方式获得支持Application Auto Scaling。
注意
创建集群时,您无法实现自动扩缩。您必须先创建集群,然后为其创建并启用自动扩缩策略。但是,您可以在 Amazon MSK 服务创建集群时创建该策略。
使用 AWS Management Console设置自动扩缩
登录并打开亚马逊 MSK 控制台,网址为 https://console.aws.amazon.com/msk/home?region=us-east-1#/home/
。 AWS Management Console 在集群列表中,选择集群。这会将您引导至列出集群详细信息的页面。
-
在存储自动扩缩部分中,选择配置。
创建并命名自动扩缩策略。指定存储利用率目标、最大存储容量和目标指标。
选择
Save changes
。
保存并启用新策略后,该策略将针对该集群变为活动状态。然后,当达到存储利用率目标时,Amazon MSK 会扩展集群的存储。
使用 CLI 设置自动扩缩
使用 RegisterScalableTarget命令注册存储利用率目标。
使用 PutScalingPolicy命令创建自动扩展策略。
使用 API 设置自动扩缩
使用 RegisterScalableTargetAPI 注册存储利用率目标。
使用 PutScalingPolicyAPI 创建自动扩展策略。