Autoscaling

Mit Autoscaling können Sie die Anzahl oder den Lebenszyklusstatus von Compute-Instanzen in einem Instanzpool automatisch anpassen. Dadurch erhalten Sie konsistente Performance für die Endbenutzer während Perioden mit hohem Bedarf und können die Kosten in Zeiträumen mit geringem Bedarf reduzieren.

Sie können die folgenden Autoscaling-Typen auf einen Instanzpool anwenden:

Autoscaling wird für VM- und Bare-Metal-Instanzpools unterstützt, die Standard-, DenseIO- und GPU-Ausprägungen verwenden.

Sie können die folgenden Aufgaben mit Autoscaling ausführen.

Funktionsweise von Autoscaling: Grundlagen

Sie verwenden Autoscaling-Konfigurationen, um die Größe und den Lebenszyklusstatus der Instanzpools automatisch zu verwalten. Wenn das Autoscaling Instanzen in einem Instanzpool automatisch bereitstellt, wird der Pool heraufskaliert. Wenn das Autoscaling Instanzen aus dem Pool entfernt, wird der Pool herunterskaliert. Mit Autoscaling können Sie auch Instanzen in einem Instanzpool planbasiert stoppen und starten.

Wenn ein Instanzpool herunterskaliert wird, werden Instanzen beendet (gelöscht). Instanzen werden in dieser Reihenfolge beendet: Die Anzahl der Instanzen wird auf Availability-Domains und dann auf Faultdomains verteilt. Schließlich wird die älteste Instanz in einer Faultdomain zuerst beendet.

Eine Autoscaling-Konfiguration enthält eine oder mehrere Autoscaling Policys. Diese Policys definieren die Kriterien, die Autoscaling-Aktionen auslösen, sowie die auszuführenden Aktionen. Jede Autoscaling-Konfiguration kann entweder eine metrikbasierte Autoscaling Policy oder mehrere planbasierte Autoscaling Policys enthalten. Sie können einer Autoscaling-Konfiguration maximal 50 planbasierte Autoscaling Policys hinzufügen.

Für jeden Instanzpool kann nur eine Autoscaling-Konfiguration definiert werden.

Metrikbasiertes Autoscaling

Beim metribasierten Autoscaling wählen Sie eine zu überwachende Performancemetrik aus und legen Schwellenwerte fest, die diese erreichen muss, um ein Autoscaling-Ereignis auszulösen. Wenn die Systemauslastung einen Schwellenwert erreicht, wird der Instanzpool durch Autoscaling dynamisch beinahe in Echtzeit skaliert. Bei zunehmender Belastung wird der Pool heraufskaliert. Bei abnehmender Belastung wird der Pool herunterskaliert.
Tipp

Ändern Sie den Wert für die anfängliche Anzahl von Instanzen nicht mehr, nachdem der Pool skaliert wurde. Wenn Sie diesen Wert reduzieren, nachdem die Anzahl der Instanzen in der Poolgröße erhöht wurde, werden Instanzen im Pool beendet. Wenn Sie diesen Wert ändern müssen, muss der neue Wert mindestens der Anzahl der Instanzen entsprechen, die derzeit im Pool vorhanden sind.

Das metrikbasierte Autoscaling basiert auf Performancemetriken, die vom Monitoring-Service erfasst werden, wie die CPU-Auslastung. Diese Performancemetriken werden in einminütigen Zeiträumen aggregiert und dann für alle Instanzen im Instanzpool als Durchschnittswert ermittelt. Wenn drei aufeinanderfolgende Werte (also die durchschnittlichen Metriken für drei aufeinanderfolgende Minuten) den Schwellenwert erreichen, wird ein Autoscaling-Ereignis ausgelöst.

Mit einer Ruhephase zwischen metrikbasierten Autoscaling-Ereignissen kann das System auf der aktualisierten Ebene stabilisiert werden. Die Ruhephase beginnt, sobald der Instanzpool den Status Wird ausgeführt erreicht. Mit dem Autoscaling werden Performancemetriken während der Ruhephase ausgewertet. Wenn die Ruhephase endet, passt das Autoscaling die Größe des Instanzpools bei Bedarf wieder an.

Planbasiertes Autoscaling

Mit planbasiertem Autoscaling können Sie die Poolgröße je nach Bedarf skalieren oder Instanzen in einem Plan stoppen und starten.

