Hinzufügen einer Auto Scaling-Richtlinie zu einem Amazon Aurora Aurora-DB-Cluster - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Hinzufügen einer Auto Scaling-Richtlinie zu einem Amazon Aurora Aurora-DB-Cluster

Sie können eine Skalierungsrichtlinie mit dem AWS Management Console, dem oder dem AWS CLI Application Auto Scaling hinzufügenAPI.

Anmerkung

Ein Beispiel für das Hinzufügen einer Skalierungsrichtlinie mithilfe von AWS CloudFormation finden Sie unter Deklarieren einer Skalierungsrichtlinie für einen Aurora-DB-Cluster im AWS CloudFormation Benutzerhandbuch.

Sie können einem Aurora-DB-Cluster eine Skalierungsrichtlinie hinzufügen, indem Sie den verwenden AWS Management Console.

So fügen Sie eine automatische Skalierungsrichtlinie zu einem Aurora DB-Cluster hinzu:
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die RDS Amazon-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.

  3. Wählen Sie den Aurora DB-Cluster aus, zu dem Sie die Richtlinie hinzufügen möchten.

  4. Wählen Sie die Registerkarte Logs & events (Protokolle und Ereignisse).

  5. Wählen Sie im Abschnitt Auto scaling policies (Automatische Skalierungsrichtlinien) die Option Add (Hinzufügen) aus.

    Das Dialogfeld Add Auto Scaling policy (Auto Scaling-Richtlinie hinzufügen) wird aufgerufen.

  6. Geben Sie unter Policy Name (Richtlinienname) den Namen der Richtlinie ein.

  7. Wählen Sie für die Zielmetrik eine der nachstehenden Optionen aus:

    • Durchschnittliche CPU Nutzung von Aurora Replicas zur Erstellung einer Richtlinie auf der Grundlage der durchschnittlichen CPU Auslastung.

    • Average connections of Aurora Replicas (Durchschnittliche Verbindungen von Aurora-Repliken), um eine Richtlinie zu erstellen, die auf der durchschnittlichen Anzahl der Verbindungen zu den Aurora-Replicas basiert.

  8. Geben Sie für den Zielwert eine der nachstehenden Optionen an:

    • Wenn Sie im vorherigen Schritt Durchschnittliche CPU Auslastung von Aurora Replicas ausgewählt haben, geben Sie den Prozentsatz der CPU Auslastung ein, den Sie auf Aurora Replicas beibehalten möchten.

    • Wenn Sie im vorherigen Schritt Average connections of Aurora Replicas (Durchschnittliche Verbindungen von Aurora-Replicas) ausgewählt haben, geben Sie die Anzahl der Verbindungen ein, die Sie aufrechterhalten möchten.

    Aurora-Replicas werden hinzugefügt oder entfernt, um die Metrik in der Nähe des angegebenen Wertes zu halten.

  9. (Optional) Erweitern Sie Zusätzliche Konfigurationen, um eine Ruhephase zum Ab- oder Aufskalieren zu erstellen.

  10. Geben Sie für Minimale Kapazität die minimale Anzahl von Aurora-Replicas ein, die die Aurora Auto Scaling-Richtlinie beibehalten soll.

  11. Geben Sie für Maximale Kapazität die maximale Anzahl von Aurora-Replicas ein, die die Aurora Auto Scaling-Richtlinie beibehalten soll.

  12. Wählen Sie Richtlinie hinzufügen aus.

Das folgende Dialogfeld erstellt eine Auto Scaling Scaling-Richtlinie, die auf einer durchschnittlichen CPU Auslastung von 40 Prozent basiert. Die Richtlinie legt ein Minimum von 5 Aurora-Replicas und ein Maximum von 15 Aurora-Replicas fest.

Erstellung einer Auto Scaling-Richtlinie auf der Grundlage der durchschnittlichen CPU Auslastung

Das folgende Dialogfeld erstellt eine automatische Skalierungsrichtlinie, die auf einer durchschnittlichen Verbindungszahl von 100 basiert. Die Richtlinie legt ein Minimum von zwei Aurora-Replicas und ein Maximum von acht Aurora-Replicas fest.

Erstellen einer Auto Scaling-Richtlinie basierend auf durchschnittlichen Verbindungen

Sie können eine Skalierungsrichtlinie anwenden, die entweder auf einer vordefinierten oder einer benutzerdefinierten Metrik basiert. Dazu können Sie das AWS CLI oder das Application Auto Scaling verwendenAPI. Der erste Schritt ist die Registrierung Ihres Aurora-DB-Clusters mit Application Auto Scaling.

Registrieren eines Aurora-DB-Clusters

