View a markdown version of this page

Erstellen Sie eine Richtlinie zur Zielverfolgung mithilfe hochauflösender Metriken, um schneller reagieren zu können - 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 mithilfe hochauflösender Metriken, um schneller reagieren zu können

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 Richtlinien zur Zielverfolgung, um die Auslastung anhand hochauflösender CloudWatch Metriken für Anwendungen mit schwankenden Nachfragemustern zu überwachen, z. B. APIs für die Kundenbetreuung, Live-Streaming-Dienste, E-Commerce-Websites und Datenverarbeitung auf Abruf. Um eine höhere Präzision bei der Anpassung der Kapazität an die Nachfrage zu erreichen, verwendet Target Tracking diese feinkörnige Überwachung, um Änderungen der Nachfrage und Auslastung Ihrer EC2-Instances schneller zu erkennen und darauf zu reagieren.

Weitere Informationen zur Veröffentlichung Ihrer Metriken in hoher Auflösung finden Sie im CloudWatch Amazon-Benutzerhandbuch unter Veröffentlichen benutzerdefinierter Metriken. Um auf EC2-Metriken zuzugreifen und diese zu veröffentlichen, z. B. zur CPU-Auslastung bei hoher Auflösung, möchten Sie möglicherweise den CloudWatch Agenten verwenden.

AWS-Regionen

Die Zielverfolgung mit hochauflösenden Metriken ist in allen AWS-Regionen außer der AWS GovCloud (US) Regions verfügbar.

So funktioniert die Zielverfolgungsrichtlinie 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 anhand einer hochauflösenden Metrik zu skalieren, geben Sie den Namen der Metrik an und legen Sie den Metrikzeitraum, 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

Ein Metrikzeitraum von mehr als 60 wird nicht unterstützt.

Sie können das Ziel-Tracking 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 Zeitraum der Metrik definieren.

Beispiele

Beispiel 1

Im folgenden Beispiel wird eine Richtlinie zur Zielverfolgung erstellt, die auf einer hochauflösenden CloudWatch Metrik basiert. Die Metrik wird mit einer Auflösung von 10 Sekunden veröffentlicht. Indem Sie den Zeitraum definieren, können Sie die Zielverfolgung aktivieren, um diese Metrik mit einer Granularität von 10 Sekunden zu überwachen. Ersetzen Sie jeden user input placeholder durch Ihre 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 mathematische Ausdrücke für Metriken verwenden, um mehrere Metriken zur Skalierung zu einer einzigen Zeitreihe zu kombinieren. Metrische Mathematik ist besonders nützlich, um vorhandene Metriken in Durchschnittswerte pro Instanz umzurechnen. Die Konvertierung von Metriken ist unerlässlich, da bei der Zielverfolgung davon ausgegangen wird, dass die Metrik umgekehrt proportional zur Kapazität der Auto Scaling-Gruppe ist. Wenn also die Kapazität steigt, sollte die Metrik um fast das gleiche Verhältnis sinken.

Nehmen wir beispielsweise an, Sie haben eine Metrik, die die ausstehenden Aufträge darstellt, die von Ihrer Anwendung verarbeitet werden müssen. Sie können metrische Berechnungen verwenden, um die ausstehenden Jobs durch die Betriebskapazität Ihrer Auto 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 angezeigt wird. Wenn Sie für die Skalierung eine höhere Auflösung verwenden möchten, kann dies dazu führen, dass die Kennzahl für den Zeitraum zwischen Kapazität und ausstehendem Auftrag nicht übereinstimmt. 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 die Metrik für ausstehende Aufträge mithilfe mathematischer Kennzahlen durch die Kapazität dividiert. Für den Zeitraum setzen wir beide Metriken auf 10 Sekunden. Da die Metrik in Intervallen von 1 Minute veröffentlicht wird, verwenden wir den FILL-Vorgang für die Kapazitätsmetrik.

Um mithilfe der metrischen Mathematik 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": "GroupInServiceInstances", "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 Sie keine fehlenden Datenpunkte haben, 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 Metrikwert pro Instanz pro Minute, den Sie für Ihre Auto Scaling-Gruppe beibehalten möchten. Die Festlegung eines geeigneten Zielwerts ist entscheidend, wenn Sie eine Metrik verwenden, deren Wert sich je nach Zeitraum der Metrik vervielfachen kann. Beispielsweise haben alle auf der Zählung basierenden Metriken wie die Anzahl der Anfragen oder ausstehende Jobs, die die SUM-Statistik verwenden, je nach ausgewähltem Zeitraum einen anderen Metrikwert. Sie sollten trotzdem davon ausgehen, dass Sie ein Ziel im Vergleich zum Durchschnitt pro Minute festlegen.

  • Obwohl für die Nutzung von Amazon EC2 Auto Scaling keine zusätzlichen Gebühren anfallen, müssen Sie für die Ressourcen wie Amazon EC2-Instances, CloudWatch Metriken und Alarme bezahlen. CloudWatch Die im vorherigen Beispiel erstellten Alarme mit hoher Auflösung haben einen anderen Preis als CloudWatch Standardalarme. Weitere Informationen zur CloudWatch Preisgestaltung finden Sie unter CloudWatch Amazon-Preise.

  • Für das Target-Tracking müssen die Metriken 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-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 auszufüllen.