Hinweis:

Compute-Ressourcen mit Autoscaling anpassen

Einführung

In diesem Tutorial erstellen Sie eine Webanwendung mit Load Balancing, die basierend auf der CPU-Auslastung automatisch horizontal/vertikal skaliert werden kann.

In diesem Tutorial erstellen Sie einen Load Balancer, eine Compute-Instanz und eine Instanzkonfiguration. Anschließend konfigurieren Sie Autoscaling. Anschließend prüfen Sie das Autoscaling-Feature, weil ein konfigurierter Schwellenwert für die CPU überschritten wird.

Mit Autoscaling können Sie die Anzahl der Compute-Instanzen in einem Instanzpool basierend auf Performancekennzahlen wie der CPU-Auslastung automatisch anpassen. Dadurch erhalten Sie konsistente Performance für die Endbenutzer während Perioden mit hohem Bedarf und können die Kosten während Perioden mit geringem Bedarf reduzieren.

Wählen Sie eine zu überwachende Leistungsmetrik aus, und legen Sie Schwellenwerte fest, die sie erreichen muss, um ein Autoscaling-Ereignis auszulösen. Wenn die Systemauslastung einen Schwellenwert erreicht, werden die Ressourcen beim Autoscaling dynamisch fast in Echtzeit zugewiesen. Wenn die Auslastung zunimmt, werden Instanzen automatisch bereitgestellt, der Instanzpool wird horizontal skaliert. Wenn die Auslastung sinkt, werden Instanzen automatisch entfernt: Der Instanzpool wird vertikal skaliert.

Das automatische Skalieren basiert auf Performancekennzahlen, die vom Monitoring-Service erfasst werden. Diese Performancekennzahlen werden in einminütigen Zeiträumen aggregiert und dann im Instanzpool als Durchschnittswert ermittelt. Wenn drei aufeinanderfolgende Werte (also die durchschnittlichen Metriken pro drei aufeinanderfolgende Minuten) den Schwellenwert erreichen, wird ein Autoscaling-Ereignis ausgelöst.

Mit einer Cooldown-Periode zwischen den Skalierungsereignissen kann das System auf der aktualisierten Ebene stabilisiert werden. Die Abklingzeit beginnt, sobald der Instanzpool einen konstanten Status erreicht. Mit dem Autoscaling werden Performancekennzahlen während der Ruhezeit ausgewertet. Wenn die Cooldown-Zeit endet, passt das automatische Skalieren die Größe des Instanzpools bei Bedarf wieder an.

Hinweis: Die Oracle Cloud Infrastructure-(OCI-)Benutzeroberfläche wird aktualisiert. Daher können einige Screenshots in den Anweisungen von der tatsächlichen UI abweichen.

VCN und Subnetze erstellen

Richten Sie ein VCN ein, um Ihre Linux-Instanz mit dem Internet zu verbinden. Konfigurieren Sie alle Komponenten, die zum Erstellen des virtuellen Netzwerks erforderlich sind.

  1. Öffnen Sie das Navigationsmenü. Gehen Sie unter "Core Infrastructure" zu "Networking", und klicken Sie auf Virtuelle Cloud-Netzwerke.

    Stellen Sie sicher, dass ein Compartment (oder das für Sie angegebene Compartment) in der Liste "Compartment" links ausgewählt ist.

  2. Klicken Sie auf VCN-Assistenten starten.

  3. Wählen Sie das VCN mit Internetverbindung aus, und klicken Sie auf VCN-Assistenten starten.

  4. Geben Sie Folgendes ein (Beschreibungen sind kursiv formatiert. Ersetzen Sie sie durch die Werte für Ihr Szenario):

    • Name: Geben Sie einen Namen für Ihr Cloud-Netzwerk ein.
    • COMPARTMENT: Wählen Sie das gewünschte Compartment
    • VCN-CIDR-BLOCK: 10.0.0.0/16
    • ÖFFENTLICHER SUBNETZ-CIDR-BLOCK: 10.0.0.0/24
    • PRIVATER SUBNETZ-CIDR-BLOCK: 10.0.1.0/24
    • DNS-LÖSUNG: geprüft

    Hinweis: Die öffentlichen und privaten Subnetze haben unterschiedliche CIDR-Blöcke.

  5. Klicken Sie auf "Weiter".

    Das Dialogfeld "VCN mit Internetverbindung erstellen" wird angezeigt. Dabei werden alle eingegebenen Werte bestätigt und zusätzliche zu erstellende Komponenten aufgeführt.

  6. Klicken Sie auf Erstellen, um den Workflow zu starten.

    Dadurch wird ein VCN mit den folgenden Komponenten erstellt:

    VCN, öffentliches Subnetz, privates Subnetz, Internetgateway (IG), NAT-Gateway (NAT), Servicegateway (SG)

  7. Klicken Sie nach Abschluss des Workflows auf Virtuelle Cloud-Netzwerke anzeigen, und Sie werden zur Detailseite des von Ihnen erstellten VCN geleitet.

