Definieren einer Skalierungsrichtlinie - Amazon ElastiCache

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 API Referenz 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

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 Target Tracking in ElastiCache (OSSRedis) Auto Scaling funktioniert.

ElastiCache Unterstützt derzeit die folgenden vordefinierten Metriken in NodeGroup Auto Scaling:

  • ElastiCachePrimaryEngineCPUUtilization— Der Durchschnittswert der EngineCPUUtilization Metrik CloudWatch auf allen Primärknoten im Cluster.

  • ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage— Der Durchschnittswert der DatabaseMemoryUsageCountedForEvictPercentage Metrik CloudWatch für alle Primärknoten im Cluster.

  • ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage— Der Durchschnittswert der ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage Metrik CloudWatch für alle Primärknoten im Cluster.

Weitere Informationen über die Metriken EngineCPUUtilizationDatabaseMemoryUsageCountedForEvictPercentage und DatabaseCapacityUsageCountedForEvictPercentage finden Sie unter Überwachung der Nutzung mit CloudWatch Metrics. Um eine vordefinierte Metrik in Ihrer Skalierungsrichtlinie zu verwenden, erstellen Sie eine Zielverfolgungskonfiguration für Ihre Skalierungsrichtlinie. Diese Konfiguration muss einen Wert PredefinedMetricSpecification für die vordefinierte Metrik und einen TargetValue für den Zielwert dieser Metrik enthalten.

Das folgende Beispiel beschreibt eine typische Richtlinienkonfiguration für die Skalierung mit Target-Tracking für einen Cluster ElastiCache mit Valkey oder Redis. OSS In dieser Konfiguration wird die ElastiCachePrimaryEngineCPUUtilization vordefinierte Metrik verwendet, um den Cluster auf der Grundlage einer durchschnittlichen CPU Auslastung von 40 Prozent über alle Primärknoten im Cluster anzupassen.

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

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 auf der Grundlage einer beliebigen ElastiCache Metrik definieren, die 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 ElastiCache (Redis-OSS) Cluster auf der Grundlage einer durchschnittlichen CPU Auslastung von 50 Prozent aller Shards 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": "PRIMARY" } ], "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 finden Sie TargetTrackingScalingPolicyConfigurationin der API Referenz zu Application Auto Scaling.

Das folgende Beispiel beschreibt die Konfiguration einer Zielverfolgung für eine Skalierungsrichtlinie. In dieser Konfiguration wird die ElastiCachePrimaryEngineCPUUtilization vordefinierte Metrik verwendet, um einen ElastiCache (Redis-OSS) Cluster auf der Grundlage einer durchschnittlichen CPU Auslastung von 40 Prozent über alle Primärknoten in diesem Cluster anzupassen. Die Konfiguration sieht eine Ruhephase von 10 Minuten zum Abskalieren und eine Ruhephase von 5 Minuten zum Aufskalieren vor.

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