View a markdown version of this page

在 Amazon Keyspaces 中更新多区域表的预置容量和自动扩缩设置 - Amazon Keyspaces(Apache Cassandra 兼容)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 Amazon Keyspaces 中更新多区域表的预置容量和自动扩缩设置

本节包括如何使用控制台、CQL 和来管理已配置的多区域表的 Amazon Keyspaces 自动扩展设置的示例。 Amazon CLI 有关常规自动扩缩配置选项及其工作原理的更多信息,请参阅使用 Amazon Keyspaces 自动扩缩自动管理吞吐能力

请注意,如果您对多区域表使用预置容量模式,则必须始终使用 Amazon Keyspaces API 调用来配置自动扩缩。这是因为底层的 Application Auto Scaling API 操作不是 Region-aware。

有关如何估算预置多区域表的写入容量吞吐量的更多信息,请参阅在 Amazon Keyspaces 中为多区域表估算和预置容量

有关该 Amazon Keyspaces API 的更多信息,请参阅 Amazon Keyspaces API 参考

更新多区域表的预置模式或自动扩缩设置时,可以更新表每个副本的读取容量设置和读取自动扩缩配置。

但是,写入容量在所有副本之间保持同步,以确保有足够的容量在所有区域中复制写入。

Cassandra Query Language (CQL)
使用 CQL 更新多区域表的预置容量和自动扩缩设置
  • 您可以使用 ALTER TABLE 更新现有表的容量模式和自动扩缩设置。如果您要更新当前处于按需容量模式的表,则 capacity_mode 为必需。如果您的表已经处于预置容量模式,则可以忽略此字段。

    有关自动扩缩设置、目标跟踪策略、目标值和可选设置的详细信息,请参阅创建启用了自动扩缩的新表

    在同一语句中,您还可以通过更新表的 replica_updates 属性来更新特定区域中表副本的读取容量和自动扩缩设置。下面是一个示例语句。

    ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES = { 'capacity_mode': { 'throughput_mode': 'PROVISIONED', 'read_capacity_units': 1, 'write_capacity_units': 1 } } AND AUTOSCALING_SETTINGS = { 'provisioned_write_capacity_autoscaling_update': { 'maximum_units': 10, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 50 } } }, 'provisioned_read_capacity_autoscaling_update': { 'maximum_units': 10, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 50, 'scale_in_cooldown': 60, 'scale_out_cooldown': 60 } } }, 'replica_updates': { 'us-east-1': { 'provisioned_read_capacity_autoscaling_update': { 'maximum_units': 20, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 70 } } } } } };
CLI
使用更新多区域表的预配置容量和 auto scaling 设置 Amazon CLI
  • 要更新现有表的预配置模式和 auto Scaling 配置,您可以使用 Amazon CLI update-table命令。

    请注意,您必须使用 Amazon Keyspaces CLI 命令来创建或修改多区域自动扩缩设置。这是因为 Amazon Keyspaces 用来代表您执行表容量自动扩缩的 Application Auto Scaling 服务不支持多个 Amazon Web Services 区域。

    要更新特定区域中表副本的读取容量,您可以为表的 replicaSpecifications 配置以下可选参数之一:

    • 预置读取容量单位(可选)

    • 读取容量的自动扩缩设置(可选)

    当您使用复杂的自动扩缩设置和不同的表副本配置更新多区域表时,建议从 JSON 文件加载表的自动扩缩设置和副本配置。

    要使用以下代码示例,您可以从 auto-scaling.zip 下载示例 JSON 文件,然后提取 auto-scaling.jsonreplication.json。记下文件路径。

    在本示例中,JSON 文件位于当前目录下。有关不同的文件路径选项,请参阅如何从文件加载参数

    aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --auto-scaling-specification file://auto-scaling.json \ --replica-specifications file://replication.json