Load Balancer erstellen und Sicherheitsliste aktualisieren

  1. Öffnen Sie das Navigationsmenü. Gehen Sie unter "Core Infrastructure" zu "Networking", und klicken Sie auf Load Balancer.

  2. Klicken Sie auf Load Balancer erstellen. Füllen Sie das Dialogfeld aus;

    Unter "Details hinzufügen"

    • BALANCERNAME LADEN: Geben Sie einen Namen für den LOAD BALANCER ein.

    • VISIBILITÄTSTYP CHOOSE: Öffentlich

    • Maximale Gesamtbreite auswählen: Wählen Sie Dynamische Ausprägungen aus, und kopieren Sie dann auf Micro - 10 Mbit/s. (Dadurch wird die Bandbreite des Load Balancers angegeben.)

    • VIRTUELLES CLOUD-NETZWERK: Wählen Sie Ihr virtuelles CLOUD-Netzwerk aus.

    • SUBNET: Wählen Sie das öffentliche Subnetz aus

    Klicken Sie auf Weiter.

    Unter "Backends auswählen":

    • SPEZIFISCHE BALANCING-POLITIK: Gewichtetes Round-Robin
    • Backends hinzufügen: Fügen Sie kein Backend hinzu. Dies wird vom Instanzpool verwaltet.

    Unter SPEZIFISCHER GESUNDHEITSPRÜFUNGSPOLITIK

    • PROTOKOLL: HTTP

    • Port: 80

    • URL PATH (URI): /

      Behalten Sie die anderen Optionen als Standard bei

    Click **Next**.
    

    Unter "Configure Listener"

    • TRAFFICTYP ANGEBEN, DEN DER LISTENER VERARBEITET: HTTP

    • PORT ANGEBEN, DEN DER LISTENER AUF INGRESS-TRAFFIC ÜBERWACHT: 80

      Behalten Sie die anderen Optionen als Standard bei

  3. Klicken Sie auf Senden.

  4. Warten Sie, bis der Load Balancer aktiv wird, und notieren Sie sich die öffentliche IP-Adresse.

  5. Öffnen Sie das Navigationsmenü. Gehen Sie unter "Core Infrastructure" zu "Networking", und klicken Sie auf Virtuelle Cloud-Netzwerke. Suchen Sie das zuvor erstellte VCN.

  6. Klicken Sie auf den VCN-Namen, um die Seite "VCN-Details" anzuzeigen.

  7. Klicken Sie auf Sicherheitslisten, und suchen Sie die Standardsicherheitsliste.

  8. Klicken Sie auf Standardsicherheitsliste für Your_VCN und dann auf Ingress-Regeln hinzufügen.

  9. Klicken Sie auf Ingress-Regeln hinzufügen.

    Das Dialogfeld Ingress-Regeln hinzufügen wird angezeigt.

  10. Geben Sie Folgendes ein:

    • Stellen Sie sicher, dass das Statuskennzeichen deaktiviert bleibt
    • Quelltyp: CIDR
    • Quell-CIDR: Geben Sie "0.0.0.0/0" ein.
    • IP-Protokoll: Wählen Sie "TCP" aus
    • Quellportbereich: Alle
    • Zielportbereich: Geben Sie "80" ein (der Listener-Port)
    • Beschreibung: Eingehende HTTP-Verbindungen zulassen

  11. Klicken Sie auf Ingress-Regeln hinzufügen.

