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.
Definieren einer Skalierungsrichtlinie
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:
Themen
Verwenden einer vordefinierten Metrik
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:
Themen
Verwenden einer vordefinierten Metrik
Mithilfe vordefinierter Metriken können Sie schnell eine Skalierungsrichtlinie für die Zielverfolgung für einen OSS Cluster ElastiCache mit Valkey oder Redis definieren, der mit Zielverfolgung in ElastiCache Valkey oder Redis Auto Scaling funktioniert. OSS ElastiCache Unterstützt derzeit die folgende vordefinierte Metrik in ElastiCache Replicas Auto Scaling:
ElastiCacheReplicaEngineCPUUtilization
— Der Durchschnittswert der ngineCPUUtilization E-Metrik CloudWatch für alle Replikate im Cluster. Den aggregierten Metrikwert finden Sie CloudWatch unter „Erforderlich“ ReplicationGroupId und „ ElastiCache ReplicationGroupId, Role
Rollenreplikat“.
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.
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 definieren, die auf einer beliebigen Metrik ElastiCache mit Valkey oder Redis basiert und sich OSS proportional zur Skalierung ändert. Nicht alle ElastiCache Metriken eignen sich 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 -Replicas im -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 -Repliken zu verwenden.
Das folgende Beispiel beschreibt die Konfiguration einer Zielverfolgung für eine Skalierungsrichtlinie. In dieser Konfiguration passt eine benutzerdefinierte Metrik einen Cluster auf der Grundlage einer durchschnittlichen CPU Auslastung von 50 Prozent aller Replikate in einem Cluster mit dem Namen an. my-db-cluster
{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "EngineCPUUtilization", "Namespace": "AWS/ElastiCache", "Dimensions": [ {"Name": "RelicationGroup","Value": "my-db-cluster"}, {"Name": "Role","Value": "REPLICA"} ], "Statistic": "Average", "Unit": "Percent" } }
Verwenden von Ruhephasen
Sie können einen Wert in Sekunden für ScaleOutCooldown
angeben, um eine Ruhephase für die Aufskalierung Ihres Clusters hinzuzufügen. Ähnlich können Sie einen Wert in Sekunden für ScaleInCooldown
angeben, um eine Ruhephase für die Abskalierung Ihres 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 ElastiCacheReplicaEngineCPUUtilization
vordefinierte Metrik verwendet, um einen Cluster auf der Grundlage einer durchschnittlichen CPU Auslastung von 40 Prozent aller Replikate in diesem 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": "ElastiCacheReplicaEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }
Deaktivieren der Scale-In-Aktivität
Sie können verhindern, dass die Konfiguration der Skalierungsrichtlinie für die Zielverfolgung in Ihrem OSS Cluster ElastiCache mit Valkey oder Redis skaliert, indem Sie die Scale-In-Aktivität deaktivieren. Das Deaktivieren der Scale-In-Aktivität verhindert das Löschen von -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 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 ElastiCacheReplicaEngineCPUUtilization
vordefinierte Metrik einen Cluster auf der Grundlage einer durchschnittlichen CPU Auslastung von 40 Prozent aller Replikate in diesem Cluster an. Die Konfiguration deaktiviert die Scale-In-Aktivität für die Skalierungsrichtlinie.
{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "DisableScaleIn": true }
Anwendung einer Skalierungsrichtlinie auf einen Cluster ElastiCache mit Valkey oder Redis OSS
Nachdem Sie Ihren Cluster ElastiCache bei Valkey oder Redis OSS Auto Scaling registriert und eine Skalierungsrichtlinie definiert haben, wenden Sie die Skalierungsrichtlinie auf den registrierten Cluster an. Um eine Skalierungsrichtlinie auf einen OSS Cluster ElastiCache mit Valkey oder Redis anzuwenden, können Sie das AWS CLI oder das Application Auto Scaling verwenden. API
Mit dem AWS CLI
Verwenden Sie den put-scaling-policyBefehl ElastiCache mit den folgenden Parametern, um eine Skalierungsrichtlinie auf Ihren OSS Cluster mit Valkey oder Redis anzuwenden:
-
--plolicy-name – Der Name der Skalierungsrichtlinie.
-
--policy-type – Setzen Sie diesen Wert auf
TargetTrackingScaling
. -
--resource-id — Die Ressourcen-ID für den Cluster. Für diesen Parameter ist der Ressourcentyp ReplicationGroup und die eindeutige Kennung beispielsweise der Name des Clusters.
replication-group/myscalablecluster
-
—service-namespace — Legen Sie diesen Wert auf elasticache fest.
-
--scalable-dimension – Setzen Sie diesen Wert auf
elasticache:replication-group:Replicas
. -
-- target-tracking-scaling-policy -configuration — Die Konfiguration der Skalierungsrichtlinie für die Zielverfolgung, die für den Cluster verwendet werden soll.
Im folgenden Beispiel wenden Sie eine Zielverfolgungs-Skalierungsrichtlinie an, die auf einen Cluster benannt istmyscalablepolicy
, der myscalablecluster
ElastiCache mit Valkey oder OSS Redis Auto Scaling benannt ist. Dazu verwenden Sie eine Richtlinienkonfiguration, die in einer Datei mit dem Namen config.json
gespeichert ist.
Für Linux, macOS oder Unix:
aws application-autoscaling put-scaling-policy \ --policy-name myscalablepolicy \ --policy-type TargetTrackingScaling \ --resource-id replication-group/myscalablecluster \ --service-namespace elasticache \ --scalable-dimension elasticache:replication-group:Replicas \ --target-tracking-scaling-policy-configuration file://config.json
{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "DisableScaleIn": true }
Für Windows:
aws application-autoscaling put-scaling-policy ^ --policy-name myscalablepolicy ^ --policy-type TargetTrackingScaling ^ --resource-id replication-group/myscalablecluster ^ --service-namespace elasticache ^ --scalable-dimension elasticache:replication-group:Replicas ^ --target-tracking-scaling-policy-configuration file://config.json
Verwenden Sie den API
Um eine Skalierungsrichtlinie auf Ihren OSS Cluster ElastiCache mit Valkey oder Redis mit Application Auto Scaling anzuwendenAPI, verwenden Sie den PutScalingPolicyApplication Auto Scaling API Scaling-Vorgang mit den folgenden Parametern:
-
PolicyName — Der Name der Skalierungsrichtlinie.
-
PolicyType — Setzen Sie diesen Wert auf
TargetTrackingScaling
. -
ResourceID — Die Ressourcen-ID für den Cluster. Für diesen Parameter ist der Ressourcentyp ReplicationGroup und der eindeutige Bezeichner beispielsweise der Name des ElastiCache (Redis-OSS) Clusters.
replication-group/myscalablecluster
-
ServiceNamespace — Setzen Sie diesen Wert auf Elasticache.
-
ScalableDimension — Setze diesen Wert auf
elasticache:replication-group:Replicas
. -
TargetTrackingScalingPolicyConfiguration — Die Konfiguration der Skalierungsrichtlinie für die Zielverfolgung, die für den Cluster verwendet werden soll.
Im folgenden Beispiel wenden Sie eine Skalierungsrichtlinie für die Zielverfolgung mit dem Namen auf einen Cluster scalablepolicy
an, der myscalablecluster
ElastiCache mit Valkey oder OSS Redis Auto Scaling benannt ist. Sie verwenden die Richtlinienkonfiguration ElastiCacheReplicaEngineCPUUtilization
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": "elasticache", "ResourceId": "replication-group/myscalablecluster", "ScalableDimension": "elasticache:replication-group:Replicas", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" } } }