Ajout d’une stratégie d’autoscaling à un cluster de bases de données Amazon Aurora - Amazon Aurora

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.

Ajout d’une stratégie d’autoscaling à un cluster de bases de données Amazon Aurora

Vous pouvez ajouter une stratégie de mise à l’échelle à l’aide de la AWS Management Console, de AWS CLI ou de l’API Application Auto Scaling.

Note

Pour un exemple d’ajout d’une stratégie de mise à l’échelle à l’aide d’CloudFormation, consultez Déclaration d’une stratégie de mise à l’échelle pour un cluster de bases de données Aurora dans le Guide de l’utilisateur AWS CloudFormation.

Vous pouvez ajouter une stratégie de mise à l’échelle à un cluster de bases de données Aurora à partir de l’AWS Management Console.

Pour ajouter une stratégie Auto Scaling à un cluster de bases de données Aurora
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Bases de données.

  3. Choisissez le cluster de bases de données Aurora auquel vous souhaitez ajouter une stratégie.

  4. Choisissez l’onglet Logs & events (Journaux et événements).

  5. Dans la section Auto scaling policies (Stratégies Auto Scaling), choisissez Ajouter.

    La boîte de dialogue Ajouter une Stratégie Auto Scaling s’affiche.

  6. Dans le champ Policy Name (Nom de stratégie), saisissez le nom de la stratégie.

  7. Pour la métrique cible, choisissez l’une des actions suivantes :

    • Average CPU utilization of Aurora Replicas (Utilisation moyenne d’UC des réplicas Aurora) pour créer une stratégie basée sur l’utilisation moyenne de l’UC.

    • Average connections of Aurora Replicas (Nombre moyen de connexions de réplicas Aurora) pour créer une stratégie basée sur le nombre moyen de connexions aux réplicas Aurora.

  8. Pour la valeur cible, saisissez l’un des éléments suivants :

    • Si vous avez choisi Average CPU utilization of Aurora Replicas (Utilisation moyenne d’UC des réplicas Aurora) à l’étape précédente, saisissez le pourcentage d’utilisation de l’UC à maintenir sur les réplicas Aurora.

    • Si vous avez choisi Average connections of Aurora Replicas (Nombre moyen de connexions de réplicas Aurora) à l’étape précédente, saisissez le nombre de connexions à maintenir.

    Des réplicas Aurora sont ajoutés ou supprimés pour maintenir la métrique proche de la valeur spécifiée.

  9. (Facultatif) Ouvrez Additional Configuration (Configuration supplémentaire) pour créer un temps de stabilisation de mise à l’échelle horizontale ou de montée en puissance.

  10. Pour Minimum capacity (Capacité minimale), saisissez le nombre minimal de réplicas Aurora que la stratégie Aurora Auto Scaling doit maintenir.

  11. Pour Maximum capacity (Capacité maximale), saisissez le nombre maximal de réplicas Aurora que la stratégie Aurora Auto Scaling doit maintenir.

  12. Choisissez Add policy (Ajouter la stratégie).

La boîte de dialogue suivante crée une stratégie Auto Scaling basée sur une utilisation moyenne de l’UC de 40 %. La stratégie indique un minimum de cinq réplicas Aurora et un maximum de 15.

Création d’une stratégie Auto Scaling basée sur une utilisation moyenne de l’UC

La boîte de dialogue suivante crée une stratégie Auto Scaling basée sur un nombre moyen de connexions égal à 100. La stratégie indique un minimum de deux réplicas Aurora et un maximum de huit.

Création d’une stratégie Auto Scaling basée sur un nombre moyen de connexions

Vous pouvez appliquer une stratégie de mise à l’échelle basée sur une métrique prédéfinie ou personnalisée. Pour ce faire, vous pouvez utiliser l’AWS CLI ou l’API Application Auto Scaling. La première étape consiste à enregistrer votre cluster de bases de données Aurora dans Application Auto Scaling.

Enregistrement d’un cluster de bases de données Aurora

Avant d’utiliser Aurora Auto Scaling avec un cluster de bases de données Aurora, enregistrez votre cluster de bases de données Aurora dans Application Auto Scaling. Cette action permet de définir la dimension et les limites de la mise à l’échelle à appliquer à ce cluster. Application Auto Scaling met à l’échelle de façon dynamique le cluster de bases de données Aurora le long de la dimension évolutive rds:cluster:ReadReplicaCount, qui représente le nombre de réplicas Aurora.

Pour enregistrer votre cluster de bases de données Aurora, vous pouvez utiliser l’AWS CLI ou l’API Application Auto Scaling.

