Konfigurieren von Regeln für den erweiterten Zustand einer Umgebung - AWS Elastic Beanstalk

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.

Konfigurieren von Regeln für den erweiterten Zustand einer Umgebung

Erweiterte AWS Elastic Beanstalk-Statusberichte bestimmen anhand eines Satzes von Regeln den Zustand Ihrer Umgebung. Einige dieser Regeln sind möglicherweise nicht für Ihre jeweilige Anwendung geeignet. Im Folgenden finden Sie einige häufig verwendete Beispiele:

  • Sie verwenden clientseitige Testwerkzeuge. In diesem Fall werden häufige HTTP-Clientfehler (4xx) erwartet.

  • Sie verwenden AWS WAF in Verbindung mit dem Application Load Balancer Ihrer Umgebung, um unerwünschten eingehenden Datenverkehr zu blockieren. In diesem Fall gibt der Application Load Balancer für jede abgelehnte eingehende Nachricht „HTTP 403“ zurück.

Standardmäßig berücksichtigt Elastic Beanstalk alle HTTP 4xx-Fehler von Anwendungen, wenn die Integrität der Umgebung ermittelt wird. Abhängig von der Fehlerquote ändert sich der Zustandsstatus der Umgebung von OK in Warnung, Beeinträchtigt oder Schwerwiegend. Damit Fälle, wie die erwähnten Beispiele, korrekt gehandhabt werden, können Sie mit Elastic Beanstalk einige Regeln für die erweiterte Integrität konfigurieren. Sie können wählen, ob HTTP 4xx-Fehler von Anwendungen auf Instances der Umgebung oder ob HTTP 4xx-Fehler, die vom Load Balancer der Umgebung zurückgegeben werden, ignoriert werden sollen. In diesem Thema wird beschrieben, wie diese Konfigurationsänderungen vorgenommen werden.

Anmerkung

Derzeit sind dies die einzigen verfügbaren Anpassungen von Regeln zum erweiterten Zustand. Die erweiterte Integrität kann nicht so konfigurieren werden, dass andere HTTP-Fehler zusätzlich zu 4xx ignoriert werden.

Konfigurieren von Regeln für die erweiterte Integrität mit der Elastic-Beanstalk-Konsole

Sie können die Elastic-Beanstalk-Konsole verwenden, um Regeln für die erweiterte Integrität in einer Umgebung zu konfigurieren.

So konfigurieren Sie die HTTP 4xx-Statuscodeprüfung mithilfe der Elastic-Beanstalk-Konsole
  1. Öffnen Sie die Elastic-Beanstalk-Konsole und wählen Sie in der Liste Regions (Regionen) Ihre AWS-Region aus.

  2. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.

    Anmerkung

    Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.

  3. Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.

  4. Wählen Sie in der Konfigurationskategorie Monitoring (Überwachung) die Option Edit (Bearbeiten).

  5. Aktivieren oder deaktivieren Sie unter Anpassung der Integritätsüberwachungsregel die gewünschten Ignore (Ignorieren)-Optionen.

    
            Abschnitt zur Anpassung der Integritätsüberwachungsregel auf der Konfigurationsüberwachungsseite der Elastic-Beanstalk-Konsole
  6. Wählen Sie unten auf der Seite die Option Apply (Anwenden) aus, um die Änderungen zu speichern.

Konfigurieren von erweiterten Zustandsregeln unter Verwendung der EB-CLI

Sie können mit der EB-CLI Regeln für die erweiterte Integrität konfigurieren, indem Sie die Konfiguration Ihrer Umgebung lokal speichern, einen Eintrag hinzufügen, der Regeln für die erweiterte Integrität konfiguriert, und die Konfiguration dann in Elastic Beanstalk hochladen. Sie können die gespeicherte Konfiguration zu einer Umgebung während oder nach der Erstellung hinzufügen.