Instanzpool erstellen und automatische Skalierung konfigurieren

Webserver erstellen und Instanz konfigurieren

Erstellen Sie eine Oracle Linux-Instanz mit dem Apache-Webserver, und konfigurieren Sie eine Instanz basierend auf dem Webserver. Dies ist die Grundlage für die Konfiguration zur automatischen Skalierung.

  1. Öffnen Sie das Hauptmenü von Oracle Cloud Infrastructure.

  2. Wählen Sie Compute und dann Instanzen aus.

  3. Klicken Sie auf dem Bildschirm mit der Instanzliste auf Instanz erstellen.

  4. Geben Sie einen Namen für die Instanz ein.

  5. Wählen Sie das Compartment aus, in dem die Instanz erstellt werden soll.

  6. Wählen Sie im Abschnitt "Placement and hardware" die folgenden Elemente aus:

    • Availability-Domain Wählen Sie die Availability-Domain aus, in der Sie die Instanz erstellen möchten
    • Faultdomain optional. Kann deaktiviert bleiben
    • Image - Neueste Version von Oracle Linux (standardmäßig ist die neueste unterstützte Version bereits ausgewählt)
    • Form Wählen Sie die gewünschte Form
  7. Wählen Sie im Abschnitt Networking konfigurieren folgende Elemente aus:

    • Netzwerk Wählen Sie ein vorhandenes virtuelles Cloud-Netzwerk aus
    • Virtuelles Cloud-Netzwerk in Wählen Sie den Compartment mit dem gewünschten VCN aus
    • Netzwerk Wählen Sie das Cloud-Netzwerk für das virtuelle Netzwerk aus
    • Subnetz in Wählen Sie den Compartent mit dem gewünschten VCN aus
    • Subnetz Öffentliches Subnetz auswählen
    • Netzwerksicherheitsgruppen verwenden, um Traffic nicht zu kontrollieren
    • Öffentliche IP-Adresse *Öffentliche IPv4-Adresse zuweisen
  8. Gehen Sie im Abschnitt SSH-Schlüssel hinzufügen wie folgt vor:

    Wenn kein SSH-Schlüsselpaar vorhanden ist:

    1. Wählen Sie SSH-Schlüsselpaar generieren aus.
    2. Klicken Sie auf Private Key speichern, und befolgen Sie die Browseroption, um den Private Key zu speichern.
    3. Klicken Sie auf Public Key speichern, und befolgen Sie die Browseroption, um den Public Key zu speichern.

    Bei einem Public Key können Sie:

    1. Wählen Sie Public-Key-Dateien auswählen aus.
    2. Verschieben Sie die Public-Key-Dateien per Drag-and-Drop, oder oder navigieren Sie zu einem Speicherort. Suchen Sie den Speicherort, und wählen Sie die Dateien aus.

    oder

    1. Wählen Sie Public Keys einfügen aus.
    2. Fügen Sie den Public-Key-Wert in SSH-Schlüssel ein (mehrere Schlüssel können hinzugefügt werden, indem Sie auf Anotehr-Schlüssel klicken).
  9. Lassen Sie alle Optionen unter Boot-Volume konfigurieren deaktiviert.

  10. Klicken Sie auf Erweiterte Optionen anzeigen.

    Unter Verwaltung

    • Initialisierungsskript: Wählen Sie Cloud-init-Skript einfügen aus, und fügen Sie das folgende Skript ein. Cloud-init-Skript wird beim ersten Booten nur ausgeführt, um die Instanz zu konfigurieren.
    #cloud-config
    yum_repos:
        epel-testing:
            baseurl: https://yum.oracle.com/repo/OracleLinux/OL7/developer_EPEL/$basearch/
            enabled: true
            failovermethod: priority
            gpgcheck: true
            gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
            name: EPEL ($basearch)
    
    packages:
    - httpd
    - stress
    
    runcmd:
    - [sh, -c, echo "<html>Web Server IP `hostname --ip-address`</html>" > /var/www/html/index.html]
    - [firewall-offline-cmd, --add-port=80/tcp]
    - [systemctl, start, httpd]
    - [systemctl, restart, firewalld]
    
  11. Klicken Sie auf Erstellen.

  12. Sie gelangen zur Detailseite der Instanz. Wenn das gelbe Quadrat grün wird, wird die Instanz durch Provisioning bereitgestellt und ausgeführt.

  13. Warten Sie, bis die Instanz den Status Wird ausgeführt aufweist. Sie können einen Bildlauf nach unten zu Arbeitsanforderungen durchführen, um den Provisioning-Prozess zu prüfen.

  14. Klicken Sie auf "Instanzname". Klicken Sie auf Weitere Aktionen, und wählen Sie Instanzkonfiguration erstellen aus. Geben Sie Folgendes ein:

    • Erstellen in Compartment: Wählen Sie Ihr Compartment aus.
    • Name: Geben Sie einen Namen an.
  15. Klicken Sie auf Instanzpool erstellen, und geben Sie Folgendes ein:

    • Erstellen in Compartment: Wählen Sie Ihr Compartment aus.
    • Name: Geben Sie einen Namen an.
    • Instanzkonfiguration in COMPARTMENT_NAME: Wählen Sie das Compartment aus, wenn es sich vom aktuell ausgewählten Compartment unterscheidet.
    • Instanzkonfigurationsname: Der Instanzpool, der in Schritt 14 erstellt wurde, muss bereits ausgefüllt sein.
    • Anzahl der Instanzen: 0

  16. Klicken Sie auf "Weiter", um die Poll Placement zu konfigurieren.

  17. Geben Sie auf der Seite "Poolplatzierung konfigurieren" Folgendes ein:

    • Availability-Domain: Wählen Sie die AD aus, in der Sie Instanzen platzieren möchten (Sie können AD 1 in der Region mit mehreren ADs auswählen).
    • Compartment für virtuelles Cloud-Netzwerk auswählen: Wählen Sie das VCN-Compartment aus, wenn es sich vom aktuell ausgewählten Compartment unterscheidet, und wählen Sie dann das VCN aus.
    • Subnetz in COMPARTMENT_NAME: Wählen Sie das Compartment des Subnetzes aus, wenn es sich vom aktuell ausgewählten Compartment unterscheidet, und wählen Sie dann das Subnetz aus.
    • Load Balancer anhängen: Wählen Sie diese Option aus.
    • Load Balancer in COMPARTMENT_NAME: Wählen Sie ein LB-Compartment aus, wenn es sich vom aktuell ausgewählten Compartment unterscheidet, und wählen Sie dann den Load Balancer aus
    • Backend-Set: Wählen Sie das erste Backend-Set aus
    • Port: 80
    • VNIC: Übernehmen Sie die Standardeinstellung.
  18. Klicken Sie auf Weiter, prüfen Sie die Informationen, und klicken Sie auf Erstellen.

  19. Öffnen Sie das Navigationsmenü. Wählen Sie unter "Core Infrastructure" die Option Instanzpools aus, und klicken Sie auf den Namen des Instanzpools.

  20. Klicken Sie im Detailbildschirm des Instanzpools auf Weitere Aktionen, wählen Sie Autoscaling-Konfiguration erstellen aus, und geben Sie Folgendes ein:

    • Name: Namen definieren
    • Erstellen in Compartment: Wählen Sie Ihr Compartment aus.
    • Instanzpool in COMPARTMENT_NAME: Wählen Sie das Compartment aus, wenn es sich vom aktuell ausgewählten Compartment unterscheidet, und wählen Sie dann den Instanzpool aus (sofern der Pool nicht sichtbar ist, aktualisieren Sie den Browser, und wiederholen Sie den Vorgang)

  21. Klicken Sie auf Weiter, und geben Sie auf der Seite "Autoscaling Policy konfigurieren" Folgendes ein:

    • Wählen Sie Metrikbasiertes Autoscaling aus.
    • AUTOSCALING POLICY NAME: Geben Sie einen Namen an
    • COOLDOWN IN SECONDS: 300 (Dies ist der Mindestzeitraum zwischen Skalierungsaktionen.)
    • PERFORMANCE METRIC: CPU-Auslastung (Dies ist die Metrik zum Auslösen von Skalierungsaktionen.)
    • SCALE-OUT-OPERATOR : Größer als (>)
    • SCHWELLENWERT IN PROZENT: 80
    • ANZAHL HINZUZUFÜGENDE INSTANZEN: 1
    • SCALE-IN-OPERATOR: Kleiner als (<)
    • SCHWELLENWERT IN PROZENT: 20
    • ANZAHL ZU ENTFERNENDE INSTANZEN: 1
    • MINIMUM NUMBER OF INSTANCES: 1 (das ist die Mindestanzahl Instanzen, die der Pool immer haben wird)
    • MAXIMUM ANZAHL INSTANZEN: 2 (das ist die maximale Anzahl Instanzen, die der Pool immer haben wird)
    • INITIALE ANZAHL VON INSTANCES: 1 (Anzahl der Instanzen, die anfänglich im Instanzpool erstellt werden)

  22. Klicken Sie auf Weiter, prüfen Sie die Informationen, und klicken Sie auf Erstellen.