AWS CLI

Pour enregistrer votre cluster de bases de données Aurora, utilisez la commande de l’AWS CLI register-scalable-target avec les paramètres suivants :

  • --service-namespace – Définissez cette valeur sur rds.

  • --resource-id – Identifiant de la ressource du cluster de bases de données Aurora. Pour ce paramètre, le type de ressource est cluster et l’identifiant unique est le nom du cluster de bases de données Aurora, par exemple cluster:myscalablecluster.

  • --scalable-dimension – Définissez cette valeur sur rds:cluster:ReadReplicaCount.

  • --min-capacity – Nombre minimal d’instances de base de données en écriture devant être gérées par Application Auto Scaling. Pour plus d’informations sur la relation entre --min-capacity, --max-capacity et le nombre d’instances de base de données dans votre cluster, consultez Capacité minimale et maximale.

  • --max-capacity – Nombre maximal d’instances de base de données en écriture devant être gérées par Application Auto Scaling. Pour plus d’informations sur la relation entre --min-capacity, --max-capacity et le nombre d’instances de base de données dans votre cluster, consultez Capacité minimale et maximale.

Dans l’exemple suivant, vous enregistrez un cluster de bases de données Aurora nommé myscalablecluster. L’enregistrement indique que le cluster de bases de données doit être dimensionné de façon dynamique pour contenir de un à huit réplicas Aurora.

Pour Linux, macOS ou Unix :

aws application-autoscaling register-scalable-target \ --service-namespace rds \ --resource-id cluster:myscalablecluster \ --scalable-dimension rds:cluster:ReadReplicaCount \ --min-capacity 1 \ --max-capacity 8 \

Pour Windows :

aws application-autoscaling register-scalable-target ^ --service-namespace rds ^ --resource-id cluster:myscalablecluster ^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --min-capacity 1 ^ --max-capacity 8 ^

API Application Auto Scaling

Pour enregistrer votre cluster de bases de données Aurora dans Application Auto Scaling, utilisez l’opération d’API Application Auto Scaling RegisterScalableTarget avec les paramètres suivants :

  • ServiceNamespace – Définissez cette valeur sur rds.

  • ResourceID – Identifiant de la ressource du cluster de bases de données Aurora. Pour ce paramètre, le type de ressource est cluster et l’identifiant unique est le nom du cluster de bases de données Aurora, par exemple cluster:myscalablecluster.

  • ScalableDimension – Définissez cette valeur sur rds:cluster:ReadReplicaCount.

  • MinCapacity – Nombre minimal d’instances de base de données en écriture devant être gérées par Application Auto Scaling. Pour plus d’informations sur la relation entre MinCapacity, MaxCapacity et le nombre d’instances de base de données dans votre cluster, consultez Capacité minimale et maximale.

  • MaxCapacity – Nombre maximal d’instances de base de données en écriture devant être gérées par Application Auto Scaling. Pour plus d’informations sur la relation entre MinCapacity, MaxCapacity et le nombre d’instances de base de données dans votre cluster, consultez Capacité minimale et maximale.

Dans l’exemple suivant, vous enregistrez un cluster de bases de données Aurora nommé myscalablecluster avec l’API Application Auto Scaling. Cet enregistrement indique que le cluster de bases de données doit être dimensionné de façon dynamique pour contenir de un à huit réplicas Aurora.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "ServiceNamespace": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount", "MinCapacity": 1, "MaxCapacity": 8 }

Définition d’une stratégie de dimensionnement pour un cluster de bases de données Aurora

Une configuration de stratégie de mise à l’échelle Suivi de la cible est représentée par un bloc JSON dans lequel sont définies les métriques et valeurs cibles. Vous pouvez enregistrer une configuration de stratégie de mise à l’échelle sous forme de bloc JSON dans un fichier texte. Vous utilisez ce fichier texte lors de l’appel de l’AWS CLI ou de l’API Application Auto Scaling. Pour plus d’informations sur la syntaxe de la configuration d’une stratégie, consultez TargetTrackingScalingPolicyConfiguration dans le manuel Référence d’API Application Auto Scaling.

Les options suivantes sont disponibles pour définir une configuration de stratégie de dimensionnement Suivi de la cible.

Utilisation d’une métrique prédéfinie

L’utilisation de métriques prédéfinies vous permet de définir rapidement une stratégie de mise à l’échelle de suivi de la cible pour un cluster de bases de données Aurora qui fonctionne aussi bien avec la mise à l’échelle de suivi de la cible qu’avec la mise à l’échelle dynamique dans Aurora Auto Scaling.