Das planbasierte Autoscaling eignet sich ideal für Instanzpools, bei denen der Bedarf auf Basis eines Zeitplans, wie Monat, Datum oder einer Tageszeit, vorhersehbar ist. Pläne können wiederkehrend oder einmalig sein. Beispiel:

  • Ein Instanzpool weist während der Geschäftszeiten eine hohe Auslastung auf. An Abenden und Wochenenden wird der Pool weniger genutzt. Sie können planen, dass der Pool an Wochentagen morgens heraufskaliert und an Wochentagen abends herunterskaliert wird.
  • Ein Instanzpool weist an Silvester eine hohe Auslastung auf. Sie können planen, dass der Pool jedes Jahr am 30. Dezember heraufskaliert und am 2. Januar herunterskaliert wird.
  • Sie veröffentlichen eine neue Anwendung, die im Instanzpool ausgeführt wird, und erwarten, dass viele Personen die Anwendung nach der öffentlichen Ankündigung verwenden. Im Voraus können Sie die Instanzen im Pool so planen, dass sie am Tag der Freigabe starten.

Eine planbasierte Autoscaling-Konfiguration kann mehrere Autoscaling Policys enthalten, die jeweils einen anderen Plan, eine andere Zielpoolgröße oder eine andere Lebenszyklusaktion angeben. Wenn Sie Scale-in- und Scale-out-Ereignisse konfigurieren möchten, müssen Sie mindestens zwei separate Policys erstellen. Eine Policy definiert die Zielpoolgröße und den Zeitplan für die vertikale Skalierung, die andere Policy definiert die Zielpoolgröße und den Zeitplan für die horizontale Skalierung. Wenn Sie Stopp- und Startereignisse planen möchten, müssen Sie mindestens zwei separate Policys erstellen. Eine Policy definiert die Lebenszyklusaktion und den Zeitplan für das Stoppen der Instanzen, die andere Policy definiert die Lebenszyklusaktion und den Zeitplan für das Starten der Instanzen.

Nachdem eine planbasierte Autoscaling Policy ausgeführt wurde, behält der Instanzpool die Zielpoolgröße bei, bis die Poolgröße durch einen anderen Umstand geändert wird, wie z.B. eine andere Autoscaling Policy. Wenn Sie die Poolgröße jedoch manuell ändern, wird sie erst bei Ausführung der nächsten geplanten Autoscaling Policy durch das planbasierte Autoscaling neu angepasst.

Wenn Sie planbasiertes Autoscaling verwenden, um Instanzen zu stoppen oder neu zu starten, werden die Informationen zu den Instanzen beibehalten. Wenn die Instanzen nach dem Herunterfahren gestartet werden, werden sie in den Status zurückversetzt, in dem sie sich vor dem Herunterfahren befanden.

Sie definieren Autoscaling-Pläne mit Cron-Ausdrücken. Autoscaling verwendet die Quartz-Cron-Implementierung. Sie können einen Online-Cron-Ausdrucksgenerator verwenden, um Ihre Cron-Ausdrücke zu verifizieren (z.B. FREEFORMATTER).

Geben Sie alle Zeiten in UTC an.

Hinweis

Planbasierte Autoscaling-Konfigurationen umfassen ein Attribut für die Ruhephase, das Sie in der Konsole und bei Verwendung der API, SDKs und CLI sehen. Die Ruhephase wirkt sich jedoch nicht auf planbasierte Autoscaling-Konfigurationen aus.

Mehrere Zeitpläne verwalten

Wenn mehrere planbasierte Autoscaling-Policys vorhanden sind, kann bei den Zeitplänen ein Konflikt auftreten. Wenn ein Konflikt auftritt, wählt Oracle eine Lebenszyklusstatus-Policy und eine Autoscaling-Policy aus, die ausgeführt werden. Die Lebenszyklusstatus-Policy wird zuerst ausgeführt.

Für die Lebenszyklusstatus-Policy wird die Policy mit der höchsten Aktionspriorität ausgewählt. Die Aktionen werden wie folgt von der höchsten zur niedrigsten Priorität aufgelistet:

  • Neustart erzwingen
  • Neu starten
  • Starten
  • Zwangsweise stoppen
  • Anhalten

Für die Autoscaling-Policy wird die Policy mit der höchsten Instanzanzahl ausgewählt.

Um zu sehen, wie sich der Autoscaling-Plan voraussichtlich in Zukunft auf die Poolgröße auswirkt, zeigen Sie die Prognose für die Poolgröße an.

Cron-Ausdrücke

Ein Cron-Ausdruck ist eine Zeichenfolge, die aus sechs oder sieben Feldern besteht, welche die verschiedenen Teile eines Plans darstellen, wie Stunden oder Wochentage. Cron-Ausdrücke verwenden dieses Format:

<second> <minute> <hour> <day of month> <month> <day of week> <year>

Cron-Ausdrücke

In der folgenden Tabelle sind die Werte und Sonderzeichen aufgeführt, die für jedes Feld zulässig sind.