Bevor Sie Aurora Auto Scaling mit einem Aurora-DB-Cluster verwenden können, müssen Sie zunächst Ihren Aurora-DB-Cluster mit Application Auto Scaling registrieren. Damit legen Sie die Skalierungsdimension und die Grenzen fest, die auf diesen Cluster angewendet werden sollen. Application Auto Scaling skaliert den Aurora-DB-Cluster dynamisch entlang der skalierbaren rds:cluster:ReadReplicaCount-Dimension, die die Anzahl der Aurora-Replikate darstellt.

Um Ihren Aurora-DB-Cluster zu registrieren, können Sie entweder das AWS CLI oder das Application Auto Scaling verwendenAPI.

AWS CLI

Verwenden Sie den register-scalable-target AWS CLI Befehl mit den folgenden Parametern, um Ihren Aurora-DB-Cluster zu registrieren:

  • --service-namespace – Legen Sie diesen Wert auf fest rds.

  • --resource-id – Die Ressourcenkennung für den Aurora-DB-Cluster. Für diesen Parameter lautet der Ressourcentyp cluster und die eindeutige Kennung ist der Name des Aurora-DB-Clusters, beispielsweise cluster:myscalablecluster.

  • --scalable-dimension – Legen Sie diesen Wert auf fest rds:cluster:ReadReplicaCount.

  • --min-capacity – Die minimale Anzahl an Reader-DB-Instances, die von Application Auto Scaling verwaltet werden sollen. Informationen zur Beziehung zwischen --min-capacity, --max-capacity und der Anzahl der DB-Instances in Ihrem Cluster finden Sie unter Minimale und maximale Kapazität.

  • --max-capacity – Die maximale Anzahl an Reader-DB-Instances, die von Application Auto Scaling verwaltet werden sollen. Informationen zur Beziehung zwischen --min-capacity, --max-capacity und der Anzahl der DB-Instances in Ihrem Cluster finden Sie unter Minimale und maximale Kapazität.

Im folgenden Beispiel registrieren Sie einen Aurora-DB-Cluster mit dem Namen myscalablecluster. Die Registrierung zeigt an, dass der DB-Cluster dynamisch skaliert werden soll, um zwischen einer und acht Aurora-Replicas zu haben.

Für LinuxmacOS, oderUnix:

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

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

Um Ihren Aurora-DB-Cluster bei Application Auto Scaling zu registrieren, verwenden Sie den RegisterScalableTargetApplication Auto Scaling API Scaling-Vorgang mit den folgenden Parametern:

  • ServiceNamespace – Legen Sie diesen Wert auf fest rds.

  • ResourceID – Die Ressourcenkennung für den Aurora-DB-Cluster. Für diesen Parameter lautet der Ressourcentyp cluster und die eindeutige Kennung ist der Name des Aurora-DB-Clusters, beispielsweise cluster:myscalablecluster.

  • ScalableDimension – Legen Sie diesen Wert auf fest rds:cluster:ReadReplicaCount.

  • MinCapacity – Die minimale Anzahl an Reader-DB-Instances, die von Application Auto Scaling verwaltet werden sollen. Informationen zur Beziehung zwischen MinCapacity, MaxCapacity und der Anzahl der DB-Instances in Ihrem Cluster finden Sie unter Minimale und maximale Kapazität.

  • MaxCapacity – Die maximale Anzahl an Reader-DB-Instances, die von Application Auto Scaling verwaltet werden sollen. Informationen zur Beziehung zwischen MinCapacity, MaxCapacity und der Anzahl der DB-Instances in Ihrem Cluster finden Sie unter Minimale und maximale Kapazität.

Im folgenden Beispiel registrieren Sie einen Aurora-DB-Cluster myscalablecluster mit dem Namen Application Auto ScalingAPI. Diese Registrierung zeigt an, dass der DB-Cluster dynamisch skaliert werden soll, um zwischen eins bis acht Aurora-Repliken zu haben.

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 }

Definieren einer Skalierungsrichtlinie für einen Aurora-DB-Cluster

Eine Konfiguration einer Skalierungsrichtlinie zur Zielverfolgung wird durch einen JSON Block dargestellt, in dem die Metriken und Zielwerte definiert sind. Sie können eine Konfiguration der Skalierungsrichtlinie als JSON Block in einer Textdatei speichern. Sie verwenden diese Textdatei, wenn Sie die AWS CLI oder die Application Auto Scaling API aufrufen. Weitere Informationen zur Syntax der Richtlinienkonfiguration finden Sie TargetTrackingScalingPolicyConfigurationin der APIReferenz zu Application Auto Scaling.

