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-DB-Cluster
Sie können eine Skalierungsrichtlinie über die AWS-Managementkonsole, die AWS CLI oder die Application-Auto-Scaling-API hinzufügen.
Anmerkung
Ein Beispiel, bei dem eine Skalierungsrichtlinie mit CloudFormation hinzugefügt wird, finden Sie unter Declaring a scaling policy for an Aurora DB cluster im AWS CloudFormation-Benutzerhandbuch.
Sie können eine Skalierungsrichtlinie über die AWS-Managementkonsole zu einem Aurora-DB-Cluster hinzufügen.
So fügen Sie eine automatische Skalierungsrichtlinie zu einem Aurora DB-Cluster hinzu:
Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/
. -
Wählen Sie im Navigationsbereich Databases (Datenbanken) aus.
-
Wählen Sie den Aurora DB-Cluster aus, zu dem Sie die Richtlinie hinzufügen möchten.
-
Wählen Sie die Registerkarte Logs & events (Protokolle und Ereignisse).
-
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.
-
Geben Sie unter Policy Name (Richtlinienname) den Namen der Richtlinie ein.
-
Wählen Sie für die Zielmetrik eine der nachstehenden Optionen aus:
-
Average CPU utilization of Aurora Replicas (Durchschnittliche CPU-Nutzung von Aurora-Replicas), um eine Richtlinie zu erstellen, die auf der durchschnittlichen CPU-Auslastung basiert.
-
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.
-
-
Geben Sie für den Zielwert eine der nachstehenden Optionen an:
-
Wenn Sie im vorherigen Schritt Average CPU utilization of Aurora Replicas (Durchschnittliche CPU-Nutzung von Aurora-Replicas) ausgewählt haben, geben Sie den Prozentsatz der CPU-Auslastung ein, den Sie auf Aurora-Replicas aufrechterhalten 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.
-
-
(Optional) Erweitern Sie Zusätzliche Konfigurationen, um eine Ruhephase zum Ab- oder Aufskalieren zu erstellen.
-
Geben Sie für Minimale Kapazität die minimale Anzahl von Aurora-Replicas ein, die die Aurora Auto Scaling-Richtlinie beibehalten soll.
-
Geben Sie für Maximale Kapazität die maximale Anzahl von Aurora-Replicas ein, die die Aurora Auto Scaling-Richtlinie beibehalten soll.
-
Wählen Sie Richtlinie hinzufügen aus.
Im folgenden Dialogfeld wird eine Auto Scaling-Richtlinie erstellt, 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.
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.
Sie können eine Skalierungsrichtlinie anwenden, die entweder auf einer vordefinierten oder einer benutzerdefinierten Metrik basiert. Hierfür können Sie die AWS CLI oder die Application-Auto-Scaling-API verwenden. 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 die AWS CLI oder die Application-Auto-Scaling-API verwenden.
AWS CLI
Verwenden Sie zum Registrieren Ihres Aurora-DB-Clusters den AWS CLI-Befehl register-scalable-target mit folgenden Parametern:
-
--service-namespace– Legen Sie diesen Wert auf festrds. -
--resource-id– Die Ressourcenkennung für den Aurora-DB-Cluster. Für diesen Parameter lautet der Ressourcentypclusterund die eindeutige Kennung ist der Name des Aurora-DB-Clusters, beispielsweisecluster:myscalablecluster. -
--scalable-dimension– Legen Sie diesen Wert auf festrds: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-capacityund 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-capacityund 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 Linux, macOS oder Unix:
aws application-autoscaling register-scalable-target \ --service-namespace rds \ --resource-id cluster:myscalablecluster\ --scalable-dimension rds:cluster:ReadReplicaCount \ --min-capacity1\ --max-capacity8\
Für Windows:
aws application-autoscaling register-scalable-target ^ --service-namespace rds ^ --resource-id cluster:myscalablecluster^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --min-capacity1^ --max-capacity8^
API für Application Auto Scaling
Um Ihren Aurora-DB-Cluster mit Auto Scaling von Anwendungen zu registrieren, verwenden Sie die Application Auto Scaling-API-Operation RegisterScalableTarget mit den folgenden Parametern:
-
ServiceNamespace– Legen Sie diesen Wert auf festrds. -
ResourceID– Die Ressourcenkennung für den Aurora-DB-Cluster. Für diesen Parameter lautet der Ressourcentypclusterund die eindeutige Kennung ist der Name des Aurora-DB-Clusters, beispielsweisecluster:myscalablecluster. -
ScalableDimension– Legen Sie diesen Wert auf festrds:cluster:ReadReplicaCount. -
MinCapacity– Die minimale Anzahl an Reader-DB-Instances, die von Application Auto Scaling verwaltet werden sollen. Informationen zur Beziehung zwischenMinCapacity,MaxCapacityund 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 zwischenMinCapacity,MaxCapacityund 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 mit der Application Auto Scaling API. 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 der Skalierungsrichtlinie für die Zielverfolgung wird durch einen JSON-Block repräsentiert, in dem die Metriken und Zielwerte definiert sind. Sie können die Konfiguration einer 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 unter TargetTrackingScalingPolicyConfiguration in der API-Referenz für Application Auto Scaling.
Die folgenden Optionen stehen zur Verfügung, um eine Konfiguration der Skalierungsrichtlinien für die Zielverfolgung zu definieren.
Themen
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 Mittelwert der Metrik
CPUUtilizationin CloudWatch über alle Aurora-Replicas im Aurora-DB-Cluster. -
RDSReaderAverageDatabaseConnections – Der Mittelwert der Metrik
DatabaseConnectionsin CloudWatch über alle 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 vordefinierte Metrik RDSReaderAverageCPUUtilization verwendet, um den Aurora-DB-Cluster basierend auf 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 basierend auf einer durchschnittlichen CPU-Auslastung von 50 Prozent über alle Aurora-Replicas in einem Aurora-DB-Cluster namens a 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 über ScaleInCooldown und ScaleOutCooldown finden Sie unter TargetTrackingScalingPolicyConfiguration in der API-Referenz für Application Auto Scaling.
Das folgende Beispiel beschreibt die Konfiguration einer Zielverfolgung für eine Skalierungsrichtlinie. In dieser Konfiguration wird die vordefinierte Metrik RDSReaderAverageCPUUtilization verwendet, um einen Aurora DB-Cluster anzupassen, basierend auf einer durchschnittlichen CPU-Auslastung von 40 Prozent über alle Aurora -Repliken hinweg in diesem Aurora DB-Cluster. 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 über DisableScaleIn finden Sie unter TargetTrackingScalingPolicyConfiguration in der API-Referenz für Application Auto Scaling.
Das folgende Beispiel beschreibt die Konfiguration einer Zielverfolgung für eine Skalierungsrichtlinie. In dieser Konfiguration passt die vordefinierte Metrik RDSReaderAverageCPUUtilization einen Aurora-DB-Cluster basierend auf einer durchschnittlichen CPU-Auslastung von 40 Prozent über alle Aurora-Replicas in diesem Aurora-DB-Cluster hinweg 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 die AWS CLI oder die Application-Auto-Scaling-API verwenden.
Um eine Skalierungsrichtlinie auf Ihren Aurora-DB-Cluster anzuwenden, verwenden Sie den AWS CLI-Befehl put-scaling-policy mit den folgenden Parametern:
-
--policy-name– Der Name der Skalierungsrichtlinie. -
--policy-type– Legen Sie diesen Wert auf festTargetTrackingScaling. -
--resource-id– Die Ressourcenkennung für den Aurora-DB-Cluster. Für diesen Parameter lautet der Ressourcentypclusterund die eindeutige Kennung ist der Name des Aurora-DB-Clusters, beispielsweisecluster:myscalablecluster. -
--service-namespace– Legen Sie diesen Wert auf festrds. -
--scalable-dimension– Legen Sie diesen Wert auf festrds: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 Linux, macOS oder Unix:
aws application-autoscaling put-scaling-policy \ --policy-namemyscalablepolicy\ --policy-type TargetTrackingScaling \ --resource-id cluster:myscalablecluster\ --service-namespace rds \ --scalable-dimension rds:cluster:ReadReplicaCount \ --target-tracking-scaling-policy-configurationfile://config.json
Für Windows:
aws application-autoscaling put-scaling-policy ^ --policy-namemyscalablepolicy^ --policy-type TargetTrackingScaling ^ --resource-id cluster:myscalablecluster^ --service-namespace rds ^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --target-tracking-scaling-policy-configurationfile://config.json
Um eine Skalierungsrichtlinie auf Ihren Aurora-DB-Cluster über die Application Auto Scaling API anzuwenden, verwenden Sie die Application Auto Scaling-API-Operation PutScalingPolicy mit den folgenden Parametern:
-
PolicyName– Der Name der Skalierungsrichtlinie. -
ServiceNamespace– Legen Sie diesen Wert auf festrds. -
ResourceID– Die Ressourcenkennung für den Aurora-DB-Cluster. Für diesen Parameter lautet der Ressourcentypclusterund die eindeutige Kennung ist der Name des Aurora-DB-Clusters, beispielsweisecluster:myscalablecluster. -
ScalableDimension– Legen Sie diesen Wert auf festrds:cluster:ReadReplicaCount. -
PolicyType– Legen Sie diesen Wert auf festTargetTrackingScaling. -
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" } } }