Einrichten der EC2 Auto Scaling Group (ASG) auf AWS

Die ASG(Auto Scaling Group)-Funktion wird zusammen mit dem EC2 (Elastic Compute Cloud)-Dienst der AWS(Amazon Web Services)-Cloud angeboten. Eine ASG enthält eine Sammlung von EC2-Instanzen, die zum Zweck der automatischen Skalierung als logische Gruppierung behandelt werden. Ein ASG ermöglicht die Verwendung von EC2-Autoskalierungsfunktionen, wie z.B. Ersetzungen für Gesundheitschecks und Skalierungsrichtlinien. Sie hilft, die Anzahl der Instanzen in einem ASG und die automatische Skalierung des EC2 Auto Scaling Service zu erhalten. Um einen ASG zu erstellen, müssen wir zunächst eine Startkonfiguration erstellen.

Eine Startkonfiguration ist eine Konfigurationsvorlage, die eine ASG zum Starten von EC2-Instanzen verwendet. Wenn wir eine Startkonfiguration erstellen, geben wir Informationen für Instanzen wie Amazon Machine Image (AMI), den Instanz-Typ, ein Schlüsselpaar, Sicherheitsgruppen usw. an.

Die automatische Skalierung überwacht unsere Anwendungen und passt die gewünschte Kapazität automatisch an, wenn es einen Unterschied in der Zählung gibt.

Für die automatische Skalierung fallen keine zusätzlichen Kosten an. Wir müssen nur für die AWS-Ressourcen, die für die Ausführung der Anwendungen benötigt werden, und die Amazon CloudWatch-Überwachungsgebühren bezahlen.

Wenn Sie mehr über die Rechnungsstellung im Zusammenhang mit ASG wissen möchten, klicken Sie hier.

In diesem Artikel sehen wir, wie man eine ASG erstellt und wie die Anzahl der Instanzen beibehalten werden kann, wenn die Anzahl der Instanzen abnimmt oder die Last auf dem System steigt.

Voraussetzungen

  1. AWS-Konto (Erstellen Sie ein Konto, falls Sie noch keines haben).

Was werden wir tun?

  1. Melden Sie sich bei AWS an.
  2. Erstellen einer Startkonfiguration
  3. Erstellen einer Auto-Skalierungsgruppe
  4. Beenden Sie die Instanz, damit ASG die Instanzzählung verwalten kann.
  5. Erhöhen Sie die Last auf den Servern, damit ASG die Anzahl der Instanzen erhöhen kann.
  6. Löschen Sie die Auto-Skalierungsgruppe.

Anmeldung bei AWS

  1. Klicken Sie hier, um zur AWS-Anmeldeseite zu gelangen.

Wenn wir auf den obigen Link klicken, sehen wir eine Webseite wie folgt, auf der wir uns mit unseren Anmeldedaten anmelden müssen.

AWS Login

Sobald wir uns erfolgreich in AWS einloggen, sehen wir die Hauptkonsole mit allen Diensten, die wie folgt aufgelistet sind.

AWS-Verwaltungskonsole

Erstellen einer Startkonfiguration

Um eine Startkonfiguration zu erstellen, klicken Sie auf „Services“ in der Navigationsleiste oben auf dem Bildschirm und klicken Sie auf „EC2“, um zur EC2-Konsole zu gelangen.

Dienstleistungen > Ressourcengruppen

Wählen Sie im Navigationsbereich auf der linken Seite des Bildschirms unter „Auto-Skalierung“ die Option „Konfigurationen starten“.

Ressourcen

Auf der nächsten Seite wählen Sie „Startkonfiguration erstellen“.

Startkonfiguration erstellen

Wählen Sie auf der Seite AMI auswählen einen AMI aus. Sie können den AMI sogar unter Meine AMIs auswählen, wenn Sie Ihren eigenen AMI haben. Hier wähle ich einen Ubuntu Server 18.04 LTS AMI, der für die freie Stufe anwendbar ist.

Ding AMI-Bild

Wählen Sie auf der Seite Instanztyp auswählen eine Hardware-Konfiguration für Ihre Instanz aus. Klicken Sie auf „Weiter“: Konfigurieren“ Details.

