Gestion des politiques de dimensionnement d'Amazon Keyspaces à l'aide de la CLI - Amazon Keyspaces (pour Apache Cassandra)

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Gestion des politiques de dimensionnement d'Amazon Keyspaces à l'aide de la CLI

Pour mettre à jour et gérer les paramètres de dimensionnement automatique d'Amazon Keyspaces par programmation, vous pouvez utiliser le AWS Command Line Interface (AWS CLI) ou l'API. AWS Pour gérer les politiques de dimensionnement automatique d'Amazon Keyspaces à l'aide du langage de requête Cassandra (CQL), consultez. Gestion du dimensionnement automatique d'Amazon Keyspaces avec Cassandra Query Language (CQL) Cette rubrique donne un aperçu des tâches de dimensionnement automatique que vous pouvez gérer par programmation à l'aide du. AWS CLI

Pour plus d'informations sur les AWS CLI commandes Amazon Keyspaces décrites dans cette rubrique, consultez le AWS CLI Command Reference.

Avant de commencer

Vous devez effectuer les tâches suivantes avant de pouvoir commencer.

Configurer des autorisations

Si vous ne l'avez pas encore fait, vous devez configurer les autorisations appropriées pour que l'utilisateur puisse créer et gérer les paramètres de mise à l'échelle automatique. Dans AWS Identity and Access Management (IAM), la politique AWS gérée AmazonKeyspacesFullAccess est requise pour gérer les politiques de dimensionnement d'Amazon Keyspaces. Pour obtenir des instructions complètes, consultez Avant de commencer : accorder des autorisations aux utilisateurs pour le dimensionnement automatique d'Amazon Keyspaces.

Installer le AWS CLI

Si vous ne l'avez pas déjà fait, vous devez installer et configurer AWS CLI. Pour ce faire, consultez le guide de l' AWS Command Line Interface utilisateur et suivez les instructions suivantes :

Créez un nouveau tableau avec mise à l'échelle automatique à l'aide du AWS CLI

Lorsque vous créez une nouvelle table Amazon Keyspaces, vous pouvez activer automatiquement le dimensionnement automatique en fonction de la capacité d'écriture ou de lecture de la table lors de l'CreateTableopération. Cela permet à Amazon Keyspaces de contacter Application Auto Scaling en votre nom pour enregistrer la table que vous spécifiez en tant que cible évolutive et ajuster la capacité d'écriture ou de lecture allouée.

Pour plus d'informations sur la création d'une table multirégionale avec une configuration de mise à l'échelle automatique, consultezCréation d'une nouvelle table multirégionale en mode provisionné avec mise à l'échelle automatique (CLI).

Note

Le dimensionnement automatique d'Amazon Keyspaces nécessite la présence d'un rôle lié à un service (AWSServiceRoleForApplicationAutoScaling_CassandraTable) pour effectuer des actions de dimensionnement automatique en votre nom. Ce rôle est créé automatiquement pour vous. Pour de plus amples informations, veuillez consulter Utilisation de rôles liés à un service pour Amazon Keyspaces.

Pour configurer les paramètres de dimensionnement automatique d'une table par programmation, vous devez utiliser l'autoScalingSpecificationaction qui définit les paramètres du dimensionnement automatique d'Amazon Keyspaces. Les paramètres définissent les conditions qui obligent Amazon Keyspaces à ajuster le débit provisionné de votre table, ainsi que les actions facultatives supplémentaires à effectuer. Dans cet exemple, vous définissez les paramètres de mise à l'échelle automatique pour mytable.

Cette politique contient les éléments suivants :

  • autoScalingSpecification— Spécifie si Amazon Keyspaces est autorisé à ajuster la capacité et le débit en votre nom. Vous pouvez activer la mise à l'échelle automatique pour la capacité de lecture et pour la capacité d'écriture séparément. Vous devez ensuite définir les paramètres suivants pour autoScalingSpecification :

    • writeCapacityAutoScaling— Les unités de capacité d'écriture maximale et minimale.

    • readCapacityAutoScaling— Les unités de capacité de lecture maximale et minimale.

    • scalingPolicy— Amazon Keyspaces soutient la politique de suivi des cibles. Pour définir la politique de suivi des cibles, vous devez configurer les paramètres suivants.

      • targetValue— La mise à l'échelle automatique d'Amazon Keyspaces garantit que le rapport entre la capacité consommée et la capacité allouée reste égal ou proche de cette valeur. Vous définissez targetValue en tant que pourcentage.

      • disableScaleIn: (Facultatif) Un boolean qui indique si la table scale-in est désactivée ou activée. Ce paramètre est désactivé par défaut. Pour l'activerscale-in, définissez la boolean valeur surFALSE. Cela signifie que la capacité est automatiquement réduite pour une table en votre nom.

      • scaleOutCooldown— Une activité de scale-out augmente le débit provisionné de votre table. Pour ajouter un temps de stabilisation pour les activités de montée en charge, spécifiez une valeur, en secondes, pour ScaleOutCooldown. La valeur par défaut est 0. Pour plus d'informations sur le suivi des cibles et les périodes de recharge, consultez les politiques de dimensionnement de Target Tracking dans le guide de l'utilisateur d'Application Auto Scaling.

      • scaleInCooldown— Une activité de scale-in réduit le débit provisionné de votre table. Pour ajouter un temps de stabilisation pour les activités de mise à l'échelle, spécifiez une valeur, en secondes, pour ScaleInCooldown. La valeur par défaut est 0. Pour plus d'informations sur le suivi des cibles et les périodes de recharge, consultez les politiques de dimensionnement de Target Tracking dans le guide de l'utilisateur d'Application Auto Scaling.