Die folgenden Optionen stehen zur Verfügung, um eine Konfiguration der Skalierungsrichtlinien für die Zielverfolgung zu definieren.

Verwenden einer vordefinierten Metrik

Durch die Verwendung vordefinierter Metriken können Sie schnell eine Skalierungsrichtlinie für die Zielverfolgung für einen Aurora-DB-Cluster definieren, die sowohl mit der Zielverfolgung als auch mit der dynamischen Skalierung in Aurora Auto Scaling gut funktioniert.

Derzeit unterstützt Aurora die folgenden vordefinierten Metriken in Aurora Auto Scaling:

  • RDSReaderAverageCPUUtilization— Der Durchschnittswert der CPUUtilization Metrik in CloudWatch allen Aurora Replicas im Aurora-DB-Cluster.

  • RDSReaderAverageDatabaseConnections— Der Durchschnittswert der DatabaseConnections Metrik in CloudWatch allen Aurora Replicas im Aurora-DB-Cluster.

Weitere Informationen über die Metriken CPUUtilization und DatabaseConnections finden Sie unter CloudWatch Amazon-Metriken für Amazon Aurora.

Um eine vordefinierte Metrik in Ihrer Skalierungsrichtlinie zu verwenden, erstellen Sie eine Zielverfolgungskonfiguration für Ihre Skalierungsrichtlinie. Diese Konfiguration muss eine PredefinedMetricSpecification für die vordefinierte Metrik und einen TargetValue für den Zielwert dieser Metrik enthalten.

Beispiel

Das folgende Beispiel beschreibt eine typische Richtlinienkonfiguration für die Skalierung der Zielverfolgung für einen Aurora DB-Cluster. In dieser Konfiguration wird die RDSReaderAverageCPUUtilization vordefinierte Metrik verwendet, um den Aurora-DB-Cluster auf der Grundlage einer durchschnittlichen CPU Auslastung von 40 Prozent über alle Aurora Replicas hinweg anzupassen.

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

Verwenden einer benutzerdefinierten Metrik

Durch die Verwendung von benutzerdefinierten Metriken können Sie eine Skalierungsrichtlinie für die Zielverfolgung definieren, die Ihren individuellen Anforderungen entspricht. Sie können eine benutzerdefinierte Metrik basierend auf einer beliebigen Aurora-Metrik definieren, die sich proportional zur Skalierung ändert.

Nicht alle Aurora-Metriken funktionieren für die Zielverfolgung. Die Metrik muss eine gültige Auslastungsmetrik sein und beschreiben, wie ausgelastet eine Instance ist. Der Wert der Metrik muss sich proportional zur Anzahl der Aurora-Replicas im Aurora-DB-Cluster erhöhen oder verringern. Diese proportionale Erhöhung oder Verminderung ist notwendig, um die metrischen Daten zur proportionalen Skalierung oder in der Anzahl der Aurora-Repliken zu verwenden.

Beispiel

Das folgende Beispiel beschreibt die Konfiguration einer Zielverfolgung für eine Skalierungsrichtlinie. In dieser Konfiguration passt eine benutzerdefinierte Metrik einen Aurora-DB-Cluster auf der Grundlage einer durchschnittlichen CPU Auslastung von 50 Prozent aller Aurora Replicas in einem genannten Aurora-DB-Cluster an. 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" } }

Verwenden von Ruhephasen

Sie können einen Wert in Sekunden für ScaleOutCooldown angeben, um eine Ruhephase für die Hochskalierung Ihres Aurora-DB-Clusters hinzuzufügen. Ähnlich können Sie einen Wert in Sekunden für ScaleInCooldown angeben, um eine Ruhephase für die Herunterskalierung Ihres Aurora-DB-Clusters hinzuzufügen. Weitere Informationen zu ScaleInCooldown und ScaleOutCooldown finden Sie TargetTrackingScalingPolicyConfigurationin der APIReferenz zu Application Auto Scaling.

Das folgende Beispiel beschreibt die Konfiguration einer Zielverfolgung für eine Skalierungsrichtlinie. In dieser Konfiguration wird die RDSReaderAverageCPUUtilization vordefinierte Metrik verwendet, um einen Aurora-DB-Cluster auf der Grundlage einer durchschnittlichen CPU Auslastung von 40 Prozent für alle Aurora Replicas in diesem Aurora-DB-Cluster anzupassen. Die Konfiguration sieht eine Scale-In-Ruhephase von 10 Minuten und eine Scale-Out-Ruhephase von 5 Minuten vor.

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

Deaktivieren der Scale-In-Aktivität