Hier wähle ich einen Instanztyp aus, der für die freie Stufe anwendbar ist. Sie können einen Instanztyp Ihrer Wahl wählen.

Wählen Sie den Instanztyp

Geben Sie auf dieser Seite einen Namen für die zu erstellende Startkonfiguration an und lassen Sie den Rest unverändert. Klicken Sie auf „Weiter“: Speicher hinzufügen“.

Speicher hinzufügen

Geben Sie den gewünschten Speicherplatz an und klicken Sie auf „Weiter“: Sicherheitsgruppe konfigurieren“.

Sicherheitsgruppe konfigurieren

Wählen Sie auf der Seite Überprüfung die Option „Neue Sicherheitsgruppe erstellen“ und klicken Sie dann auf Überprüfung. Dies wird helfen, den ssh-Zugriff auf den Server von überall her zu ermöglichen, da die Quelle 0.0.0.0/0 ist.

Erstellen Sie eine neue Sicherheitsgruppe

Wählen Sie auf der Übersichtsseite „Startkonfiguration erstellen“.

Startkonfiguration erstellen

Um ein vorhandenes Schlüsselpaar auszuwählen oder ein neues Schlüsselpaar zu erstellen, wählen Sie eine der aufgelisteten Optionen Ihrer Wahl und aktivieren Sie dann das Bestätigungs-Kontrollkästchen und wählen Sie dann Startkonfiguration erstellen.

Schlüsselpaar auswählen

Erstellen Sie eine Auto-Skalierungsgruppe

Wenn Sie mit der Erstellung einer Startkonfiguration fertig sind, sehen Sie den folgenden Bildschirm. Um eine ASG zu erstellen, klicken Sie auf „Create an Auto Scaling Group using this launch configuration“.

Erstellen einer automatischen Skalierungsgruppe

Geben Sie der zu erstellenden ASG einen Namen und wählen Sie die vorhandenen Subnetze Ihres VPC für Hochverfügbarkeit aus und klicken Sie auf „Weiter: Skalierungsrichtlinien konfigurieren“.

Skalierungsrichtlinien konfigurieren

Wählen Sie auf dieser Seite „Skalierungsrichtlinien verwenden, um die Kapazität dieser Gruppe anzupassen“ und geben Sie die Anzahl der Instanzen an, die zwischen der gewünschten und der maximalen Anzahl von Instanzen in der ASG skaliert werden soll. Behalten Sie im metrischen Typ „Durchschnittliche CPU-Auslastung“ bei und geben Sie den „Zielwert“ Ihrer Wahl an. Dadurch wird die Anzahl der Instanzen in der Gruppe erhöht, wenn die CPU-Last den angegebenen Zielwert in % für den angegebenen Zeitraum überschreitet. Klicken Sie auf „Weiter: Benachrichtigung konfigurieren“.

die Skalierungspolitik zur Anpassung der Kapazität dieser Gruppe verwenden

Dies ist ein optionaler Schritt, der den Empfang der Benachrichtigungen erleichtert. Ich konfiguriere dies nicht, da es ein optionaler Schritt ist. Klicken Sie auf „Weiter“: Tags konfigurieren“.

Benachrichtigung hinzufügen

Dies ist ebenfalls ein optionaler Schritt. Um Tags hinzuzufügen, wählen Sie Tags bearbeiten, geben Sie einen Tag-Schlüssel und einen Wert für jedes Tag an und wählen Sie dann Überprüfen.

Tags hinzufügen

Klicken Sie auf der Übersichtsseite auf die Schaltfläche „Auto-Skalierungsgruppe erstellen“.

Auto-Skalierungsgruppe erstellen

Wenn Sie die Meldung „Auto-Skalierungsgruppe nicht erstellt“ erhalten, geraten Sie nicht in Panik und klicken Sie einfach auf Wiederholen.

Erneut versuchen, eine Gruppe zu erstellen