Setup testen

  1. Prüfen Sie in den Load-Balancer-Details die öffentliche IP des Load Balancers, und öffnen Sie sie im Webbrowser.

  2. Klicken Sie in der OCI-Konsole unter Compute auf Instanzpools und dann auf Ihren Poolnamen. Klicken Sie auf Erstellte Instanzen. Daraufhin sollte eine erstellte Compute-Instanz angezeigt werden. Klicken Sie auf den Namen der Compute-Instanz.

  3. Im Terminal, in dem Sie den Youtube-Prioritätsschlüssel gespeichert haben, SSH auf der Instanz

    ssh -i <private_key> opc@<PUBLIC_IP_OF_COMPUTE>
    
  4. Starten Sie nun die CPU-Belastung. Geben Sie folgenden Befehl ein:

    sudo stress --cpu 4 --timeout 350
    

    Starten Sie 4 Mitarbeiter mit einem Timeout von 350 Sekunden.

  5. Wechseln Sie zurück zur OCI-Konsole, und navigieren Sie zur Seite "Instanzpooldetails". Scrollen Sie nach unten zum Bildschirm Metrik. Die CPU sollte nach einer Minute aufsteigen.

  6. In ca. 3-5 Minuten (Zeit, die beim Erstellen der Autoscaling-Konfiguration konfiguriert wurde) muss der Status des Pools in Skalierung geändert werden, und eine zweite Compute-Instanz sollte gestartet werden. Klicken Sie auf **Arbeitsanforderungen, und die Arbeitsanforderung wird angezeigt, mit der eine neue Instanz erstellt wird.

    Dies liegt daran, dass unsere Kriterien für eine CPU-Auslastung > 10 erfüllt wurden.

  7. Wenn die zweite Instanz hochgefahren und gestartet ist und der Instanzpoolstatus "Wird ausgeführt" lautet, wechseln Sie zum Webbrowser, und aktualisieren Sie die Seite mehrmals, und beobachten Sie, wie der Load Balancer den Traffic zwischen den beiden Webservern ausgleicht.

  8. Wechseln Sie zurück zum Terminal, und wenn das Stresstool noch ausgeführt wird, klicken Sie auf Strg + C, um das Skript zu stoppen.

  9. Wechseln Sie zurück zum OCI-Konsolenfenster, und navigieren Sie zur Detailseite Ihrer Compute-Instanz. Prüfen Sie, ob die CPU-Auslastung nach einer Minute ausfällt.

  10. Navigieren Sie zur Seite "Instanzpooldetails", und ändern Sie den Instanzpoolstatus nach 3-4 Minuten in Skalierung. Zusätzliche Compute-Instanz wird gelöscht.

    Dies liegt daran, dass die Kriterien für die CPU-Auslastung < 5 erfüllt werden.

Ressourcen löschen

  1. Wechseln Sie zum OCI-Konsolenfenster.

  2. Öffnen Sie das Navigationsmenü. Wählen Sie unter "Core Infrastructure" die Option Instanzpools aus. Klicken Sie ganz rechts auf die drei Punkte , und wählen Sie Beenden aus. Bestätigen Sie den Vorgang, wenn Sie dazu aufgefordert werden.

  3. Öffnen Sie das Navigationsmenü. Wählen Sie unter "Core Infrastructure" die Option Instanzkonfigurationen aus. Klicken Sie ganz rechts auf die drei Punkte , und wählen Sie Beenden aus.

  4. Öffnen Sie das Navigationsmenü. Wählen Sie unter "Core Infrastructure" die Option Instanzen aus. Klicken Sie ganz rechts auf die drei Punkte , und wählen Sie Beenden aus. Aktivieren Sie das Kontrollkästchen Angehängtes Boot-Volume endgültig löschen, und klicken Sie dann auf Instanz beenden.

  5. Öffnen Sie das Navigationsmenü. Wählen Sie unter "Networking" die Option Load Balancer aus. Klicken Sie ganz rechts auf die drei Punkte , und wählen Sie Beenden aus. Bestätigen Sie den Vorgang, wenn Sie dazu aufgefordert werden.

  6. Öffnen Sie das Navigationsmenü. Wählen Sie unter "Networking" die Option Virtuelle Cloud-Netzwerke aus. Klicken Sie ganz rechts auf die drei Punkte , und wählen Sie Beenden aus. Bestätigen Sie den Vorgang, wenn Sie dazu aufgefordert werden.

  7. Öffnen Sie das Navigationsmenü. Wählen Sie unter "Core Infrastructure" die Option Instanzpools aus. Klicken Sie ganz rechts auf die drei Punkte , und wählen Sie Beenden aus. Nachdem Sie die Ressourcen aufgelistet haben, klicken Sie auf Alle beenden.

  8. Suchen Sie die erste Compute-Instanz, klicken Sie auf das Aktionssymbol und dann auf Beenden.

  9. Stellen Sie sicher, dass das angehängte Boot-Volume endgültig gelöscht ist, und klicken Sie auf "Instanz beenden". Warten Sie, bis die Instanz vollständig beendet wurde.

  10. Klicken Sie im OCI-Konsolenfenster auf der Seite "Instanzpooldetails" unter Aktion auf Beenden. Geben Sie im Popup-Dialogfeld den Instanzpoolnamen an, und klicken Sie auf Beenden. Dadurch wird der Pool zusammen mit der Compute-Instanz und der Konfiguration für automatische Skalierung gelöscht.

  11. Navigieren Sie zu Instanzkonfigurationen unter Compute. Klicken Sie bei der Instanzkonfiguration unter den drei vertikalen Punkten auf Löschen.

  12. Navigieren Sie zu AutoScaling Configurations unter Compute. Klicken Sie bei Ihrer Instanzkonfiguration auf Löschen.

  13. Klicken Sie im Menü "OCI-Services" unter "Networking" auf Load Balancer, suchen Sie den Load Balancer, und klicken Sie unter den drei vertikalen Punkten auf Beenden.

  14. Klicken Sie im Menü "OCI-Services" unter "Networking" auf Virtuelle Cloud-Netzwerke, suchen Sie Ihr VCN, klicken Sie auf das Aktionssymbol und dann auf Beenden. Klicken Sie im Bestätigungsfenster auf Alle löschen. Klicken Sie auf Schließen, nachdem das VCN gelöscht wurde.

Herzlichen Glückwunsch! Sie haben die Übung erfolgreich abgeschlossen.

Danksagungen

Weitere Lernressourcen

Sehen Sie sich weitere Übungen unter docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning-Kanal YouTube zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.