Amazon Aurora Auto Scaling mit Aurora Replicas - Amazon Aurora

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.

Amazon Aurora Auto Scaling mit Aurora Replicas

Um Ihre Konnektivitäts- und Workload-Anforderungen zu erfüllen, passt Aurora Auto Scaling dynamisch die Anzahl der Aurora-Replicas (Reader-DB-Instances) an, die für einen Aurora-DB-Cluster bereitgestellt werden. Aurora Auto Scaling ist für Aurora MySQL und Aurora PostgreSQL verfügbar. Mithilfe von Aurora Auto Scaling kann Ihr Aurora-DB-Cluster plötzliche Konnektivitäts- oder Workloaderhöhungen bewältigen. Wenn die Konnektivität oder Workload abnimmt, entfernt Aurora Auto Scaling unnötige Aurora-Replicas, sodass Sie nicht für nicht genutzte bereitgestellte DB-Instances zahlen müssen.

Sie definieren und wenden eine Skalierungsrichtlinie auf einen Aurora DB-Cluster an. Die Skalierungsrichtlinie definiert die minimale und maximale Anzahl von Aurora-Replicas, die Aurora Auto Scaling verwalten kann. Basierend auf der Richtlinie passt Aurora Auto Scaling die Anzahl der Aurora Replicas als Reaktion auf die tatsächlichen Workloads, die anhand von CloudWatch Amazon-Metriken und Zielwerten bestimmt werden, nach oben oder unten an.

Anmerkung

Aurora Auto Scaling gilt nicht für die Arbeitslast auf der Writer-DB-Instance. Aurora Auto Scaling hilft nur bei der Arbeitslast auf den Reader-Instances.

Sie können den verwenden AWS Management Console , um eine Skalierungsrichtlinie anzuwenden, die auf einer vordefinierten Metrik basiert. Alternativ können Sie entweder die AWS CLI oder die Aurora Auto Scaling Scaling-API verwenden, um eine Skalierungsrichtlinie anzuwenden, die auf einer vordefinierten oder benutzerdefinierten Metrik basiert.

Bevor Sie beginnen

Bevor Sie Aurora Auto Scaling mit einem Aurora-DB-Cluster verwenden können, müssen Sie zunächst einen Aurora-DB-Cluster mit einer primären (Writer-)DB-Instance erstellen. Weitere Informationen zum Erstellen eines Aurora-DB-Clusters finden Sie unter Erstellen eines Amazon Aurora-DB Clusters.

Aurora Auto Scaling skaliert einen DB-Cluster nur, wenn sich der DB-Cluster im verfügbaren Status befindet.

Wenn Aurora Auto Scaling eine neue Aurora-Replica hinzufügt, gehört die neue Aurora-Replica derselben DB-Instance-Klasse an, die auch von der primären Instance verwendet wird. Weitere Informationen zu DB-Instance-Klassen finden Sie unter Amazon Aurora Aurora-DB-Instance-Klassen. Die Hochstufungsebene für neue Aurora Replicas ist auf die niedrigste Priorität eingestellt, die standardmäßig 15 ist. Dies bedeutet, dass während eines Failovers eine Replica mit einer höheren Priorität, wie beispielsweise eine manuell erstellte, zuerst hochgestuft wird. Weitere Informationen finden Sie unter Fehlertoleranz für einen Aurora-DB-Cluster.

Aurora Auto Scaling entfernt nur die Aurora-Replicas, die es selbst erstellt hat.

Um von Aurora Auto Scaling zu profitieren, müssen Ihre Anwendungen Verbindungen zu neuen Aurora-Replicas unterstützen. Hierfür empfehlen wir die Verwendung des Aurora-Reader-Endpunkts. Sie können einen Treiber wie den AWS JDBC-Treiber verwenden. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit einem Amazon Aurora-DB-Cluster.

Anmerkung

Aurora Global Databases unterstützen derzeit kein Aurora Auto Scaling für sekundäre DB-Cluster.

Aurora-Auto Scaling-Richtlinien

Aurora Auto Scaling verwendet eine Skalierungsrichtlinie, um die Anzahl der Aurora-Replicas in einem Aurora-DB-Cluster anzupassen. Aurora-Auto Scaling besteht aus folgenden Komponenten:

  • Eine serviceverknüpfte Rolle

  • Eine Zielmetrik

  • Minimale und maximale Kapazität

  • Eine Ruhephase

Serviceverknüpfte Rolle

Aurora Auto Scaling verwendet die serviceverknüpfte Rolle AWSServiceRoleForApplicationAutoScaling_RDSCluster. Weitere Informationen finden Sie unter Serviceverknüpfte Rollen für Application Auto Scaling im Benutzerhandbuch zu Application Auto Scaling.

Zielmetrik

