Amazon Managed Streaming for Apache Kafka (MSK) 和 Application Auto Scaling
您可以使用目标跟踪扩缩策略横向扩展 Amazon MSK 集群存储。按目标跟踪策略横向缩减已禁用。
使用以下信息可帮助您将 Amazon MSK 与 Application Auto Scaling 集成。
为 Amazon MSK 创建的服务相关角色
使用 Application Auto Scaling 将 Amazon MSK 资源注册为可扩展目标时,将在您的 AWS 账户 中自动创建以下服务相关角色。此角色允许 Application Auto Scaling 在您的账户中执行受支持的操作。有关更多信息,请参阅 Application Auto Scaling 的服务相关角色。
-
AWSServiceRoleForApplicationAutoScaling_KafkaCluster
服务相关角色使用的服务委托人
上一节中的服务相关角色只能由为角色定义的信任关系授权的服务委托人担任。Application Auto Scaling 使用的服务相关角色为以下服务委托人授予访问权限:
-
kafka.application-autoscaling.amazonaws.com
使用 Application Auto Scaling 将 Amazon MSK 集群存储注册为可扩展目标
Application Auto Scaling 需要一个可扩展的目标,然后才能为 Amazon MSK 集群的每个代理的存储卷大小创建扩缩策略。可扩展目标是 Application Auto Scaling 可以扩展的资源。可扩展目标由资源 ID、可扩展维度和命名空间的组合唯一标识。
如果您使用 Amazon MSK 控制台配置弹性伸缩,Amazon MSK 会自动为您注册一个可扩展的目标。
如果要使用 AWS CLI 或 AWS 软件开发工具包之一配置弹性伸缩,您可以使用以下选项:
-
AWS CLI:
为 Amazon MSK 集群调用 register-scalable-target 命令。以下示例注册 Amazon MSK 集群每个代理的存储卷大小,最小容量为 100 GiB,最大容量为 800 GiB。
aws application-autoscaling register-scalable-target \ --service-namespace kafka \ --scalable-dimension kafka:broker-storage:VolumeSize \ --resource-id arn:aws:kafka:
us-east-1
:123456789012
:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5
\ --min-capacity100
\ --max-capacity800
如果成功,该命令会返回可扩展目标的 ARN。
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" } -
AWS 软件开发工具包:
调用 RegisterScalableTarget 操作并提供
ResourceId
、ScalableDimension
、ServiceNamespace
、MinCapacity
和MaxCapacity
作为参数。
注意
当 Amazon MSK 集群是可扩展目标时,横向缩减将禁用且无法启用。
相关资源
如果您刚刚开始使用 Application Auto Scaling,则可以在以下文档中找到有关扩展 Amazon MSK 资源的其它有用信息:
《Amazon Managed Streaming for Apache Kafka 开发人员指南》中的 Automatic scaling