Feld Zulässige Werte Zulässige Sonderzeichen
Sekunde

0

Hinweis: Wenn Sie API, CLI oder SDKs für das Autoscaling verwenden, müssen Sie 0 als Wert für Sekunden angeben, auch wenn andere Werte einen gültigen Cron-Ausdruck ergeben. Wenn Sie die Konsole verwenden, müssen Sie keinen Wert für Sekunden angeben.

Keine
Minute 0-59 * - , /
Stunde 0-23 * - , /
Tag des Monats 1-31 * - , ? / L W
Monat 1-12 oder JAN-DEC * - , /
Wochentag 1-7 oder SUN-SAT * - , ? / L #
Jahr 1970-2099 * - , /

Die Sonderzeichen werden in der folgenden Tabelle beschrieben.

Sonderzeichen Beschreibung Beispiel
* Steht für alle Werte für ein Feld. * im Monatsfeld bedeutet jeden Monat.
- Gibt einen Wertebereich an. 8-17 im Stundenfeld bedeutet die Stunden 8 bis 17 oder 08:00 bis 17:00 Uhr.
, Kennzeichnet mehrere Werte. 3,5 im Wochentagfeld bedeutet Dienstag und Donnerstag.
?

Gibt keine spezifischen Werte an.

Wenn Sie einen Tag des Monats angeben möchten, verwenden Sie ? im Wochentagfeld.

Wenn Sie einen Wochentag angeben möchten, verwenden Sie ? im Feld "Tag des Monats".

0 0 10 ? * MON * bedeutet jeden Montag um 10 Uhr.
/ Verwenden Sie n/m, um Inkremente anzugeben. Der Wert vor dem Schrägstrich ist die Startzeit, und die Zahl nach dem Schrägstrich ist der Wert, um den erhöht werden soll. 0/20 im Minutenfeld bedeutet die Minuten 0, 20 und 40.
L

Letzter Tag der Woche oder letzter Tag des Monats.

Verwenden Sie xL im Wochentagfeld, um den letzten x Tag des Monats anzugeben.

Verwenden Sie L-n im Feld "Tag des Monats", um einen Offset von n Tagen ab dem letzten Tag des Monats anzugeben.

Verwenden Sie L nicht mit mehreren Werten oder einem Wertebereich.

L im Feld "Tag des Monats" bedeutet 31. Januar, 28. Februar in Nicht-Schaltjahren usw.

6L im Wochentagfeld bedeutet den letzten Freitag des Monats.

L-5 bedeutet 5 Tage vor dem letzten Tag des Monats.

W

Der Wochentag (Montag bis Freitag), der dem angegebenen Tag am nächsten ist.

Der Wert überschreitet keine Monatsgrenzen.

Sie können die Zeichen L und W im Feld für den Tag des Monats kombinieren (LW), um den letzten Wochentag des Monats anzugeben.

Verwenden Sie W nicht mit mehreren Werten oder einem Wertebereich.

10W gibt den Wochentag an, der dem 10. des Monats am nächsten liegt. Wenn der 10. ein Samstag ist, bedeutet das Freitag, den 9. Wenn der 10. ein Sonntag ist, bedeutet das Montag, den 11. Wenn der 10. ein Mittwoch ist, bedeutet das Mittwoch, den 10.
# Verwenden Sie x#n, um den n. x Tag des Monats anzugeben. 5#2 bedeutet den zweiten Donnerstag des Monats.

Beispiel-Cron-Ausdrücke

Verwenden Sie diese Beispiel-Cron-Ausdrücke als Ausgangspunkt, um eigene Autoscaling-Pläne zu erstellen. Kombinieren Sie jeden Cron-Ausdruck mit einer Zielpoolgröße, um eine Autoscaling Policy zu erstellen. Fügen Sie dann mindestens eine Autoscaling Policy in eine Autoscaling-Konfiguration ein.

Cron-Beispiele

Ziel: Ein einmaliger Plan mit nur einem Skalierungsereignis. Um 23:00 Uhr am 31. Dezember 2020 skalieren Sie einen Instanzpool auf 100 Instanzen. Sie benötigen eine Autoscaling Policy.

  • Policy 1:

    • Zielpoolgröße: 100 Instanzen
    • Ausführungszeit: 23:00 Uhr am 31. Dezember 2020
    • Cron-Ausdruck: 0, 23, 31, 12, 2020