Pour l’heure, les métriques prédéfinies d’Aurora Auto Scaling prises en charge par Aurora sont les suivantes :

  • RDSReaderAverageCPUUtilization – Valeur moyenne de la métrique CPUUtilization dans CloudWatch sur tous les réplicas Aurora du cluster de bases de données Aurora.

  • RDSReaderAverageDatabaseConnections – Valeur moyenne de la métrique DatabaseConnections dans CloudWatch sur tous les réplicas Aurora du cluster de bases de données Aurora.

Pour plus d’informations sur les métriques CPUUtilization et DatabaseConnections, consultez CloudWatch Métriques Amazon pour Amazon Aurora.

Pour utiliser une métrique prédéfinie dans votre stratégie de mise à l’échelle, créez une configuration de suivi de la cible pour votre politique de dimensionnement. Cette configuration doit inclure PredefinedMetricSpecification pour la métrique prédéfinie et TargetValue pour la valeur cible de cette métrique.

Exemple

L’exemple suivant décrit une configuration de stratégie classique pour le dimensionnement Suivi de la cible d’un cluster de bases de données Aurora. Dans cette configuration, la métrique prédéfinie RDSReaderAverageCPUUtilization est utilisée pour ajuster le cluster de bases de données Aurora en fonction d’une utilisation moyenne de l’UC de 40 % sur tous les réplicas Aurora.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } }

Utilisation d’une métrique personnalisée

L’utilisation de métriques personnalisées vous permet de définir une stratégie de dimensionnement Suivi de la cible répondant à vos exigences personnelles. Vous pouvez définir une métrique personnalisée en fonction d’une métrique Aurora qui évolue proportionnellement à la mise à l’échelle.

Toutes les métriques Aurora ne fonctionnent pas pour le suivi de la cible. La métrique doit être une métrique d’utilisation valide et décrire le degré d’occupation d’une instance. La valeur de la métrique doit augmenter ou diminuer proportionnellement au nombre de réplicas Aurora dans le cluster de bases de données Aurora. Cette augmentation ou diminution proportionnelle est nécessaire pour que les données de la métrique puissent être utilisées afin d’augmenter ou de réduire proportionnellement le nombre de réplicas Aurora.

Exemple

L’exemple suivant décrit une configuration de suivi de la cible pour une stratégie de dimensionnement. Dans cette configuration, une métrique personnalisée ajuste un cluster de bases de données Aurora en fonction d’une utilisation moyenne de l’UC de 50 % sur tous les réplicas Aurora d’un cluster de bases de données Aurora nommé my-db-cluster.

{ "TargetValue": 50, "CustomizedMetricSpecification": { "MetricName": "CPUUtilization", "Namespace": "AWS/RDS", "Dimensions": [ {"Name": "DBClusterIdentifier","Value": "my-db-cluster"}, {"Name": "Role","Value": "READER"} ], "Statistic": "Average", "Unit": "Percent" } }

Utilisation des temps de stabilisation

Vous pouvez spécifier une valeur, en secondes, pour que ScaleOutCooldown ajoute un temps de stabilisation pour la montée en charge de votre cluster de bases de données Aurora. De la même manière, vous pouvez ajouter une valeur, en secondes, pour que ScaleInCooldown ajoute un temps de stabilisation pour la diminution en charge de votre cluster de bases de données Aurora. Pour plus d’informations sur ScaleInCooldown et ScaleOutCooldown, consultez TargetTrackingScalingPolicyConfiguration dans le manuel Référence d’API Application Auto Scaling.

L’exemple suivant décrit une configuration de suivi de la cible pour une stratégie de dimensionnement. Dans cette configuration, la métrique prédéfinie RDSReaderAverageCPUUtilization est utilisée pour ajuster un cluster de bases de données Aurora en fonction d’une utilisation moyenne de l’UC de 40 % sur tous les réplicas Aurora de ce cluster de bases de données Aurora. La configuration indique un temps de stabilisation de diminution en charge de 10 minutes et un temps de stabilisation de montée en charge de 5 minutes.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }

Désactivation de l’activité de diminution en charge

Vous pouvez empêcher la configuration de stratégie de dimensionnement Suivi de la cible de diminuer la taille de votre cluster de bases de données Aurora en désactivant l’activité de diminution en charge. La désactivation de l’activité de diminution en charge empêche la stratégie de dimensionnement de supprimer des réplicas Aurora, tout en autorisant encore la stratégie de dimensionnement à les créer si nécessaire.