Bei dieser Art von Richtlinien wird eine vordefinierte oder benutzerdefinierte Metrik und ein Zielwert für die Metrik in einer Konfiguration der Skalierungsrichtlinien für die Zielverfolgung festgelegt. Aurora Auto Scaling erstellt und verwaltet CloudWatch Alarme, die die Skalierungsrichtlinie auslösen, und berechnet die Skalierungsanpassung auf der Grundlage der Metrik und des Zielwerts. Die Skalierungsrichtlinie fügt Aurora-Repliken hinzu oder entfernt sie, wenn erforderlich, um die Metrik auf dem angegebenen Zielwert oder in der Nähe davon zu halten. Abgesehen davon, dass eine Skalierungsrichtlinie für die Ziel-Nachverfolgung die Metrik nahe an dem Zielwert hält, passt sie sich auch an die Schwankungen in der Metrik aufgrund einer sich ändernden Workload an. Eine solche Richtlinie minimiert auch schnelle Schwankungen in der Anzahl der verfügbaren Aurora-Repliken für Ihren DB-Cluster.

Nehmen wir zum Beispiel eine Skalierungsrichtlinie, die die vordefinierte durchschnittliche CPU-Auslastung verwendet. Eine solche Richtlinie kann die CPU-Auslastung bei einem bestimmten Prozentsatz der Auslastung halten, z. B. bei 40 Prozent.

Anmerkung

Für jeden Aurora DB-Cluster können Sie nur eine Auto-Scaling-Richtlinie für jede Zielmetrik erstellen.

Wenn Sie Aurora Auto Scaling konfigurieren, wird der Zielmetrikwert als Durchschnitt aller Reader-Instances im Cluster berechnet. Diese Berechnung wird wie folgt durchgeführt:

  • Beinhaltet alle Reader-Instances im Aurora-Cluster, unabhängig davon, ob sie von Auto Scaling verwaltet oder manuell hinzugefügt werden.

  • Beinhaltet Instanzen, die mit benutzerdefinierten Endpunkten verknüpft sind. Benutzerdefinierte Endpunkte haben keinen Einfluss auf die Berechnung von Zielmetriken.

  • Beinhaltet nicht die Writer-Instanz des Clusters.

Die Metriken werden CloudWatch anhand der folgenden Dimensionen abgeleitet:

  • DBClusterIdentifier

  • Role=READER

Stellen Sie sich zum Beispiel einen Aurora MySQL-Cluster mit dem folgenden Setup vor:

  • Manuelle Instanzen (nicht von Auto Scaling gesteuert):

    • Writer mit 50% CPU-Auslastung

    • Reader 1 (benutzerdefinierter Endpunkt:custom-reader-1) mit einer CPU-Auslastung von 90%

    • Reader 2 (benutzerdefinierter Endpunkt:custom-reader-2) mit 90% CPU-Auslastung

  • Auto Scaling Scaling-Instanz:

    • Reader 3 (mit Auto Scaling hinzugefügt) mit 10% CPU-Auslastung

In diesem Szenario wird die Zielmetrik für die Auto Scaling Scaling-Richtlinie wie folgt berechnet:

Target metric = (CPU utilization of reader 1 + reader 2 + reader 3) / total number of readers Target metric = (90 + 90 + 10) / 3 = 63.33%

Die Auto Scaling Scaling-Richtlinie verwendet diesen Wert, um zu bewerten, ob auf der Grundlage des definierten Schwellenwerts ein- oder herunterskaliert werden soll.

Berücksichtigen Sie dabei Folgendes:

  • Obwohl benutzerdefinierte Endpunkte festlegen, wie der Traffic an bestimmte Leser weitergeleitet wird, schließen sie Leser nicht von der Metrikberechnung aus.

  • Manuelle Instanzen sind immer in den Berechnungen der Zielmetriken enthalten.

  • Um unerwartetes Skalierungsverhalten zu vermeiden, stellen Sie sicher, dass die Auto Scaling Scaling-Konfiguration alle Reader-Instances im Cluster berücksichtigt.

  • Wenn ein Cluster keine Leser hat, wird die Metrik nicht berechnet und die Auto Scaling Scaling-Richtlinienalarme bleiben inaktiv. Damit die Auto Scaling Scaling-Richtlinie effektiv funktioniert, muss zu jeder Zeit mindestens ein Lesegerät vorhanden sein.

Minimale und maximale Kapazität

Sie können die maximale Anzahl von Aurora-Replicas angeben, die von Application Auto Scaling verwaltet werden sollen. Dieser Wert muss auf 0 – 15 gesetzt werden und gleich oder größer als der für die Mindestanzahl von Aurora-Replicas angegebene Wert sein.

Sie können auch die minimale Anzahl von Aurora-Replicas angeben, die von Application Auto Scaling verwaltet werden sollen. Dieser Wert muss auf 0 – 15 gesetzt werden und gleich oder kleiner als der für die maximal Anzahl von Aurora-Replicas angegebene Wert sein.

Es muss mindestens eine Reader-DB-Instance vorhanden sein, damit Aurora Auto Scaling funktioniert. Wenn der DB-Cluster keine Reader-Instance hat und Sie die Mindestkapazität auf 0 setzen, funktioniert Aurora Auto Scaling nicht.

Anmerkung

Die minimale und maximale Kapazität wird für einen Aurora DB-Cluster festgelegt. Die angegebenen Werte gelten für alle mit diesem Aurora DB-Cluster verknüpften Richtlinien.

Ruhephase

Sie können die Reaktionsfähigkeit einer Skalierungsrichtlinie für die Zielverfolgung anpassen, indem Sie Ruhephasen hinzufügen, nachdem eine Skalierung Ihres Aurora DB-Clusters erfolgt ist. Eine Ruhephase blockiert nachfolgende Scale-in- oder Scale-out-Anforderungen bis zum Ablauf der Frist. Diese Blockierungen verlangsamen das Löschen von Aurora-Replicas in Ihrem Aurora-DB-Cluster für Scale-In-Anforderungen und das Erstellen von Aurora-Replicas für Scale-Out-Anforderungen.

Sie können die folgenden Ruhephasen angeben:

  • Eine Scale-In-Aktivität reduziert die Anzahl der Aurora-Replicas in Ihrem Aurora-DB-Cluster. Eine Scale-In-Ruhephase gibt die Zeitspanne in Sekunden an, nach der eine Scale-In-Aktivität abgeschlossen sein muss, bevor eine weitere Scale-In-Aktivität gestartet werden kann.

  • Eine Scale-Out-Aktivität erhöht die Anzahl der Aurora-Replicas in Ihrem Aurora-DB-Cluster. Eine Scale-Out-Ruhephase gibt die Zeitspanne in Sekunden an, nach der eine Scale-Out-Aktivität abgeschlossen sein muss, bevor eine weitere Scale-Out-Aktivität gestartet werden kann.

    Anmerkung

    Eine Ruhephase zum Aufskalieren wird ignoriert, wenn eine nachfolgende Anforderung zum Aufskalieren für eine größere Anzahl von Aurora-Replikaten gilt als die erste Anforderung.

Wenn Sie keine Ruhephase für das Ab- bzw. Aufskalieren festlegen, wird jeweils der Standardwert von 300 Sekunden verwendet.

Aktivieren oder Deaktivieren von Scale-In-Aktivitäten

Sie können die Scale-In-Aktivitäten für eine Richtlinie aktivieren oder deaktivieren. Die Aktivierung von Scale-In-Aktivitäten ermöglicht es der Skalierungsrichtlinie, Aurora-Repliken zu löschen. Wenn die Scale-In-Aktivitäten aktiviert sind, gilt für die Scale-In-Aktivitäten die Scale-In-Ruhezeit in der Skalierungsrichtlinie. Das Deaktivieren von Scale-In-Aktivitäten verhindert das Löschen von Aurora-Repliken durch die Skalierungsrichtlinie.

Anmerkung

Scale-Out-Aktivitäten sind immer aktiviert, so dass die Skalierungsrichtlinie bei Bedarf Aurora-Replicas erstellen kann.

Auto Scaling-Richtlinien hinzufügen, bearbeiten oder löschen

Sie können Auto Scaling-Richtlinien mithilfe der, oder Application Auto Scaling-API hinzufügen AWS Management Console AWS CLI, bearbeiten oder löschen. Weitere Informationen zum Hinzufügen, Bearbeiten oder Löschen von Auto Scaling-Richtlinien finden Sie in den folgenden Abschnitten.

DB-Instance IDs und Tagging

Wenn ein Replikat von Aurora Auto Scaling hinzugefügt wird, wird seine DB-Instance-ID von application-autoscaling-vorangestellt, z.B. application-autoscaling-61aabbcc-4e2f-4c65-b620-ab7421abc123.

Das folgende Tag wird automatisch zur DB-Instance hinzugefügt. Sie können es auf der Registerkarte Tags der Detailseite der DB-Instance anzeigen.

Tag Value
application-autoscaling:resourceId cluster:mynewcluster-cluster

Weitere Informationen zu Amazon-RDS-Ressourcen-Tags finden Sie unter Verschlagwortung von Amazon Aurora und Amazon-Ressourcen RDS.

Aurora Auto Scaling und Performance Insights

Sie können Performance Insights verwenden, um Replikate zu überwachen, die von Aurora Auto Scaling hinzugefügt wurden, genau wie bei jeder Reader-DB-Instance von Aurora.

Weitere Informationen zum Verwenden von Performance Insights zur Überwachung von Aurora-DB-Clustern finden Sie unter Überwachung mit Performance Insights auf .