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.
Überprüfungen des Anwendungsstatus
Mithilfe von Anwendungsstatusüberprüfungen können Sie die Leistung und den Zustand Ihrer auf Amazon EC2 ausgeführten Anwendungen überwachen. Mithilfe von Anwendungsstatusprüfungen können Sie Beeinträchtigungen des Anwendungszustands erkennen und darauf reagieren, indem Sie Ihre Anwendungen über konfigurierbare Pfade und Ports überwachen. Beispielsweise können Sie mithilfe von Anwendungsstatusprüfungen überprüfen, ob Ihr Webserver den erwarteten Port abhört und neue Verbindungen akzeptiert.
Anwendungsstatusprüfungen überwachen die HTTP- und HTTPS-Antworten Ihrer Anwendungen an konfigurierbaren Pfaden und Ports. Sie werden alle 60 Sekunden ausgeführt und sind in Amazon EC2 Auto Scaling integriert, sodass Sie den Austausch von Instances automatisieren können, deren Anwendungen beeinträchtigt sind.
So funktionieren Überprüfungen des Anwendungsstatus
Bei der Überprüfung des Anwendungsstatus werden HTTP- oder HTTPS-Anfragen an einen Endpunkt gesendet, der alle 60 Sekunden einen Netzwerkport auf Ihrer Instance überwacht. AWS vergleicht den Antwortcode mit dem von Ihnen konfigurierten Statuscode-Matcher. Die Prüfung wird nach einer Reihe aufeinanderfolgender fehlgeschlagener Anfragen als beeinträchtigt und nach einer Reihe aufeinanderfolgender erfolgreicher Anfragen wieder als fehlerfrei markiert. Beide Zähler sind standardmäßig auf 2 eingestellt und konfigurierbar. Weitere Informationen finden Sie unter Schwellenwerte für die Bewertung.
Anmerkung
Bei Statusprüfungen der Anwendung wird die Anfrage zur Integritätsprüfung weitergeleitet HTTP/2.
Die HTTPS-Protokollprüfung validiert das Serverzertifikat nicht.
Während eines Neustarts melden Anwendungsstatusprüfungen einen Fehler, bis die Instanz wieder verfügbar ist, da die Anwendung während des Neustarts des Betriebssystems nicht auf Integritätsprüfungsanfragen antworten kann.
Netzwerkarchitektur
Die Überprüfung des Anwendungsstatus erfolgt über den Amazon EC2-Service zur Überprüfung des Anwendungsstatus. Um Ihre Instances zu erreichen, AWS erstellt eine verwaltete elastische Netzwerkschnittstelle (ENI) in Ihrer VPC. AWS erstellt eine ENI pro Kombination aus Quellsubnetz und Sicherheitsgruppe, der Instances zugeordnet sind. AWS erstellt die verwaltete ENI, wenn eine Anwendungsstatusüberprüfung diese Kombination zum ersten Mal erfordert, und entfernt sie, wenn sie für keine weitere Anwendungsstatusüberprüfung erforderlich ist. Die verwaltete ENI wird nicht auf Ihr Instance-ENI-Limit angerechnet, sondern auf Ihr globales Limit für ENIs pro VPC.
Der Anwendungsstatus wird von einem privaten Blickpunkt innerhalb Ihrer VPC aus auf Ihre Instances überprüft. Der Umfang beschreibt, woher die Prüfung stammt, und ist nicht Eigentum der IP-Adresse Ihrer Instance. AWS erstellt die verwaltete ENI in einem Subnetz innerhalb Ihrer VPC und erreicht die Instance über den privaten Netzwerkpfad.
Der Health AWS Check-Traffic stammt von verwalteten Amazon EC2-Instances in derselben Availability Zone wie die Ziel-Instance (oder der übergeordneten Availability Zone für Ziele in lokalen Zonen), wird über das AWS interne Netzwerk übertragen und durchquert nicht das öffentliche Internet. Weitere Informationen finden Sie unter Häufig gestellte Fragen zu Amazon VPC
AWS verwaltete und vom Kunden verwaltete Netzwerkpfade
Anwendungsstatusprüfungen unterstützen zwei Onboarding-Modi, die bestimmen, wer die Quellsubnetze und Sicherheitsgruppen für die Integritätsprüfung ENI und die Zielsubnetze und Sicherheitsgruppen für die Ziel-Instances auswählt.
- AWS verwaltete Netzwerkpfade
-
AWS wählt die Quellsubnetze und Sicherheitsgruppen für die Integritätsprüfung ENI sowie die Zielsubnetze und Sicherheitsgruppen für die Ziel-Instances aus.
- Customer-managed Netzwerkpfade
-
Sie geben die Quellsubnetze und Sicherheitsgruppen für die Integritätsprüfung ENI und die Zielsubnetze und Sicherheitsgruppen für die Ziel-Instances an.
Verwenden Sie vom Kunden verwaltete Netzwerkpfade, wenn Sie kontrollieren müssen, aus welchen Subnetzen und Sicherheitsgruppen der Datenverkehr bei der Integritätsprüfung stammt, z. B. wenn Ihre VPC strenge Netzwerksegmentierung, Firewallregeln oder Compliance-Anforderungen hat, die einschränken, welche Quellen Ihre Anwendungsendpunkte erreichen können.
Sie wählen den Modus aus, indem Sie den Parameter in den Befehl create aufnehmen oder weglassen. --health-check-paths Wenn Sie den --health-check-paths Parameter weglassen, werden Quell- und Zielsubnetze sowie Sicherheitsgruppen (AWS verwaltete Netzwerkpfade) AWS ausgewählt. Wenn Sie den --health-check-paths Parameter angeben, verwalten Sie sie (vom Kunden verwaltete Netzwerkpfade).
IP-Version
Jede Anwendungsstatusüberprüfung ist einer einzelnen IP-Version (IPv4 oder IPv6) zugeordnet. Um eine Instance sowohl über IPv4 als auch über IPv6 zu überwachen, erstellen Sie zwei separate Anwendungsstatusprüfungen und ordnen Sie beide der Instance zu.
Checks erreichen Ihre Instance sowohl für IPv4 als auch für IPv6 aus Ihrer VPC.
Überprüfen Sie die Statuswerte
Bei jeder einzelnen Prüfung wird einer der folgenden Status gemeldet:
-
passed: Die Prüfung wurde erfolgreich abgeschlossen -
failed: Die Prüfung ist fehlgeschlagen. Die Antwort enthält den HTTP-Statuscode, der von Ihrer Anwendung zurückgegeben wurde. Hinweise zur Interpretation und Problembehebung finden Sie unterFehlerbehebung. -
initializing: Die erste Bewertung des Schecks ist noch nicht abgeschlossen -
insufficient-data: Die Prüfung hat nicht genügend Daten erhalten, um ein Ergebnis zu ermitteln -
not-applicable: Der Scheck ist nicht mit der Instanz verknüpft
Der für die Instanz gemeldete allgemeine Anwendungsstatus fasst alle einzelnen Prüfergebnisse zusammen. Der Gesamtstatus ist einer der folgenden:
-
ok: alle Prüfungen bestanden -
impaired: eine oder mehrere Prüfungen sind fehlgeschlagen -
initializing: eine oder mehrere Prüfungen haben ihre erste Bewertung noch nicht abgeschlossen -
insufficient-data: Bei einer oder mehreren Kontrollen werden unzureichende Daten gemeldet -
not-applicable: Alle zugehörigen Anwendungsstatusprüfungen sind von der Aggregation ausgeschlossen -
suppressed: Die Auswertung der Anwendungsstatusüberprüfung wird für die Instanz unterdrückt
Aggregation
Sie können jede Prüfung des Anwendungsstatus als im Gesamtstatus der Instanz enthalten oder davon ausgeschlossen kennzeichnen. In der Standardeinstellung lautet eine Prüfungincluded.
included-
Die Prüfung trägt zum Gesamtstatus der Instance bei und Amazon EC2 Auto Scaling verwendet sie.
excluded-
Die Prüfung meldet ihren individuellen Status, trägt aber nicht zum Gesamtstatus der Instance bei und Amazon EC2 Auto Scaling verwendet sie nicht. Verwenden Sie diese Einstellung, um einen neuen Check in der Produktion zu validieren, ohne den Gesamtstatus zu beeinflussen oder Amazon EC2 Auto Scaling-Ersetzungen auszulösen. Dies ist der empfohlene Arbeitsablauf beim Hinzufügen eines Schecks zu einem vorhandenen Produktions-Workload; siehe. Testen einer neuen Anwendungsstatusüberprüfung
Beginnen Sie mit der Überprüfung des Anwendungsstatus
Voraussetzungen
Bevor Sie eine Überprüfung des Bewerbungsstatus durchführen, stellen Sie sicher, dass Sie über Folgendes verfügen:
-
Eine VPC mit den Instanzen, die Sie überwachen möchten.
-
Ein Anwendungsendpunkt auf jeder Instance, der auf HTTP- oder HTTPS-Anfragen auf dem Port und HTTP-Pfad antworten kann, den Sie konfigurieren werden.
-
Eine Sicherheitsgruppe auf jeder Zielinstanz, die eingehenden Datenverkehr auf dem Check-Port von der Quellsicherheitsgruppe zulässt, die für die Überprüfung des Anwendungsstatus verwendet wird. Siehe Sicherheit und Berechtigungen.
Schritt 1: Konfigurieren Ihrer -Anwendung
Konfigurieren Sie Ihren Anwendungsendpunkt so, dass er auf HTTP- oder HTTPS-Anfragen auf dem Port und HTTP-Pfad reagiert, den Sie bei der Erstellung der Prüfung angeben. Geben Sie einen Antwortcode zurück, der in Ihrem Statuscode-Matcher enthalten ist, um anzuzeigen, dass die Anwendung fehlerfrei ist.
Stellen Sie sicher, dass die Sicherheitsgruppe der Ziel-Instance eingehenden Datenverkehr auf dem Check-Port von der Quellsicherheitsgruppe zulässt, die für die Statusüberprüfung der Anwendung verwendet wird. AWS Stellt für verwaltete Netzwerkpfade die Quellsicherheitsgruppe bei der Erstellung der Prüfung bereit. Für vom Kunden verwaltete Netzwerkpfade geben Sie die Quellsicherheitsgruppe an, wenn Sie die Prüfung erstellen.
Schritt 2: Erstellen Sie eine Checkdefinition
Verwenden Sie die AWS CLI, um eine Anwendungsstatusüberprüfung zu erstellen.
Schritt 3: Ordnen Sie die Prüfung den Instanzen zu
Ordnen Sie den Scheck den Instanzen zu, die Sie überwachen möchten, entweder nach Instanz-ID oder nach Tag.
Bei Vorgängen zum Zuordnen und Aufheben der Zuordnung werden Erfolgs- und Fehlschlagergebnisse pro Instanz zurückgegeben. Wenn einige Instanzen nicht zugeordnet werden können (z. B. weil die Prüfung bereits zugeordnet ist), werden diese Instanzen in den Ergebnissen ohne Angabe eines Grundes angezeigt.
Schritt 4: Ergebnisse anzeigen
Zeigen Sie den Integritätsstatus der Anwendung pro Instanz an.
Konfigurationsoptionen
Bei der Überprüfung des Anwendungsstatus werden mehrere Konfigurationsparameter akzeptiert. In diesem Abschnitt werden die Parameter erläutert, bei denen das Verhalten nicht aus dem Parameternamen ersichtlich ist. Die vollständige Liste der Parameter und Validierungsregeln finden Sie unter CreateApplicationStatusCheck und AssociateApplicationStatusCheck in der Amazon EC2-API-Referenz.
Schwellenwerte für die Bewertung
FailureThreshold-
Die Anzahl aufeinanderfolgender fehlgeschlagener Anfragen, bevor die Prüfung als beeinträchtigt markiert wird. Standard: 2
SuccessThreshold-
Die Anzahl aufeinanderfolgender erfolgreicher Anfragen, bevor die Prüfung erneut als fehlerfrei markiert wird. Standard: 2
Timeout-
Die Anzahl der Sekunden, die auf eine Antwort gewartet werden muss, bevor die Anfrage als fehlgeschlagen registriert wird. Wird als erzwungenes Timeout durchgesetzt. Wenn Ihre Anwendung innerhalb dieses Zeitfensters nicht reagiert, wird die Anfrage unabhängig von der möglichen Antwort als Fehler aufgezeichnet. Standard: 6. Gültiger Bereich: 1—30.
Karenzzeit beim Start
InitializationGracePeriodSeconds-
Die Anzahl der Sekunden, die nach dem Start einer Instanz gewartet werden muss, bevor AWS mit der Auswertung der Prüfung begonnen wird. Verwenden Sie diesen Parameter, um Anwendungen Zeit zum Abhören zu geben, bevor die Prüfungen beginnen. Wenn die Nachfrist zu kurz ist, ersetzt Amazon EC2 Auto Scaling möglicherweise neue Instances, bevor ihre Anwendung bereit ist. Standard: 300. Gültiger Bereich: 1 bis 600.
IP-Bereich
IpScope-
Bei der Überprüfung des Anwendungsstatus wird der
privateGeltungsbereich verwendet. Die Prüfung wird in Ihrer VPC ausgeführt. Bei IPv4 entspricht dies der privaten IP-Adresse der Instance. Klassifiziert die Adresse bei IPv6 AWS nicht als öffentlich oder privat; die Prüfung akzeptiert jede IPv6-Adresse und wertet sie innerhalb Ihrer VPC aus.
Geräteindex
DeviceIndex-
Der Index des Netzwerkgeräts auf Ihrer Instance, das für die Zustandsprüfung AWS ausgewertet wird. Ändern Sie dies, wenn das primäre Netzwerkgerät Ihrer Instance nicht das ist, das Sie überprüfen möchten. Standard: 0
Aggregation, IP-Version und Zustandsprüfpfade (Quell- und Zielsubnetze sowie Sicherheitsgruppen) werden in eigenen Abschnitten weiter oben auf dieser Seite behandelt.
Standardeinstellungen
Bei AWS verwalteten Netzwerkpfaden verwenden die Anwendungsstatusprüfungen die folgenden Standardwerte.
| Einstellung | Standard |
|---|---|
Intervall überprüfen |
60 Sekunden (fest; nicht konfigurierbar) |
Fehlerschwellenwert |
2 aufeinanderfolgende Ausfälle |
Schwellenwert für Erfolg |
2 aufeinanderfolgende Erfolge |
Zeitüberschreitung |
6 Sekunden |
Statuscode-Abgleich |
200 |
HTTP-Pfad |
/ |
IP-Version |
IPv4 |
IP-Bereich |
private |
Geräteindex |
0 |
Kulanzfrist für die Initialisierung |
300 Sekunden |
Aggregation |
im Lieferumfang enthalten |
Quell-Subnetze und Sicherheitsgruppen |
Verwaltet von AWS |
Amazon EC2 Auto Scaling-Integration
Amazon EC2 Auto Scaling beendet und ersetzt automatisch Instances, deren allgemeiner Anwendungsstatus gemeldet wirdimpaired, sofern die Prüfung in der Aggregation enthalten ist. Außer der Zuordnung der Anwendungsstatusprüfung zu den Instances in der Gruppe ist keine Auto Scaling-Gruppenkonfiguration erforderlich.
Amazon EC2 Auto Scaling verwendet den Gesamtstatus der Instance, nicht den individuellen Prüfstatus. Mit Häkchen markierte Schecks steuern excluded keine Amazon EC2 Auto Scaling-Aktionen. Schecks im suppressed Status steuern keine Amazon EC2 Auto Scaling-Aktionen.
Verwenden Sie den InitializationGracePeriodSeconds Parameter bei der Prüfung, um neuen Instances Zeit zum Starten zu geben, bevor die Überprüfung des Anwendungsstatus beginnt. Wenn die Kulanzzeit zu kurz ist, werden neue Instances möglicherweise beendet und durch Amazon EC2 Auto Scaling ersetzt, bevor ihre Anwendung für den Datenverkehr bereit ist.
Weitere Informationen darüber, wie Amazon EC2 Auto Scaling Zustandsprüfungen verwendet, finden Sie unter Zustandsprüfungen für Instances in einer Auto Scaling-Gruppe und Verwenden von Anwendungsstatusprüfungen mit einer Auto Scaling-Gruppe im Amazon EC2 Auto Scaling-Benutzerhandbuch.
Verwaltung der Bereitstellung, des Patches vor Ort und des Austauschs
Bereitstellungen, Patches vor Ort und andere Wartungsarbeiten können dazu führen, dass Ihre Anwendung vorübergehend unterbrochen oder neu gestartet wird. Während dieser Zeit melden Statusprüfungen der Anwendung einen Fehler, da die Anwendung nicht auf Anfragen zur Systemdiagnose reagieren kann. Wenn sich Ihre Instances in einer Auto Scaling-Gruppe befinden, in deren Aggregation Anwendungsstatusprüfungen enthalten sind, kann Amazon EC2 Auto Scaling diese Instances beenden und ersetzen, obwohl die Unterbrechung zu erwarten ist.
Option A: Unterdrücken Sie die Prüfung
Verwenden Sie die Unterdrückung für begrenzte Wartungsfenster, für die Sie die Dauer kennen. Die Unterdrückung wird auf Instanzebene erzwungen. Sie geben eine Dauer an oder lassen sie aus, um die Prüfung zu unterdrücken, bis Sie die Unterdrückung deaktivieren.
Solange die Instanz unterdrückt ist, wird der allgemeine Anwendungsstatus für die Instanz gemeldetsuppressed. Amazon EC2 Auto Scaling wirkt nicht auf suppressed Instances.
Option B: Den Scheck von der Aggregation ausschließen
Wenn Sie möchten, dass der Scheck seinen individuellen Status weiterhin auswertet und meldet, sich aber nicht auf den Gesamtstatus auswirkt oder Amazon EC2 Auto Scaling-Aktionen auslöst, setzen Sie die Aggregationseinstellung des Schecks auf. excluded Dies ist nützlich für Szenarien mit längerer Lebensdauer, wie z. B. die Einführung einer neuen Prüfversion oder die Validierung einer Änderung, ohne das Risiko eines Austauschs einzugehen, und für Fälle, in denen die Telemetrie ohne Auswirkungen auf den Betrieb fortgesetzt werden soll.
Weitere Informationen finden Sie unter Aggregation.
Option C: Die Zuordnung zum Scheck aufheben
Verwenden Sie Dissoziation für eine längerfristige oder unbefristete Entfernung.
aws ec2 disassociate-application-status-check \ --application-status-check-id asc-1234567890abcdef0 \ --instance-ids i-0123456789abcdef0
Wenn Sie die Verknüpfung anhand eines Tags vorgenommen haben, entfernen Sie das Tag aus der Instanz, um die Verknüpfung aufzuheben. Nach der Trennung wird der allgemeine Anwendungsstatus für die Instanz gemeldet. not-applicable
Anleitung zur Bereitstellung
Bereitstellungen sind das häufigste Wartungsszenario, das unterdrückt werden muss. Verwenden Sie die Unterdrückung, wenn Ihr Bereitstellungstool über einen Hook vor der Bereitstellung und einen Hook nach der Bereitstellung verfügt, sodass Sie die Überprüfung vor Beginn der Bereitstellung unterdrücken und die Unterdrückung nach Abschluss der Bereitstellung deaktivieren können.
Das allgemeine Muster ist:
-
Rufen Sie im Pre-Deployment-Hook enable-application-status-check-suppression für die Instance mit einer Dauer auf, die das erwartete Bereitstellungsfenster abdeckt.
-
Führen Sie die Bereitstellung durch.
-
Rufen Sie im Hook nach der Bereitstellung https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-application-status-check-suppression.html disable-application-status-check-suppression für die Instance auf.
Wenn Ihr Deployment-Tool keine Hooks hat, steuern Sie die Unterdrückung von der Pipeline aus, die das Deployment aufruft. CI/CD
Testen einer neuen Anwendungsstatusüberprüfung
Sie können eine neue Anwendungsstatusüberprüfung in der Produktion validieren, bevor sie zu Ihrer Überwachung auf Instanzebene beiträgt. Stellen Sie die Aggregationseinstellung auf, excluded wenn Sie die Prüfung erstellen, und bestätigen Sie dann, dass sie den erwarteten Status und die HTTP-Antwortcodes meldet. Wenn Sie bereit sind, ändern Sie die Einstellung included so, dass die Prüfung zum Gesamtstatus der Instance beiträgt und in Amazon EC2 Auto Scaling integriert wird.
-
Erstellen Sie den Scheck, wobei die Aggregationseinstellung auf festgelegt ist.
excludedaws ec2 create-application-status-check \ --protocol https \ --port 443 \ --path "/health" \ --status-code-matcher "200" \ --aggregation excluded -
Ordnen Sie den Check einer Testinstanz oder einer Teilmenge Ihrer Produktionsflotte zu.
-
Warten Sie mindestens zwei Prüfintervalle (ungefähr zwei Minuten) ab, damit die Prüfung eine erste Bewertung abschließen kann.
-
Verwenden Sie describe-application-status, um zu überprüfen, ob die Prüfung den erwarteten Status und den HTTP-Antwortcode meldet.
aws ec2 describe-application-status \ --instance-ids i-0123456789abcdef0 -
Wenn die Prüfung erwartungsgemäß gemeldet wird, aktualisieren Sie die Aggregationseinstellung auf, damit die Prüfung
includedzum Gesamtstatus der Instance beiträgt und Amazon EC2 Auto Scaling-Aktionen auslöst.aws ec2 modify-application-status-check \ --application-status-check-id asc-1234567890abcdef0 \ --aggregation included
Erweitertes Netzwerk
Die Statusüberprüfungen der Anwendung stammen von einer verwalteten ENI in dem Quellsubnetz und der Sicherheitsgruppe, die Sie angeben (oder die für Sie AWS ausgewählt wurde). Bei Workloads, die eine höhere Verfügbarkeit erfordern, als es eine Konfiguration mit einer einzigen Quelle bietet, oder bei Workloads, die in lokalen Zonen oder Outposts ausgeführt werden, sollten Sie die folgenden Muster berücksichtigen.
Local Zones
Bei Instances, die in AWS lokalen Zonen ausgeführt werden, befindet sich das Managed Elastic Network Interface (ENI) in der übergeordneten AWS Region, nicht in der lokalen Zone. Der Health-Check-Traffic zwischen der übergeordneten Region und Ihren Local Zone-Instances durchläuft den Local Zone Service Link, wodurch zusätzliche Datenübertragungsgebühren anfallen können.
Fehlerbehebung
Wenn bei einer Überprüfung des Anwendungsstatus eine Beeinträchtigung gemeldet wird, Sie aber davon ausgehen, dass Ihre Anwendung fehlerfrei ist, überprüfen Sie jedes der folgenden Punkte:
-
Erreichbarkeit der Instanz. Vergewissern Sie sich, dass die Instance- und Systemstatuschecks der Instanz aktiviert sind
ok. -
Regel für eingehenden Datenverkehr der Sicherheitsgruppe. Die Sicherheitsgruppe der Zielinstanz muss eingehenden Datenverkehr auf dem Check-Port von der Quellsicherheitsgruppe zulassen, die für die Anwendungsstatusüberprüfung verwendet wird. AWS Stellt für AWS verwaltete Netzwerkpfade die Quell-Sicherheitsgruppe bereit; für vom Kunden verwaltete Netzwerkpfade verwenden Sie die Sicherheitsgruppe, die Sie als Quelle angegeben haben.
-
Host-Firewall. Jede Firewall auf Host-Ebene (iptables, Windows-Firewall, Host-Firewall eines Drittanbieters) auf der Instanz muss eingehenden Datenverkehr auf dem Check-Port zulassen.
-
Endpunkt der Anwendung. Die Anwendung muss den von Ihnen konfigurierten Port und Pfad überwachen. Bestätigen Sie mit einer lokalen Anfrage von der Instanz (
curl http://localhost:PORT/PATH). -
Das Protokoll stimmt nicht überein. Wenn die Prüfung als HTTPS konfiguriert ist, der Endpunkt aber nur HTTP bereitstellt (oder umgekehrt), schlagen alle Aufrufe fehl.
-
Statuscode-Abgleich. Vergewissern Sie sich, dass der tatsächliche Antwortcode Ihrer Anwendung in dem von Ihnen konfigurierten Statuscode-Matcher enthalten ist.
-
Netzwerkpfad. Wenn Sie vom Kunden verwaltete Netzwerkpfade konfiguriert haben, stellen Sie sicher, dass das Quellsubnetz und die Sicherheitsgruppe mit dem Zielsubnetz verbunden sind. Verwenden Sie VPC Reachability Analyzer, um den Netzwerkpfad zu verfolgen.
-
Verfügbares ENI-Kontingent. AWS erstellt in Ihrem Konto eine verwaltete Elastic Network Interface (ENI) für jede Kombination aus Quellsubnetz und Sicherheitsgruppe. Vergewissern Sie sich, dass Ihr Konto im Kontingent für die VPC über eine verfügbare ENI verfügt. Wenn Ihr Konto das ENI-Kontingent pro VPC erreicht hat, AWS können Sie das verwaltete ENI nicht erstellen und die Prüfung kann nicht ausgeführt werden. Weitere Informationen finden Sie unter Amazon VPC-Kontingente.
Codes für die Gründe
Die Antwort describe-application-status enthält einen Grund für jede Überprüfung. Der Grund enthält den von Ihrer Anwendung zurückgegebenen HTTP-Statuscode (als Zahl) sowie das für die Prüfung verwendete Protokoll. Ein Scheck wird markiert, passed wenn der zurückgegebene Statuscode in Ihrem Statuscode-Matcher enthalten ist und failed andernfalls.
Der Grund enthält auch einen Ursachencode und für HTTP-level Ergebnisse das Protokoll und den zurückgegebenen HTTP-Statuscode. Der Grund enthält die folgenden Felder:
Code-
Der Ursachencode für das Ergebnis der Überprüfung des Anwendungsstatus. Einer der folgenden Werte:
-
ResponseCodeMatched: Der von der Integritätsprüfung zurückgegebene HTTP-Statuscode stimmte mit dem konfigurierten übereinStatusCodeMatcher. -
ResponseCodeMismatch: Der von der Integritätsprüfung zurückgegebene HTTP-Statuscode stimmte nicht mit dem konfigurierten übereinStatusCodeMatcher. -
ConnectionTimeout: Bei der Verbindung zum Ziel ist ein Timeout aufgetreten. -
ResponseTimeout: Beim Zustandscheck ist das Zeitlimit abgelaufen, während auf eine Antwort des Ziels gewartet wurde. -
ConnectionRefused: Das Ziel hat die Verbindung zur Integritätsprüfung abgelehnt. -
ConnectionReset: Die Verbindung zur Integritätsprüfung wurde zurückgesetzt, bevor eine Antwort empfangen wurde.
Für
ResponseCodeMatchedundResponseCodeMismatchenthält dasStatusCodeFeld den zurückgegebenen HTTP-Statuscode und dasProtocolFeld enthält das für die Zustandsprüfung verwendete Protokoll. Bei Verbindungsfehlern wieConnectionTimeout,ResponseTimeoutConnectionRefusedConnectionReset, und sind dieProtocolFelderStatusCodeund nicht vorhanden. -
Protocol-
Das für die Integritätsprüfung verwendete Protokoll. Eines von
HTTPoderHTTPS. StatusCode-
Der von der Integritätsprüfung zurückgegebene HTTP-Statuscode.
Verwenden Sie den zurückgegebenen HTTP-Statuscode, um zu ermitteln, warum eine Prüfung fehlgeschlagen ist. Einige gängige Beispiele:
| HTTP-Statuscode | Typische Bedeutung | Allgemeine Problembehebung |
|---|---|---|
|
Die Anwendung hat eine erfolgreiche Antwort zurückgegeben. |
Keine. Dies ist in der Regel ein fehlerfreier Status. |
|
Die Anwendung hat eine Weiterleitung zurückgegeben. Health-Checks folgen keinen Weiterleitungen. |
Richten Sie den Health-Check-Pfad auf das Ziel der Weiterleitung aus, oder fügen Sie den Weiterleitungscode Ihrem Statuscode-Abgleich hinzu, wenn Sie ihn für fehlerfrei halten. |
|
Die Anwendung erfordert eine Authentifizierung oder der Zugriff auf den Integritätsprüfungspfad wurde verweigert. |
Konfigurieren Sie den Integritätsprüfungspfad so, dass er nicht authentifiziert ist, oder führen Sie Integritätsprüfungen auf einem Pfad durch, für den keine Anmeldeinformationen erforderlich sind. |
|
Der konfigurierte Pfad zur Integritätsprüfung wurde in der Anwendung nicht gefunden. |
Stellen Sie sicher, dass der Pfad einer Route entspricht, die Ihre Anwendung bedient. |
|
Die Anwendung hat einen internen Serverfehler zurückgegeben. |
Untersuchen Sie die Anwendungsprotokolle auf der Instanz. |
|
Die Anwendung ist erreichbar, meldet jedoch Upstream- oder Kapazitätsprobleme. |
Untersuchen Sie den Zustand, die Abhängigkeiten und die Kapazität der Anwendung. Wenn Ihre Anwendung diese Codes beim Start zurückgibt, erhöhen Sie den Wert |
Die vollständige ApplicationStatusReason Struktur finden Sie ApplicationStatusReason in der Amazon EC2-API-Referenz.
Häufige Fehler
-
Die Sicherheitsgruppe lässt keinen eingehenden Datenverkehr von der Integritätsprüfungsquelle am Check-Port zu.
-
Die Anwendung ist an die Netzwerkschnittstelle gebunden
127.0.0.1und überwacht diese nicht. -
Der Integritätsprüfungspfad gibt eine Weiterleitung (301, 302) statt einer erfolgreichen Antwort zurück, und der Statuscode-Abgleich enthält den Weiterleitungscode nicht.
-
Die Prüfung ist für HTTPS konfiguriert, aber die Anwendung bedient nur HTTP oder umgekehrt.
-
Der Start der Anwendung dauert länger als der
InitializationGracePeriodSecondsWert, und Amazon EC2 Auto Scaling ersetzt die Instance, bevor sie bereit ist.
Überwachen Sie die Statusprüfungen der Anwendung
Sie können die Überprüfung des Anwendungsstatus auf drei Arten überwachen:
-
Amazon CloudWatch. Die
StatusCheckFailed_ApplicationMetrik gibt den allgemeinen Anwendungsstatus für die Instance wieder und kann Alarme auslösen. Die Metrik wird pro Instanz anhand der zugehörigen Prüfungen aggregiert, deren Aggregationseinstellung lautet.includedCloudWatch veröffentlicht außerdem eine Metrik pro Prüfung für jede zugeordnete Prüfung, benannt.StatusCheckFailed_Application_application-status-check-id -
Beschreiben Sie den Instanzstatus. Gibt den allgemeinen Anwendungsstatus zusammen mit den anderen Statusinformationen Ihrer Instance zurück.
-
Beschreiben-Anwendungsstatus. Gibt detaillierte Ergebnisse pro Instanz zurück, einschließlich des individuellen Status jeder zugehörigen Prüfung und des von Ihrer Anwendung zurückgegebenen HTTP-Statuscodes.
Verwenden Sie die CloudWatch Metrik für alarmgesteuerte Automatisierung. Verwenden Sie describe-instance-status sie, wenn Sie sie bereits nach dem Instanzstatus abfragen. Verwenden Sie diese describe-application-status Option, um eine detaillierte Übersicht pro Scheck zu erhalten.
Sicherheit und Berechtigungen
AWS erstellt und verwaltet die Netzwerkschnittstellen, die für die Überprüfung des Anwendungsstatus verwendet werden, mithilfe einer serviceverknüpften Rolle. Für den Service ist kein IAM-Setup erforderlich, um diese ENIs zu erstellen. Die dienstgebundene Rolle verwendet die EC2ApplicationStatusChecksServiceRolePolicy AWS
verwaltete Richtlinie.
Um Anwendungsstatusüberprüfungen selbst zu erstellen, zuzuordnen, zu beschreiben, zu löschen und zu unterdrücken, benötigt Ihr IAM-Benutzer oder Ihre IAM-Rolle die entsprechenden Amazon EC2-Berechtigungen. Die vollständige Liste der Aktionen finden Sie in der Amazon EC2-API-Referenz.
Die Sicherheitsgruppe Ihrer Instance muss eingehenden Datenverkehr von der Quellsicherheitsgruppe für die Integritätsprüfung auf dem von Ihnen konfigurierten Port zulassen. AWS Stellt bei AWS verwalteten Netzwerkpfaden die Quell-Sicherheitsgruppe bereit; bei vom Kunden verwalteten Netzwerkpfaden verwenden Sie die Sicherheitsgruppe, die Sie als Quelle angegeben haben.
Preisgestaltung
Für die Überprüfung des Anwendungsstatus werden die folgenden Komponenten in Rechnung gestellt:
-
Eine stündliche Gebühr von 0,01 USD pro Managed Elastic Network Interface (ENI) pro Availability Zone.
-
Die CloudWatch Standardpreise von Amazon gelten für die Metriken zur Überprüfung des Anwendungsstatus.
Kontingente
Für die Überprüfung des Anwendungsstatus gelten AWS Servicekontingente. Die Kontingentnamen, Standardwerte und Beschreibungen finden Sie unter Amazon EC2-Endpunkte und Kontingente in der AWS Allgemeinen Referenz.
Zusätzlich zu den AWS Servicekontingenten, die sich auf die verwalteten Netzwerkschnittstellen auswirken, gelten für Anwendungsstatusprüfungen die folgenden Servicekontingente. In der Konsole für Dienstkontingente können Sie Ihre Nutzung einsehen und Erhöhungen anfordern.
Bei diesen Kontingenten ist ein Ziel eine einzelne Instanz, die von einem Zustandscheck überwacht wird. Wenn mehr als ein Health Check eine Instance überwacht, zählt jede Kombination aus Instance und Health Check als separates Ziel. Eine Zuordnung ist eine einzelne Tag-Regel oder eine einzelne Instanz-ID, die Sie einer Zustandsprüfung zuordnen. Jede Regel oder Instanz-ID zählt als eine Zuordnung, unabhängig davon, in wie viele Instanzen sie aufgelöst wird.
| Kontingent | Standard | Anpassbar |
|---|---|---|
Zustandsprüfungen pro Konto |
50 |
Ja, automatisch |
Verbände pro Gesundheitscheck |
50 |
Ja, automatisch |
Verbände pro Konto |
200 |
Ja, automatisch |
Ziele pro Konto |
5,000 |
Ja, auf Anfrage |
Die meisten Quotenerhöhungen werden automatisch genehmigt. Eine Erhöhung der Ziele pro Konto erfordert eine Anfrage und eine manuelle Genehmigung.
Wichtig
Wenn die Anzahl der Ziele in Ihrem Konto die Quote „Ziele pro Konto“ überschreitet, werden die Ziele, die das Limit überschreiten, nicht überwacht und es wird kein Antragsstatus gemeldet. Um Lücken bei der Überwachung zu vermeiden, sollten Sie die Anzahl Ihrer Ziele innerhalb der Quote belassen oder eine Erhöhung beantragen.
Wir empfehlen Ihnen, einen CloudWatch Amazon-Alarm zu erstellen, der den Status Ihrer Bewerbung überprüft, ob Ihr Kontingent genutzt wird, sodass Sie benachrichtigt werden, bevor Sie ein Kontingent erreichen. Service Quotas veröffentlicht Nutzungsmetriken im AWS/Usage Namespace CloudWatch, in dem Sie den Alarm erstellen können.