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 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 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
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 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
Mithilfe vordefinierter Metriken können Sie schnell eine Skalierungsrichtlinie für die Zielverfolgung für einen OSS-Cluster ElastiCache für Valkey und Redis definieren, der mit der Zielverfolgung in Auto Scaling funktioniert. ElastiCache ElastiCache Unterstützt derzeit die folgende vordefinierte Metrik in ElastiCache Replicas Auto Scaling:
ElastiCacheReplicaEngineCPUUtilization
— Der Durchschnittswert der CPUUtilization Engine-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 OSS-Metrik ElastiCache für Valkey und Redis basiert und sich 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 für alle Replikate in einem Cluster mit dem Namen an. my-db-cluster
{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "EngineCPUUtilization", "Namespace": "AWS/ElastiCache", "Dimensions": [ {"Name": "ReplicationGroup","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 ü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 ElastiCacheReplicaEngineCPUUtilization
vordefinierte Metrik verwendet, um einen Cluster auf der Grundlage einer durchschnittlichen CPU-Auslastung von 40 Prozent für alle 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 für Valkey und 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 ü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 ElastiCacheReplicaEngineCPUUtilization
vordefinierte Metrik einen Cluster auf der Grundlage einer durchschnittlichen CPU-Auslastung von 40 Prozent für alle 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 ElastiCache OSS-Cluster für Valkey und Redis
Nachdem Sie Ihren Cluster bei ElastiCache for Valkey und 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 für Valkey und Redis anzuwenden, können Sie die AWS CLI oder die Application Auto Scaling Scaling-API verwenden.
Unter Verwendung der AWS CLI
Verwenden Sie den put-scaling-policyBefehl mit den folgenden Parametern, um eine Skalierungsrichtlinie auf Ihren OSS-Cluster ElastiCache für Valkey und 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 mit dem Namen auf einen Cluster myscalablepolicy
an, der myscalablecluster
mit ElastiCache 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 der API
Um mit der Application Auto Scaling API eine Skalierungsrichtlinie auf Ihren ElastiCache Cluster anzuwenden, verwenden Sie den PutScalingPolicyApplication Auto Scaling API-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 für 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 Zielverfolgungs-Skalierungsrichtlinie mit dem Namen auf einen Cluster scalablepolicy
an, der myscalablecluster
mit ElastiCache 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" } } }