Sie können durch die Konfiguration der Skalierungsrichtlinie für die Zielverfolgung verhindern, dass in Ihrem Aurora DB-Cluster ein Scale-In erfolgt, indem Sie die Scale-In-Aktivität deaktivieren. Das Deaktivieren der Scale-In-Aktivität verhindert das Löschen von Aurora-Repliken durch die Skalierungsrichtlinie, und erlaubt der Skalierungsrichtlinie dennoch, Repliken nach Bedarf zu erstellen.

Sie können einen booleschen Wert für DisableScaleIn angeben, um die Scale-In-Aktivität für Ihren Aurora-DB-Cluster zu aktivieren oder zu deaktivieren. Weitere Informationen zu DisableScaleIn finden Sie TargetTrackingScalingPolicyConfigurationin der APIReferenz zu Application Auto Scaling.

Das folgende Beispiel beschreibt die Konfiguration einer Zielverfolgung für eine Skalierungsrichtlinie. In dieser Konfiguration passt die RDSReaderAverageCPUUtilization vordefinierte Metrik einen Aurora-DB-Cluster auf der Grundlage einer durchschnittlichen CPU Auslastung von 40 Prozent aller Aurora Replicas in diesem Aurora-DB-Cluster an. Die Konfiguration deaktiviert die Scale-In-Aktivität für die Skalierungsrichtlinie.

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

Anwenden einer Skalierungsrichtlinie für einen Aurora-DB-Cluster

Nach der Registrierung Ihres Aurora-DB-Clusters mit Application Auto Scaling und der Definition einer Skalierungsrichtlinie wenden Sie die Skalierungsrichtlinie auf den registrierten Aurora-DB-Cluster an. Um eine Skalierungsrichtlinie auf einen Aurora-DB-Cluster anzuwenden, können Sie das AWS CLI oder das Application Auto Scaling verwendenAPI.

Um eine Skalierungsrichtlinie auf Ihren Aurora-DB-Cluster anzuwenden, verwenden Sie den put-scaling-policy AWS CLI Befehl mit den folgenden Parametern:

  • --policy-name – Der Name der Skalierungsrichtlinie.

  • --policy-type – Legen Sie diesen Wert auf fest TargetTrackingScaling.

  • --resource-id – Die Ressourcenkennung für den Aurora-DB-Cluster. Für diesen Parameter lautet der Ressourcentyp cluster und die eindeutige Kennung ist der Name des Aurora-DB-Clusters, beispielsweise cluster:myscalablecluster.

  • --service-namespace – Legen Sie diesen Wert auf fest rds.

  • --scalable-dimension – Legen Sie diesen Wert auf fest rds:cluster:ReadReplicaCount.

  • --target-tracking-scaling-policy-configuration – Die Konfiguration der Skalierungsrichtlinie für die Zielverfolgung, die für den Aurora-DB-Cluster verwendet werden soll.

Im folgenden Beispiel wenden Sie eine Zielverfolgungs-Skalierungsrichtlinie namens myscalablepolicy auf einen Aurora-DB-Cluster namens myscalablecluster mit Application Auto Scaling an. Dazu verwenden Sie eine Richtlinienkonfiguration, die in einer Datei mit dem Namen gespeichert is config.json.

Für LinuxmacOS, oderUnix:

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

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

Um mit Application Auto Scaling eine Skalierungsrichtlinie auf Ihren Aurora-DB-Cluster anzuwendenAPI, verwenden Sie den PutScalingPolicyApplication Auto Scaling API Scaling-Vorgang mit den folgenden Parametern:

  • PolicyName – Der Name der Skalierungsrichtlinie.

  • ServiceNamespace – Legen Sie diesen Wert auf fest rds.

  • ResourceID – Die Ressourcenkennung für den Aurora-DB-Cluster. Für diesen Parameter lautet der Ressourcentyp cluster und die eindeutige Kennung ist der Name des Aurora-DB-Clusters, beispielsweise cluster:myscalablecluster.

  • ScalableDimension – Legen Sie diesen Wert auf fest rds:cluster:ReadReplicaCount.

  • PolicyType – Legen Sie diesen Wert auf fest TargetTrackingScaling.

  • TargetTrackingScalingPolicyConfiguration – Die Konfiguration der Skalierungsrichtlinie für die Zielverfolgung, die für den Aurora-DB-Cluster verwendet werden soll.

Im folgenden Beispiel wenden Sie eine Zielverfolgungs-Skalierungsrichtlinie namens myscalablepolicy auf einen Aurora-DB-Cluster namens myscalablecluster mit Auto Scaling von Anwendungen an. Sie verwenden die Richtlinienkonfiguration RDSReaderAverageCPUUtilization basierend auf einer vordefinierten Metrik.

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