Vous pouvez spécifier une valeur booléenne pour que DisableScaleIn active ou désactive l’activité de diminution en charge de votre cluster de bases de données Aurora. Pour plus d’informations sur DisableScaleIn, consultez TargetTrackingScalingPolicyConfiguration dans le manuel Référence d’API Application Auto Scaling.

L’exemple suivant décrit une configuration de suivi de la cible pour une stratégie de dimensionnement. Dans cette configuration, la métrique prédéfinie RDSReaderAverageCPUUtilization ajuste un cluster de bases de données Aurora en fonction d’une utilisation moyenne de l’UC de 40 % sur tous les réplicas Aurora de ce cluster de bases de données Aurora. La configuration désactive l’activité de diminution en charge pour la stratégie de dimensionnement.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "DisableScaleIn": true }

Application d’une stratégie de dimensionnement à un cluster de bases de données Aurora

Après avoir enregistré votre cluster de bases de données Aurora dans Application Auto Scaling et défini une stratégie de mise à l’échelle, appliquez cette dernière au cluster de bases de données Aurora enregistré. Pour appliquer une stratégie de mise à l’échelle à un cluster de bases de données Aurora, vous pouvez utiliser l’AWS CLI ou l’API Application Auto Scaling.

Pour appliquer une stratégie de mise à l’échelle à votre cluster de bases de données Aurora, utilisez la commande de l’AWS CLI put-scaling-policy avec les paramètres suivants :

  • --policy-name – Nom de la stratégie de mise à l’échelle.

  • --policy-type – Définissez cette valeur sur TargetTrackingScaling.

  • --resource-id – Identifiant de la ressource du cluster de bases de données Aurora. Pour ce paramètre, le type de ressource est cluster et l’identifiant unique est le nom du cluster de bases de données Aurora, par exemple cluster:myscalablecluster.

  • --service-namespace – Définissez cette valeur sur rds.

  • --scalable-dimension – Définissez cette valeur sur rds:cluster:ReadReplicaCount.

  • --target-tracking-scaling-policy-configuration – Configuration de stratégie de mise à l’échelle de suivi de la cible à utiliser pour le cluster de bases de données Aurora.

Dans l’exemple suivant, vous appliquez une stratégie de mise à l’échelle de suivi de la cible nommée myscalablepolicy à un cluster de bases de données Aurora nommé myscalablecluster à l’aide d’Application Auto Scaling. Pour ce faire, vous utilisez une configuration de stratégie enregistrée dans un fichier nommé config.json.

Pour Linux, macOS ou Unix :

aws application-autoscaling put-scaling-policy \ --policy-name myscalablepolicy \ --policy-type TargetTrackingScaling \ --resource-id cluster:myscalablecluster \ --service-namespace rds \ --scalable-dimension rds:cluster:ReadReplicaCount \ --target-tracking-scaling-policy-configuration file://config.json

Pour Windows :

aws application-autoscaling put-scaling-policy ^ --policy-name myscalablepolicy ^ --policy-type TargetTrackingScaling ^ --resource-id cluster:myscalablecluster ^ --service-namespace rds ^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --target-tracking-scaling-policy-configuration file://config.json

Pour appliquer une stratégie de mise à l’échelle à votre cluster de bases de données Aurora à l’aide de l’API Application Auto Scaling, utilisez l’opération d’API Application Auto Scaling PutScalingPolicy avec les paramètres suivants :

  • PolicyName – Nom de la stratégie de mise à l’échelle.

  • ServiceNamespace – Définissez cette valeur sur rds.

  • ResourceID – Identifiant de la ressource du cluster de bases de données Aurora. Pour ce paramètre, le type de ressource est cluster et l’identifiant unique est le nom du cluster de bases de données Aurora, par exemple cluster:myscalablecluster.

  • ScalableDimension – Définissez cette valeur sur rds:cluster:ReadReplicaCount.

  • PolicyType – Définissez cette valeur sur TargetTrackingScaling.

  • TargetTrackingScalingPolicyConfiguration – Configuration de stratégie de mise à l’échelle de suivi de la cible à utiliser pour le cluster de bases de données Aurora.

Dans l’exemple suivant, vous appliquez une stratégie de mise à l’échelle de suivi de la cible nommée myscalablepolicy à un cluster de bases de données Aurora nommé myscalablecluster à l’aide d’Application Auto Scaling. Vous utilisez une configuration de stratégie basée sur la métrique prédéfinie RDSReaderAverageCPUUtilization.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "myscalablepolicy", "ServiceNamespace": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } } }