Administración de las políticas de escalado de Amazon Keyspaces con la CLI - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de las políticas de escalado de Amazon Keyspaces con la CLI

Para actualizar y administrar la configuración de escalado automático de Amazon Keyspaces mediante programación, puede usar AWS Command Line Interface (AWS CLI) o la API. AWS Para gestionar las políticas de escalado automático de Amazon Keyspaces mediante Cassandra Query Language (CQL), consulte. Administración del escalado automático de Amazon Keyspaces con Cassandra Query Language (CQL) En este tema se ofrece una descripción general de las tareas de autoescalado que puede gestionar mediante programación mediante el. AWS CLI

Para obtener más información sobre los AWS CLI comandos de Amazon Keyspaces descritos en este tema, consulte la Referencia de AWS CLI comandos.

Antes de empezar

Debe completar las siguientes tareas antes de empezar.

Configuración de permisos de

Si aún no lo ha hecho, debe configurar los permisos apropiados para que el usuario pueda crear y administrar los ajustes de escalado automático. En AWS Identity and Access Management (IAM), la política AWS gestionada AmazonKeyspacesFullAccess es necesaria para gestionar las políticas de escalado de Amazon Keyspaces. Para conocer los pasos en detalle, consulte Antes de comenzar: Concesión de permisos a los usuarios para el escalado automático de Amazon Keyspaces.

Instalar la AWS CLI

Si aún no lo ha hecho, debe instalar y configurar la AWS CLI. Para ello, consulte la Guía del AWS Command Line Interface usuario y siga estas instrucciones:

Cree una tabla nueva con escalado automático mediante el AWS CLI

Al crear una nueva tabla de Amazon Keyspaces, puede activar automáticamente el escalado automático para la capacidad de escritura o lectura de la tabla en la CreateTable operación. Esto permite a Amazon Keyspaces ponerse en contacto con Application Auto Scaling en su nombre para registrar la tabla que especifique como objetivo escalable y ajustar la capacidad de escritura o lectura aprovisionada.

Para obtener más información sobre cómo crear una tabla de varias regiones con una configuración de escalado automático, consulteCrear una nueva tabla multirregional en modo aprovisionado con escalado automático (CLI).

nota

El escalado automático de Amazon Keyspaces requiere la presencia de un rol vinculado a un servicio (AWSServiceRoleForApplicationAutoScaling_CassandraTable) para realizar acciones de escalado automático en su nombre. Este rol se crea automáticamente para usted. Para obtener más información, consulte Uso de roles vinculados a servicios para Amazon Keyspaces.

Para configurar los ajustes de escalado automático de una tabla mediante programación, utilice la autoScalingSpecification acción que define los parámetros del escalado automático de Amazon Keyspaces. Los parámetros definen las condiciones que obligan a Amazon Keyspaces a ajustar el rendimiento aprovisionado de la tabla y qué acciones opcionales adicionales se deben realizar. En este ejemplo, se definen los ajustes de escalado automático para mytable.

La política contiene los componentes siguientes:

  • autoScalingSpecification— Especifica si Amazon Keyspaces puede ajustar la capacidad de procesamiento en su nombre. Puede activar el escalado automático para la capacidad de lectura y escritura por separado. A continuación, debe especificar los siguientes parámetros paraautoScalingSpecification:

    • writeCapacityAutoScaling— Las unidades de capacidad de escritura máxima y mínima.

    • readCapacityAutoScaling— Las unidades de capacidad de lectura máxima y mínima.

    • scalingPolicy— Amazon Keyspaces es compatible con la política de seguimiento de objetivos. Para definir la política de seguimiento objetivo, debe configurar los siguientes parámetros.

      • targetValue— El escalado automático de Amazon Keyspaces garantiza que la relación entre la capacidad consumida y la capacidad aprovisionada se mantenga en este valor o cerca de él. targetValue se define como un porcentaje.

      • disableScaleIn: (Opcional) A boolean que especifica si scale-in está deshabilitada o habilitada para la tabla. Este parámetro está desactivado de forma predeterminada. Para activarloscale-in, defina el boolean valor enFALSE. Esto significa que la capacidad de una mesa se reduce automáticamente en tu nombre.

      • scaleOutCooldown: una actividad de escalado horizontal aumenta el rendimiento aprovisionado de su tabla. Para añadir un periodo de recuperación para las actividades de escalado horizontal, especifique un valor para ScaleOutCooldown en segundos. El valor predeterminado es 0. Para obtener más información sobre el seguimiento de objetivos y los períodos de enfriamiento, consulte Políticas de escalado de seguimiento de objetivos en la Guía del usuario de Application Auto Scaling.

      • scaleInCooldown: una actividad de reducción horizontal disminuye el rendimiento aprovisionado de su tabla. Para añadir un periodo de recuperación para las actividades de reducción horizontal, especifique un valor para ScaleInCooldown en segundos. El valor predeterminado es 0. Para obtener más información sobre el seguimiento de objetivos y los períodos de enfriamiento, consulte Políticas de escalado de seguimiento de objetivos en la Guía del usuario de Application Auto Scaling.

nota