Gehen Sie jetzt auf die Seite Auto-Skalierung und Sie können den Status der Gruppe Auto-Skalierung sehen, klicken Sie auf Aktivitätsverlauf, um den Status zu sehen.

Geschichte der Aktivität

Sie können auch den Instanzstatus und die Anzahl der Instanzen auf der Instanzseite sehen.

Instanzstatus und Anzahl der Instanzen

Beenden Sie die Instanz, damit ASG die Instanz zählen kann.

Um zu sehen, ob die ASG wie erwartet funktioniert, beenden Sie eine der Instanzen. Wählen Sie die Instanz aus und klicken Sie auf Aktionen -> Instanzstatus -> Beenden und wenn Sie dazu aufgefordert werden, klicken Sie auf „Ja, Beenden“.

Wir hatten in den Skalierungsrichtlinien 2 als unsere gewünschte/Mindestzahl angegeben, was bedeutet, dass unsere ASG immer 2 Instanzen im gesunden Zustand haben muss. Sobald der Abbruch abfällt, wartet die ASG 300 Sekunden lang, die wir in den Skalierungsrichtlinien festgelegt hatten, bevor sie eine Skalierungsaktivität ausführt.

Instanz beenden

Nach 300 Sekunden Wartezeit wird ASG aufgerufen und versucht, eine neue Instanz zu starten, um die gewünschte Anzahl zu erhalten. Sie können den Status in der Aktivitätshistorie von ASG überprüfen.

Start der neuen Instanz

Erhöhen Sie die Belastung der Instanzen, damit ASG die Anzahl der Instanzen erhöhen kann.

Jetzt werden wir sehen, wie ASG die Instanz zählt, wenn die Last auf den Servern den Zielwert überschreitet, den wir in der von uns erstellten Skalierungsrichtlinie angegeben haben.

Um die Last auf dem Server zu erhöhen, loggen Sie sich in die beiden EC2-Instanzen ein.

Um zu erfahren, wie man eine EC2-Instanz erstellt und die Schritte zur Verbindung mit ihr kennt, klicken Sie hier.

Sobald Sie sich angemeldet haben, installieren Sie das Paket, das zur Erhöhung der Last erforderlich ist, mit den folgenden Befehlen.

sudo apt-get update
sudo apt-get install stress

Erhöhen Sie die CPU-Last mit dem folgenden Befehl.

stress --cpu  50 --timeout 400

Dieser Befehl erhöht die CPU-Last für 400 Sekunden auf 50%.

Wir hatten den Zielwert als 40% in ASG angegeben. Sobald die CPU-Last den Zielwert überschreitet, wartet ASG 300 Sekunden, die wir in den Skalierungsrichtlinien angegeben hatten, bevor sie eine Skalierungsaktivität ausführt.

Nachdem Sie 300 Sekunden gewartet haben, wird ASG aufgerufen und versucht, eine neue Instanz zu starten, um die Anforderung zu erfüllen.

Sie können den Status in der Aktivitätshistorie von ASG überprüfen.

Lastprüfung

Sie können die Anzahl der Instanzen auch auf der Seite Instanz sehen.

Anzahl der Instanzen hat sich erhöht

Löschen Sie die Auto-Skalierungsgruppe

Es reicht nicht aus, alle Instanzen zu löschen, um die Ressourcen zu bereinigen. ASG wird die Instanz neu erstellen, um dem gewünschten Status zu entsprechen. Um die Ressource zu bereinigen, müssen wir die ASG löschen.

Um die ASG zu löschen, gehen Sie zu der von uns erstellten ASG und klicken Sie auf „Aktionen -> Löschen“ und wenn Sie dazu aufgefordert werden, klicken Sie auf „Ja, Löschen“.

Autoskalierungsgruppe löschen

Schlußfolgerung:

In diesem Artikel haben wir eine Launch-Konfiguration erstellt und eine ASG damit erstellt. Wir haben gesehen, wie ASG den gewünschten Zustand aktualisiert und die Anzahl der Instanzen erhöht, um der Skalierungsrichtlinie zu entsprechen. Wir haben auch gesehen, wie eine ASG gelöscht werden kann.

Das könnte Dich auch interessieren …