Erstellen Sie eine Richtlinie zur Zielverfolgung mit hochauflösenden Metriken für eine schnellere Reaktion - Amazon EC2 Auto Scaling

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.

Erstellen Sie eine Richtlinie zur Zielverfolgung mit hochauflösenden Metriken für eine schnellere Reaktion

Target Tracking unterstützt hochauflösende CloudWatch Metriken mit Datenpunkten auf Sekundenebene, die in kürzeren Intervallen als einer Minute veröffentlicht werden. Konfigurieren Sie Target-Tracking-Richtlinien, um die Auslastung anhand hochauflösender CloudWatch Metriken für Anwendungen mit volatilen Nachfragemustern zu überwachen, z. B. Kundenbetreuung, Live-Streaming-DiensteAPIs, E-Commerce-Websites und Datenverarbeitung auf Abruf. Um eine höhere Präzision bei der Abstimmung von Kapazität und Nachfrage zu erreichen, nutzt Target Tracking diese detaillierte Überwachung, um die sich ändernde Nachfrage und Auslastung Ihrer Instances schneller zu erkennen und darauf zu reagieren. EC2

Weitere Informationen darüber, wie Sie Ihre Messwerte mit hoher Auflösung veröffentlichen können, finden Sie unter Veröffentlichen benutzerdefinierter Metriken im CloudWatch Amazon-Benutzerhandbuch. Um auf EC2 Metriken zuzugreifen und diese zu veröffentlichen, z. B. die CPU Nutzung in hoher Auflösung, sollten Sie CloudWatch Agent verwenden.

Die Zielverfolgung mithilfe von Messwerten mit hoher Auflösung ist in den folgenden AWS-Regionen Bereichen verfügbar:

Regionscode Name der Region

us-east-1

USA Ost (Nord-Virginia)

us-west-2

USA West (Oregon)

ap-southeast-1

Asien-Pazifik (Singapur)

eu-west-1

Europa (Irland)

So funktioniert die Richtlinie zur Zielverfolgung mit hochauflösenden Metriken

Sie erstellen Richtlinien zur Zielverfolgung, indem Sie die Metrik, die Sie verfolgen möchten, und den Zielwert, den Sie für die Metrik beibehalten möchten, definieren. Um mit einer Metrik mit hoher Auflösung zu skalieren, geben Sie den Namen der Metrik an und legen den Messwertzeitraum, in dem das Ziel-Tracking diese Metrik beobachtet, auf einen Wert unter 60 Sekunden fest. Derzeit beträgt das niedrigste unterstützte Intervall 10 Sekunden. Sie können Ihre Metrik in kürzeren Intervallen als diesen veröffentlichen.

Anmerkung

Eine Metrikperiode von mehr als 60 wird nicht unterstützt.

Sie können die Zielverfolgung für eine einzelne CloudWatch Metrik konfigurieren oder mehrere CloudWatch Metriken abfragen und mathematische Ausdrücke verwenden, um neue einzelne Zeitreihen auf der Grundlage dieser Metriken zu erstellen. Mit beiden Optionen können Sie den metrischen Zeitraum definieren.

Beispiele

Beispiel 1

Im folgenden Beispiel wird eine Zielverfolgungsrichtlinie erstellt, die auf einer CloudWatch Metrik mit hoher Auflösung basiert. Die Metrik wird mit einer Auflösung von 10 Sekunden veröffentlicht. Durch die Definition des Zeitraums können Sie die Zielverfolgung aktivieren, um diese Metrik mit einer Genauigkeit von 10 Sekunden zu überwachen. Ersetzen Sie jedes user input placeholder mit Ihren eigenen Informationen.