Note

Pour mieux comprendre le fonctionnement de TargetValue, supposons que vous ayez une table avec un paramètre de débit approvisionné de 200 unités de capacité d'écriture. Vous décidez de créer une politique de mise à l'échelle pour cette table, avec une TargetValue de 70 pour cent.

Supposons maintenant que vous commencez à générer du trafic d'écriture vers la table de telle sorte que le débit d'écriture réel est de 150 unités de capacité. Le consumed-to-provisioned ratio est maintenant de (150/200), soit 75 %. Ce ratio étant supérieur à votre objectif, le dimensionnement automatique augmente la capacité d'écriture allouée à 215, de sorte que le ratio soit (150/ 215), soit 69,77 %, le plus proche TargetValue possible de la vôtre, mais sans le dépasser.

Pour mytable, vous avez défini TargetValue une capacité de lecture et d'écriture de 50 %. Le dimensionnement automatique d'Amazon Keyspaces ajuste le débit provisionné de la table dans une fourchette de 5 à 10 unités de capacité afin que le consumed-to-provisioned ratio reste égal ou proche de 50 %. Pour la capacité de lecture, vous définissez les valeurs ScaleInCooldown pour ScaleOutCooldown et sur 60 secondes.

Lorsque vous créez des tables avec des paramètres de mise à l'échelle automatique complexes, il est utile de charger les paramètres de mise à l'échelle automatique à partir d'un fichier JSON. Dans l'exemple suivant, vous pouvez télécharger le fichier JSON d'exemple depuis auto-scaling.zip et l'extraire auto-scaling.json en prenant note du chemin d'accès au fichier. Dans cet exemple, le fichier JSON se trouve dans le répertoire actuel. Pour connaître les différentes options de chemin de fichier, consultez Comment charger des paramètres à partir d'un fichier.

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

Activez la mise à l'échelle automatique sur une table existante à l'aide du AWS CLI

Pour une table Amazon Keyspaces existante, vous pouvez activer le dimensionnement automatique pour la capacité d'écriture ou de lecture de la table à l'UpdateTableaide de cette opération. Pour plus d'informations sur la mise à jour des paramètres de mise à l'échelle automatique pour une table multirégionale, consultezMise à jour de la capacité allouée et des paramètres de dimensionnement automatique d'une table multirégionale (CLI).

Note

Le dimensionnement automatique d'Amazon Keyspaces nécessite la présence d'un rôle lié à un service (AWSServiceRoleForApplicationAutoScaling_CassandraTable) qui exécute des actions de dimensionnement automatique en votre nom. Ce rôle est créé automatiquement pour vous. Pour de plus amples informations, veuillez consulter Utilisation de rôles liés à un service pour Amazon Keyspaces.

Vous pouvez utiliser la commande suivante pour activer le dimensionnement automatique d'Amazon Keyspaces pour une table existante. Les paramètres de mise à l'échelle automatique de la table sont chargés à partir d'un fichier JSON. Dans l'exemple suivant, vous pouvez télécharger le fichier JSON d'exemple depuis auto-scaling.zip et l'extraire auto-scaling.json en prenant note du chemin d'accès au fichier. Dans cet exemple, le fichier JSON se trouve dans le répertoire actuel. Pour connaître les différentes options de chemin de fichier, consultez Comment charger des paramètres à partir d'un fichier.

Pour plus d'informations sur les paramètres de mise à l'échelle automatique utilisés dans l'exemple suivant, consultezCréez un nouveau tableau avec mise à l'échelle automatique à l'aide du 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

Consultez la configuration de mise à l'échelle automatique d'Amazon Keyspaces de votre table à l'aide du AWS CLI

Pour afficher la configuration de mise à l'échelle automatique d'une table, vous pouvez utiliser l'get-table-auto-scaling-settingsopération. La commande CLI suivante en est un exemple.

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

La sortie de cette commande ressemble à ceci :

{ "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 } } } } }

Désactivez la mise à l'échelle automatique d'Amazon Keyspaces pour un tableau à l'aide du AWS CLI

Vous pouvez désactiver le dimensionnement automatique d'Amazon Keyspaces pour votre table à tout moment. Si vous n'avez plus besoin de redimensionner la capacité de lecture ou d'écriture de votre tableau, vous devriez envisager de désactiver le dimensionnement automatique afin qu'Amazon Keyspaces ne continue pas à modifier les paramètres de capacité de lecture ou d'écriture de votre tableau. Vous pouvez mettre à jour le tableau par une UpdateTable opération.

La commande suivante désactive le dimensionnement automatique en fonction de la capacité de lecture de la table. Il supprime également les CloudWatch alarmes créées en votre nom.

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

Pour supprimer le rôle lié à un service utilisé par Application Auto Scaling, vous devez désactiver le dimensionnement automatique sur toutes les tables du compte. Régions AWS