So konfigurieren Sie die HTTP 4xx-Statuscodeprüfung mit der EB-CLI und gespeicherten Konfigurationen
  1. Initialisieren Sie Ihren Projektordner mit eb init.

  2. Erstellen Sie eine Umgebung, indem Sie den eb create-Befehl ausführen.

  3. Speichern Sie eine Konfigurationsvorlage lokal, indem Sie den eb config save-Befehl ausführen. Im folgenden Beispiel wird die --cfg-Option verwendet, um den Namen der Konfiguration anzugeben.

    $ eb config save --cfg 01-base-state Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml
  4. Öffnen Sie die gespeicherte Konfigurationsdatei in einem Texteditor.

  5. Fügen Sie unter OptionSettings > aws:elasticbeanstalk:healthreporting:system: einen ConfigDocument-Schlüssel hinzu, um alle Regeln für den erweiterten Zustand aufzulisten, die konfiguriert werden können. Im Folgenden wird mit ConfigDocument die Überprüfung der HTTP 4xx-Statuscodes von Anwendungen deaktiviert, während die Überprüfung des HTTP 4xx-Codes des Load Balancer aktiviert bleibt.

    OptionSettings: ... aws:elasticbeanstalk:healthreporting:system: ConfigDocument: Rules: Environment: Application: ApplicationRequests4xx: Enabled: false ELB: ELBRequests4xx: Enabled: true Version: 1 SystemType: enhanced ...
    Anmerkung

    Sie können Rules und CloudWatchMetrics in derselben ConfigDocument-Optionseinstellung kombinieren. CloudWatchMetrics sind in Veröffentlichen von benutzerdefinierten Amazon-CloudWatch-Metriken für eine Umgebung beschrieben.

    Wenn Sie zuvor CloudWatchMetrics aktiviert haben, hat die Konfigurationsdatei, die Sie mit dem Befehl eb config save abrufen, bereits einen ConfigDocument-Schlüssel mit einem CloudWatchMetrics-Abschnitt. Löschen Sie ihn nicht – fügen Sie einen Rules-Abschnitt in denselben ConfigDocument-Optionswert ein.

  6. Speichern Sie die Konfigurationsdatei und schließen Sie den Text-Editor. Bei diesem Beispiel wird die aktualisierte Konfigurationsdatei mit einem Namen (02-cloudwatch-enabled.cfg.yml) gespeichert, der sich von dem der heruntergeladenen Konfigurationsdatei unterscheidet. Dadurch wird eine separat gespeicherte Konfiguration erstellt, wenn die Datei hochgeladen wird. Sie können demselben Namen wie die heruntergeladene Datei verwenden, um die vorhandene Konfiguration zu überschreiben, ohne dass Sie eine neue erstellen müssen.

  7. Verwenden Sie zum Hochladen der aktualisierten Konfigurationsdatei in Elastic Beanstalk den Befehl eb config put.

    $ eb config put 02-cloudwatch-enabled

    Schließen Sie die Dateinamenerweiterung bei Verwendung der Befehle eb config get und put mit gespeicherten Konfigurationen nicht mit ein.

  8. Wenden Sie die gespeicherte Konfiguration auf Ihre laufende Umgebung an.

    $ eb config --cfg 02-cloudwatch-enabled

    Die --cfg-Option gibt eine benannte Konfigurationsdatei an, die auf die Umgebung angewendet wird. Sie können die Konfigurationsdatei lokal oder in Elastic Beanstalk speichern. Wenn eine Konfigurationsdatei mit dem angegebenen Namen in beiden Speicherorten vorhanden ist, verwendet die EB-CLI die lokale Datei.

Konfigurieren von erweiterten Zustandsregeln unter Verwendung eines Konfigurationsdokuments

Das Konfigurationsdokument (config) für Regeln für erweiterte Zustände ist ein JSON-Dokument, das die zu konfigurierenden Regeln auflistet.

Das folgende Beispiel zeigt ein Konfigurationsdokument, das die Überprüfung von HTTP 4xx-Statuscodes von Anwendungen deaktiviert und die Überprüfung von HTTP 4xx-Statuscodes für Load Balancer aktiviert.

{ "Rules": { "Environment": { "Application": { "ApplicationRequests4xx": { "Enabled": false } }, "ELB": { "ELBRequests4xx": { "Enabled": true } } } }, "Version": 1 }

Für die AWS CLI müssen Sie das Dokument als ein Wert für den Value-Schlüssel in ein Optionseinstellungsargument übergeben, das selbst ein JSON-Objekt ist. In diesem Fall müssen Anführungszeichen im eingebetteten Dokument durch Escape-Zeichen geschützt werden. Mit dem folgenden Befehl wird überprüft, ob die Konfigurationseinstellungen gültig sind.

$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[ { "Namespace": "aws:elasticbeanstalk:healthreporting:system", "OptionName": "ConfigDocument", "Value": "{\"Rules\": { \"Environment\": { \"Application\": { \"ApplicationRequests4xx\": { \"Enabled\": false } }, \"ELB\": { \"ELBRequests4xx\": {\"Enabled\": true } } } }, \"Version\": 1 }" } ]'

Für eine .ebextensions-Konfigurationsdatei in YAML können Sie das JSON-Dokument unverändert bereitstellen.

option_settings: - namespace: aws:elasticbeanstalk:healthreporting:system option_name: ConfigDocument value: { "Rules": { "Environment": { "Application": { "ApplicationRequests4xx": { "Enabled": false } }, "ELB": { "ELBRequests4xx": { "Enabled": true } } } }, "Version": 1 }