Para entender cómo funciona TargetValue, imagine que tiene una tabla con una configuración de rendimiento aprovisionado de 200 unidades de capacidad de escritura. Decide crear una política de escalado para esta tabla, con un valor de TargetValue del 70 %.

Ahora, supongamos que comienza a dirigir el tráfico de escritura a la tabla, de tal forma que el rendimiento de escritura real es de 150 unidades de capacidad. La consumed-to-provisioned proporción es ahora (150/200), o sea, del 75 por ciento. Esta proporción supera su objetivo, por lo que el escalado automático aumenta la capacidad de escritura aprovisionada a 215, de modo que la proporción es (150/215), o un 69,77 por ciento, lo más cerca TargetValue posible de la suya, pero sin superarla.

En mytable, has establecido la capacidad de lectura y escritura en un 50 TargetValue por ciento. El escalado automático de Amazon Keyspaces ajusta el rendimiento aprovisionado de la tabla dentro del rango de 5 a 10 unidades de capacidad, de modo que la consumed-to-provisioned proporción se mantenga en el 50 por ciento o cerca de él. En cuanto a la capacidad de lectura, debe establecer los valores para y en 60 segundos. ScaleOutCooldown ScaleInCooldown

Al crear tablas con ajustes de autoescalado complejos, resulta útil cargar los ajustes de autoescalado desde un archivo JSON. Para el siguiente ejemplo, puede descargar el archivo JSON de ejemplo desde auto-scaling.zip y extraerloauto-scaling.json, tomando nota de la ruta al archivo. En este ejemplo, el archivo JSON se encuentra en el directorio actual. Para conocer las distintas opciones de ruta del archivo, consulte Carga de parámetros desde un archivo.

aws keyspaces create-table --keyspace-name mykeyspace --table-name mytable \ --schema-definition 'allColumns=[{name=pk,type=int},{name=ck,type=int}],partitionKeys=[{name=pk},{name=ck}]' \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --auto-scaling-specification file://auto-scaling.json

Habilite el escalado automático en una tabla existente mediante el AWS CLI

Para una tabla Amazon Keyspaces existente, puede activar el escalado automático para la capacidad de escritura o lectura de la tabla mediante la UpdateTable operación. Para obtener más información sobre cómo actualizar la configuración de escalado automático de una tabla de varias regiones, consulteActualización de la capacidad aprovisionada y la configuración de escalado automático de una tabla multirregional (CLI).

nota

El escalado automático de Amazon Keyspaces requiere la presencia de un rol vinculado a servicios (AWSServiceRoleForApplicationAutoScaling_CassandraTable) que realice acciones de escalado automático en su nombre. Este rol se crea automáticamente para usted. Para obtener más información, consulte Uso de roles vinculados a servicios para Amazon Keyspaces.

Puedes usar el siguiente comando para activar el escalado automático de Amazon Keyspaces en una tabla existente. La configuración de escalado automático de la tabla se carga desde un archivo JSON. Para el siguiente ejemplo, puede descargar el archivo JSON de ejemplo desde auto-scaling.zip y extraerloauto-scaling.json, tomando nota de la ruta al archivo. En este ejemplo, el archivo JSON se encuentra en el directorio actual. Para conocer las distintas opciones de ruta del archivo, consulte Carga de parámetros desde un archivo.

Para obtener más información sobre la configuración de escalado automático utilizada en el siguiente ejemplo, consulteCree una tabla nueva con escalado automático mediante el AWS CLI.

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

Consulta la configuración de escalado automático de Amazon Keyspaces de tu mesa mediante el AWS CLI

Para ver la configuración de escalado automático de una tabla, puede utilizar la get-table-auto-scaling-settings operación. El siguiente comando CLI es un ejemplo de ello.

aws keyspaces get-table-auto-scaling-settings --keyspace-name mykeyspace --table-name mytable

La salida de este comando tiene el siguiente aspecto.

{ "keyspaceName": "mykeyspace", "tableName": "mytable", "resourceArn": "arn:aws:cassandra:us-east-1:5555-5555-5555:/keyspace/mykeyspace/table/mytable", "autoScalingSpecification": { "writeCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 0, "scaleOutCooldown": 0, "targetValue": 50.0 } } }, "readCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 60, "scaleOutCooldown": 60, "targetValue": 50.0 } } } } }

Desactive el escalado automático de Amazon Keyspaces para una tabla mediante el AWS CLI

Puedes desactivar el escalado automático de Amazon Keyspaces para tu mesa en cualquier momento. Si ya no necesita escalar la capacidad de lectura o escritura de la tabla, debería considerar la posibilidad de desactivar el escalado automático para que Amazon Keyspaces no siga modificando la configuración de la capacidad de lectura o escritura de la tabla. Puede actualizar la tabla con una UpdateTable operación.

El siguiente comando desactiva el escalado automático de la capacidad de lectura de la tabla. También elimina las CloudWatch alarmas que se crearon en su nombre.

aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --auto-scaling-specification readCapacityAutoScaling={autoScalingDisabled=true}
nota

Para eliminar el rol vinculado al servicio que utiliza Application Auto Scaling, debe deshabilitar el escalado automático en todas las tablas de la cuenta. Regiones de AWS