Ziel: Ein einmaliger Plan mit einem Scale-out- und einem Scale-in-Ereignis. Um 10:00 Uhr am 1. März 2021 skalieren Sie den Pool auf 75 Instanzen herauf. Um 16:00 Uhr am 7. März 2021 skalieren Sie ihn auf 30 Instanzen herunter. Sie benötigen zwei Autoscaling Policys.

  • Policy 1 - Heraufskalieren:

    • Zielpoolgröße: 75 Instanzen
    • Ausführungszeit: 10:00 Uhr am 1. März 2021
    • Cron-Ausdruck: 0 0 10 1 3 ? 2021
  • Policy 2 - Herunterskalieren:

    • Zielpoolgröße: 30 Instanzen
    • Ausführungszeit: 16:00 Uhr am 7. März 2021
    • Cron-Ausdruck: 0 0 7 3 ? 2021

Ziel: Ein wiederkehrender täglicher Plan. An Wochentagen um 08:30 Uhr morgens skalieren Sie den Pool auf 10 Instanzen herauf. An Wochentagen um 18:00 Uhr abends skalieren Sie ihn auf zwei Instanzen herunter. Sie benötigen zwei Autoscaling Policys.

  • Policy 1 - Morgens heraufskalieren:

    • Zielpoolgröße: 10 Instanzen
    • Ausführungszeit: 08:30 Uhr jeden Montag bis Freitag, jeden Monat, jedes Jahr
    • Cron-Ausdruck: 0 30 8 ? * MON-FRI *
  • Policy 2 - Abends herunterskalieren:

    • Zielpoolgröße: 2 Instanzen
    • Ausführungszeit: 18:00 Uhr jeden Montag bis Freitag, jeden Monat, jedes Jahr
    • Cron-Ausdruck: 0 18 ? * MON-FRI *

Ziel: Ein wiederkehrender wöchentlicher Plan. Dienstags und donnerstags skalieren Sie den Pool auf 30 Instanzen. An allen anderen Wochentagen skalieren Sie den Pool auf 20 Instanzen. Sie benötigen zwei Autoscaling Policys.

  • Policy 1 - Dienstag und Donnerstag:

    • Zielpoolgröße: 30 Instanzen
    • Ausführungszeit: 01:00 Uhr an jedem Dienstag und Donnerstag, jeden Monat, jedes Jahr
    • Cron-Ausdruck: 0 0 1 ? * TUE,THU *
  • Policy 2 - Alle anderen Tage:

    • Zielpoolgröße: 20 Instanzen
    • Ausführungszeit: 01:00 Uhr Sonntag bis Montag, Mittwoch und Freitag bis Samstag, jeden Monat, jedes Jahr
    • Cron-Ausdruck: 0 0 1 ? * SUN-MON,WED,FRI-SAT *

Ziel: Ein wiederkehrender monatlicher Plan. Sie setzen die Poolgröße an allen Tagen des Monats auf 20 Instanzen. Am 15. Tag des Monats skalieren Sie auf 40 Instanzen herauf. Sie benötigen zwei Autoscaling Policys.

  • Policy 1 - Tägliche Poolgröße:

    • Zielpoolgröße: 20 Instanzen
    • Ausführungszeit: Mitternacht jeden Tag, jeden Monat, jedes Jahr
    • Cron-Ausdruck: 0 0 0 0 0 0 0 * ? *
  • Policy 2 - Heraufskalieren:

    • Zielpoolgröße: 40 Instanzen
    • Ausführungszeit: 00:05 Uhr am 15. Tag des Monats, jeden Monat, jedes Jahr
    • Cron-Ausdruck: 0 5 0 15 * ? *

Erforderliche IAM-Policy

Um Oracle Cloud Infrastructure verwenden zu können, muss ein Administrator Mitglied einer Gruppe sein, der Sicherheitszugriff in einer Policy von einem Mandantenadministrator erteilt wurde. Dieser Zugriff ist unabhängig davon erforderlich, ob Sie die Konsole oder die REST-API mit einem SDK, einer CLI oder einem anderen Tool verwenden. Wenn Sie eine Meldung erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen sie den Mandantenadministrator, welcher Zugriffstyp Ihnen zugewiesen wurde und In welchem Compartment Ihr Zugriff funktioniert.

Für Administratoren: Eine typische Policy, die Zugriff auf Autoscaling-Konfigurationen gewährt, finden Sie unter Verwalten von Compute-Autoscaling-Konfigurationen durch Benutzer zulassen.

Ressourcen taggen

Wenden Sie Tags auf Ressourcen an, um diese entsprechend Ihren Geschäftsanforderungen zu organisieren. Sie können Tags beim Erstellen einer Ressource anwenden und eine Ressource später aktualisieren, um Tags hinzuzufügen, zu ändern oder zu entfernen. Allgemeine Informationen über das Anwenden von Tags finden Sie unter Ressourcentags.

Anforderungen an Autoscaling