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

Die Zielverfolgung unterstützt eine hohe Auflösung 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 mit hoher Auflösung zu überwachen CloudWatch Metriken für Anwendungen mit volatilen Nachfragemustern, wie 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 unter Veröffentlichen Sie benutzerdefinierte Metriken in der Amazonas CloudWatch Benutzerleitfaden. Um auf EC2-Metriken, wie z. B. die CPU-Auslastung mit hoher Auflösung, zuzugreifen und diese zu veröffentlichen, möchten Sie vielleicht CloudWatch Agentin.

AWS-Regionen

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

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 die Zielverfolgung für ein einzelnes Gerät konfigurieren CloudWatch Metrik oder Abfrage mehrerer CloudWatch Metriken und verwenden Sie mathematische Ausdrücke, 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 hohen Auflösung basiert CloudWatch Metrik. 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.

Angenommen, 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 Ihnen keine fehlenden Datenpunkte fehlen, die zu unerwünschten Ergebnissen der automatischen Skalierung führen könnten, sollten Sie CloudWatch Die Metrik muss 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 beruhenden 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 bezahlen. CloudWatch Metriken und CloudWatch Alarme. Die im vorherigen Beispiel erstellten Alarme mit hoher Auflösung haben einen anderen Preis als die Standardpreise CloudWatch Alarme. Für weitere Informationen über CloudWatch Preisgestaltung finden Sie unter Amazon CloudWatch Preisgestaltung.

  • Für die Zielverfolgung 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 Richtlinienkonfiguration zur Zielverfolgung. 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.