Ajout d'une politique de dimensionnement automatique à 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 politique de dimensionnement automatique à un cluster de bases de données Amazon Aurora

Vous pouvez ajouter une politique de dimensionnement à l'aide du AWS Management Console AWS CLI, du ou de l'Application Auto ScalingAPI.

Note

Pour un exemple qui ajoute une politique de dimensionnement en utilisant AWS CloudFormation, voir Déclarer une politique de dimensionnement pour un cluster de base de données Aurora dans le guide de AWS CloudFormation l'utilisateur.

Vous pouvez ajouter une politique de dimensionnement à un cluster de base de données Aurora à l'aide du AWS Management Console.

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

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

  3. Choisissez le cluster de base 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 :

    • CPUUtilisation moyenne des répliques Aurora pour créer une politique basée sur l'CPUutilisation moyenne.

    • 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 CPUUtilisation moyenne des répliques Aurora à l'étape précédente, saisissez le pourcentage d'CPUutilisation que vous souhaitez maintenir sur les répliques 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 politique Auto Scaling basée sur une CPU utilisation moyenne de 40 %. La stratégie indique un minimum de cinq réplicas Aurora et un maximum de 15.

Création d'une politique de dimensionnement automatique basée sur CPU l'utilisation moyenne

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 politique de dimensionnement basée sur une métrique prédéfinie ou personnalisée. Pour ce faire, vous pouvez utiliser le AWS CLI ou l'Application Auto ScalingAPI. La première étape consiste à enregistrer votre cluster de base de données Aurora dans Application Auto Scaling.

Enregistrement d'un cluster de base de données Aurora

Avant d'utiliser Aurora Auto Scaling avec un cluster de base de données Aurora, enregistrez votre cluster de base 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 base 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 base de données Aurora, vous pouvez utiliser le AWS CLI ou l'Application Auto ScalingAPI.

AWS CLI

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

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

  • --resource-id – Identifiant de la ressource du cluster de base de données Aurora. Pour ce paramètre, le type de ressource est cluster et l'identifiant unique est le nom du cluster de base 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, veuillez consulter Une capacité maximale et minimale.

  • --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, veuillez consulter Une capacité maximale et minimale.

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

Pour LinuxmacOS, 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 \

Dans 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 ^

Application Auto Scaling API

Pour enregistrer votre cluster de base de données Aurora auprès d'Application Auto Scaling, utilisez l'APIopération RegisterScalableTargetApplication Auto Scaling avec les paramètres suivants :

  • ServiceNamespace – Définissez cette valeur sur rds.

  • ResourceID – Identifiant de la ressource du cluster de base de données Aurora. Pour ce paramètre, le type de ressource est cluster et l'identifiant unique est le nom du cluster de base 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, veuillez consulter Une capacité maximale et minimale.

  • 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, veuillez consulter Une capacité maximale et minimale.

Dans l'exemple suivant, vous enregistrez un cluster de base de données Aurora nommé myscalablecluster Application Auto ScalingAPI. Cet enregistrement indique que le cluster de base 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 base de données Aurora

Une configuration de politique de dimensionnement pour le suivi des cibles est représentée par un JSON bloc dans lequel les métriques et les valeurs cibles sont définies. Vous pouvez enregistrer une configuration de politique de dimensionnement sous forme de JSON bloc dans un fichier texte. Vous utilisez ce fichier texte lorsque vous invoquez le AWS CLI ou l'Application Auto ScalingAPI. Pour plus d'informations sur la syntaxe de configuration des politiques, consultez TargetTrackingScalingPolicyConfigurationla section Application Auto Scaling API Reference.

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 base 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— La valeur moyenne de la CPUUtilization métrique dans CloudWatch toutes les répliques Aurora du cluster de base de données Aurora.

  • RDSReaderAverageDatabaseConnections— La valeur moyenne de la DatabaseConnections métrique dans CloudWatch toutes les répliques Aurora du cluster de base 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 politique de dimensionnement, 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 base de données Aurora. Dans cette configuration, la métrique RDSReaderAverageCPUUtilization prédéfinie est utilisée pour ajuster le cluster de base de données Aurora sur la base d'une CPU utilisation moyenne de 40 % pour toutes les répliques 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 base 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 base de données Aurora en fonction d'une CPU utilisation moyenne de 50 % de toutes les répliques Aurora d'un cluster de base 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 base 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 base de données Aurora. Pour plus d'informations sur ScaleInCooldown etScaleOutCooldown, consultez TargetTrackingScalingPolicyConfigurationla section Application Auto Scaling API Reference.

L'exemple suivant décrit une configuration de suivi de la cible pour une politique de dimensionnement. Dans cette configuration, la métrique RDSReaderAverageCPUUtilization prédéfinie est utilisée pour ajuster un cluster de base de données Aurora sur la base d'une CPU utilisation moyenne de 40 % pour toutes les répliques Aurora de ce cluster de base 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 base 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 base de données Aurora. Pour plus d'informations à ce sujetDisableScaleIn, consultez TargetTrackingScalingPolicyConfigurationla section Application Auto Scaling API Reference.

L'exemple suivant décrit une configuration de suivi de la cible pour une politique de dimensionnement. Dans cette configuration, la métrique RDSReaderAverageCPUUtilization prédéfinie ajuste un cluster de base de données Aurora en fonction d'une CPU utilisation moyenne de 40 % de toutes les répliques Aurora de ce cluster de base 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 base de données Aurora

Après avoir enregistré votre cluster de base 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 base de données Aurora enregistré. Pour appliquer une politique de dimensionnement à un cluster de base de données Aurora, vous pouvez utiliser le AWS CLI ou l'Application Auto ScalingAPI.

Pour appliquer une politique de dimensionnement à votre cluster de base de données Aurora, utilisez la put-scaling-policy AWS CLI commande 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 base de données Aurora. Pour ce paramètre, le type de ressource est cluster et l'identifiant unique est le nom du cluster de base 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 base 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 base 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 LinuxmacOS, 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

Dans 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 politique de dimensionnement à votre cluster de base de données Aurora avec Application Auto ScalingAPI, utilisez l'APIopération PutScalingPolicyApplication Auto Scaling 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 base de données Aurora. Pour ce paramètre, le type de ressource est cluster et l'identifiant unique est le nom du cluster de base 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 base 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 base 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" } } }