$ cat ~/config.json { "TargetValue": 100.0, "CustomizedMetricSpecification": { "MetricName": "MyHighResolutionMetric", "Namespace": "MyNamespace", "Dimensions": [ { "Name": "MyOptionalDimensionName", "Value": "MyOptionalMetricDimensionValue" } ], "Statistic": "Average", "Unit": "None" "Period": "10 } }
Beispiel 2

Sie können metrische mathematische Ausdrücke verwenden, um mehrere Metriken zur Skalierung zu einer einzigen Zeitreihe zusammenzufassen. Metrische Mathematik ist besonders nützlich, um bestehende Metriken in Durchschnittswerte pro Instanz umzurechnen. Die Konvertierung von Metriken ist wichtig, da bei der Zielverfolgung davon ausgegangen wird, dass die Metrik umgekehrt proportional zur Kapazität der Auto Scaling Scaling-Gruppe ist. Wenn die Kapazität steigt, sollte die Metrik also um fast das gleiche Verhältnis sinken.

Nehmen wir zum Beispiel an, Sie haben eine Kennzahl, die die ausstehenden Jobs darstellt, die von Ihrer Anwendung bearbeitet werden sollen. Sie können metrische Mathematik verwenden, um die ausstehenden Jobs durch die laufende Kapazität Ihrer Auto Scaling Scaling-Gruppe zu dividieren. Auto Scaling veröffentlicht die Kapazitätsmetrik mit einer Granularität von 1 Minute, sodass für Intervalle unter einer Minute kein Wert für diese Metrik vorhanden ist. Wenn Sie für die Skalierung eine höhere Auflösung verwenden möchten, kann dies zu einem Zeitunterschied zwischen der Kapazität und der Metrik für ausstehende Jobs führen. Um diese Diskrepanz zu vermeiden, empfehlen wir, den FILL Ausdruck zu verwenden, um die fehlenden Werte mit der Kapazitätszahl zu füllen, die im Zeitstempel der vorherigen Minute aufgezeichnet wurde.

Im folgenden Beispiel wird metrische Mathematik verwendet, um die Metrik für ausstehende Aufträge durch die Kapazität zu dividieren. Für den Zeitraum legen wir beide Messwerte auf 10 Sekunden fest. Da die Metrik in Intervallen von 1 Minute veröffentlicht wird, verwenden wir den FILL Vorgang für die Kapazitätsmetrik.

Um metrische Mathematik zu verwenden, um mehrere Metriken zu ändern

{ "CustomizedMetricSpecification": { "Metrics": [ { "Label": "Pending jobs to be processed", "Id": "m1", "MetricStat": { "Metric": { "MetricName": "MyPendingJobsMetric", "Namespace": "Custom", }, "Stat": "Sum" "Period": 10 }, "ReturnData": false }, { "Label": "Get the running instance capacity (matching the period to that of the m1)", "Id": "m2", "MetricStat": { "Metric": { "MetricName": "GroupInService", "Namespace": "AWS/AutoScaling", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" } ] }, "Stat": "Average" "Period": 10 }, "ReturnData": false }, { "Label": "Calculate the pending job per capacity (note the use of the FILL expression)", "Id": "e1", "Expression": "m1 / FILL(m2,REPEAT)", "ReturnData": true } ] }, "TargetValue": 100 }

Überlegungen

Beachten Sie Folgendes, wenn Sie Zielverfolgung und hochauflösende Metriken verwenden.

  • Um sicherzustellen, dass keine Datenpunkte fehlen, die zu unerwünschten Ergebnissen der automatischen Skalierung führen könnten, muss Ihre CloudWatch Metrik mit derselben oder einer höheren Auflösung als dem von Ihnen angegebenen Zeitraum veröffentlicht werden.

  • Definieren Sie den Zielwert als den per-instance-per-minute metrischen Wert, den Sie für Ihre Auto Scaling Scaling-Gruppe beibehalten möchten. Die Festlegung eines geeigneten Zielwerts ist entscheidend, wenn Sie eine Metrik verwenden, deren Wert sich auf der Grundlage des Zeitraums der Metrik multiplizieren kann. Beispielsweise haben alle zählbasierten Messwerte wie die Anzahl der Anfragen oder ausstehenden Jobs, die diese SUM Statistik verwenden, je nach ausgewähltem Zeitraum einen anderen Metrikwert. Sie sollten dennoch davon ausgehen, dass Sie sich ein Ziel im Vergleich zum Durchschnitt pro Minute setzen.

  • Für die Nutzung von Amazon EC2 Auto Scaling fallen zwar keine zusätzlichen Gebühren an, Sie müssen jedoch für Ressourcen wie EC2 Amazon-Instances, CloudWatch Metriken und CloudWatch Alarme bezahlen. Die im vorherigen Beispiel erstellten hochauflösenden Alarme haben einen anderen Preis als die CloudWatch Standardalarme. Weitere Informationen zur CloudWatch Preisgestaltung finden Sie unter CloudWatch Amazon-Preise.

  • Für Target Tracking müssen die Kennzahlen die durchschnittliche Auslastung Ihrer EC2 Instances pro Instance wiedergeben. Um dies zu erreichen, können Sie metrische mathematische Operationen als Teil Ihrer Ziel-Tracking-Richtlinienkonfiguration verwenden. Teilen Sie Ihre Metrik durch die Betriebskapazität Ihrer Auto Scaling Scaling-Gruppe. Stellen Sie sicher, dass für jede der Metriken, die Sie zum Erstellen einer einzelnen Zeitreihe verwenden, derselbe Metrikzeitraum definiert ist. Wenn diese Metriken in unterschiedlichen Intervallen veröffentlicht werden, verwenden Sie den FILL Vorgang für die Metrik mit dem höheren Intervall, um die fehlenden Datenpunkte zu ergänzen.