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.
Problembehandlung in Ihrer Elastic Beanstalk-Umgebung
Dieses Kapitel enthält Anleitungen zur Behebung von Problemen mit Ihrer Elastic-Beanstalk-Umgebung. Diese umfasst das Folgende:
-
Eine Einführung in AWS Systems Manager, einschließlich eines Verfahrens zur Ausführung vordefinierter Elastic Beanstalk-Runbooks, die Schritte und Empfehlungen zur Problembehandlung ausgeben.
-
Allgemeine Hinweise zu Maßnahmen und Ressourcen, die Sie verwenden können, wenn sich Ihr Umgebungsstatus verschlechtert.
-
Spezifische Tipps zur Fehlerbehebung, sortiert nach Kategorien.
Wenn der Zustand Ihrer Umgebung rot wird, empfehlen wir Ihnen, zuerst das AWS Systems Manager Tool zu verwenden, das vordefinierte Runbooks enthält, um Probleme mit Elastic Beanstalk zu beheben. Weitere Informationen finden Sie unter Verwenden des Systems-Manager-Tools.
Testen Sie Amazon Q Developer CLI zur Fehlerbehebung AI-assisted
Amazon Q Developer CLI kann Ihnen helfen, Umgebungsprobleme schnell zu beheben. Die Q CLI bietet Lösungen, indem sie den Umgebungsstatus überprüft, Ereignisse überprüft, Protokolle analysiert und klärende Fragen stellt. Weitere Informationen und detaillierte Anleitungen finden Sie in den Blogs unter Problembehandlung in Elastic Beanstalk-Umgebungen mit Amazon Q Developer CLI.
Themen
Mithilfe der Umgebungsanalyse AI-powered
Elastic Beanstalk bietet AI-powered Analysen, um die Ursachen zu identifizieren und Lösungen für Umweltprobleme zu empfehlen. Sie können auf diese Funktion über die Schaltfläche „KI-Analyse“ der Konsole zugreifen, indem Sie die Elastic Beanstalk-API über die verwenden oder indem Sie sie eb logs --analyze mit der AWS CLI EB-CLI ausführen. Bei der Analyse werden die Protokolle, Ereignisse und der Instance-Zustand Ihrer Umgebung untersucht, um kritische Probleme zu identifizieren und schrittweise Empfehlungen zur Fehlerbehebung zu geben.
Weitere Informationen finden Sie unter AI-powered Umweltanalyse.
Verwenden AWS Systems Manager Elastic Beanstalk-Runbooks
Sie können Systems Manager verwenden, um Probleme in Ihren Elastic-Beanstalk-Umgebungen zu beheben. Um Ihnen den Einstieg zu erleichtern, stellt Systems Manager vordefinierte Automatisierungs-Runbooks für Elastic Beanstalk bereit. Ein Automatisierungs-Runbook ist eine Art von Systems-Manager-Dokument, das Aktionen definiert, die auf den Instances und anderen AWS -Ressourcen Ihrer Umgebung ausgeführt werden sollen.
Bei dem Dokument AWSSupport-TroubleshootElasticBeanstalk handelt es sich um ein Automatisierungs-Runbook, mit dem Sie eine Reihe gängiger Probleme identifizieren können, die Ihre Elastic-Beanstalk-Umgebung beeinträchtigen können. Zu diesem Zweck werden die Komponenten Ihrer Umgebung überprüft, darunter die folgenden: EC2 Instances, die VPC, CloudFormation -Stack, Load Balancer, Auto-Scaling-Gruppen und die Netzwerkkonfiguration in Verbindung mit Sicherheitsgruppenregeln, Routing-Tabellen und ACLs.
Es gibt auch die Möglichkeit, gebündelte Protokolldateien aus Ihrer Umgebung zu AWS -Support hochzuladen.
Weitere Informationen finden Sie unter AWSSupport-TroubleshootElasticBeanstalk in der Referenz zum AWS Systems Manager
-Automation-Runbook.
Verwenden Sie Systems Manager, um AWSSupport-TroubleshootElasticBeanstalk Runbook auszuführen
Anmerkung
Führen Sie dieses Verfahren an derselben AWS-Region Stelle aus, an der sich Ihre Elastic Beanstalk-Umgebung befindet.
-
Öffnen Sie die AWS Systems Manager-Konsole
. -
Wählen Sie im Navigationsbereich im Abschnitt Änderungsmanagement Automatisierung aus.
-
Wählen Sie Automatisierung ausführen.
-
Auf der Registerkarte Owned by Amazon geben Sie in das Suchfeld für Automatisierungsdokumente
AWSSupport-TroubleshootElasticBeanstalkein. -
Wählen Sie die AWSSupport-TroubleshootElasticBeanstalk Karte aus und wählen Sie dann Weiter.
-
Wählen Sie Ausführen aus.
-
Im Abschnitt Eingabeparameter:
-
Wählen Sie in der AutomationAssumeRole Dropdownliste den ARN der Rolle aus, die es dem Systemmanager ermöglicht, Aktionen in Ihrem Namen auszuführen.
-
Geben Sie für ApplicationName den Namen der Elastic Beanstalk-Anwendung ein.
-
Geben Sie als Umgebungsname die Elastic-Beanstalk-Umgebung ein.
-
(Optional) Geben Sie für einen Link ein S3UploaderLink, falls Ihnen ein AWS Support-Techniker einen S3-Link für die Protokollerfassung zur Verfügung gestellt hat.
-
-
Wählen Sie Ausführen.
Wenn einer der Schritte fehlschlägt, wählen Sie den Link in der Spalte Schritt-ID für den Schritt aus, der fehlgeschlagen ist. Daraufhin wird eine Ausführungsdetailseite für den Schritt angezeigt. In VerificationErrorMessage diesem Abschnitt wird eine Zusammenfassung der Schritte angezeigt, die Ihrer Aufmerksamkeit bedürfen.
IAMPermissionCheckkönnte zum Beispiel eine Warnmeldung anzeigen. In diesem Fall könnten Sie überprüfen, ob die in der AutomationAssumeRole Dropdownliste ausgewählte Rolle über die erforderlichen Berechtigungen verfügt.
Nachdem alle Schritte erfolgreich abgeschlossen wurden, enthält die Ausgabe Schritte zur Fehlerbehebung und Empfehlungen, mit denen Sie Ihre Umgebung wieder in einen einwandfreien Zustand versetzen können.
Allgemeine Hinweise zur Fehlerbehebung in Ihrer Elastic Beanstalk-Umgebung
Fehlermeldungen können auf der Seite Ereignisse in der Konsole, in Protokollen oder auf der Seite Zustand erscheinen. Sie können auch Maßnahmen ergreifen, um eine beeinträchtigte Umgebung wiederherzustellen, die durch eine kürzlich erfolgte Änderung verursacht wurde. Ändert sich der Zustand der Umgebung zu Rot, führen Sie die folgenden Schritte aus:
-
Fordern Sie eine AI-powered Analyse Ihrer Umgebung an. Weitere Informationen finden Sie unter AI-powered Umweltanalyse.
-
Wenn ein Vorgang in Ihrer Umgebung einen Fehler zurückgibt, der den Text enthält
The stack, finden Sie Hilfe Wiederherstellung Ihrer Elastic Beanstalk Beanstalk-Umgebung aus einem ungültigen Zustand zur Problembehandlung unter.associated with environmentstack_idis inenvironment-IDstatestack-status -
Wenn ein Vorgang in Ihrer Umgebung einen Fehler zurückgibt, der den Text enthält
Environment, beenden Sie Ihre Umgebung und erstellen Sie eine neue.environment-nameassociated CloudFormation stackstack_arndoes not exist -
Überprüfen Sie die letzten Ereignisse in der Umgebung. Hier finden Sie häufig Meldungen von Elastic Beanstalk zu Bereitstellungs-, Auslastungs- und Konfigurationsproblemen.
-
Überprüfen Sie den aktuellen Umweltänderungsverlauf. Der Änderungsverlauf listet alle Konfigurationsänderungen auf, die an Ihren Umgebungen vorgenommen wurden, und enthält weitere Informationen, z. B. welche IAM-Benutzer Änderungen vorgenommen hat und welche Konfigurationsparameter festgelegt wurden.
-
Rufen Sie die Protokolle auf und sehen Sie sich die letzten Protokolldateieinträge an. Die Webserverprotokolle können Informationen zu eingehenden Anforderungen und Fehlern enthalten.
-
Stellen Sie die Verbindung zu einer Instance her und überprüfen Sie die Systemressourcen.
-
Stellen Sie eine vorherige funktionierende Version der Anwendung wieder her.
-
Machen Sie die letzten Konfigurationsänderungen rückgängig oder stellen Sie eine gespeicherte Konfiguration wieder her.
-
Stellen Sie eine neue Umgebung bereit. Wenn diese Umgebung stabil wirkt, führen Sie einen CNAME-Austausch durch, um den Datenverkehr in die neue Umgebung umzuleiten, und setzen Sie die Fehlerbehebung in der vorherigen Umgebung fort.
Umgebungen, die mit Umgebungsvariablen auf Geheimnisse und Parameter zugreifen
Ereignis: Bei der Instanzbereitstellung konnten ein oder mehrere Geheimnisse nicht abgerufen werden
Diese Meldung weist darauf hin, dass Elastic Beanstalk eines oder mehrere der während Ihrer Anwendungsbereitstellung angegebenen Geheimnisse nicht abrufen konnte.
-
Stellen Sie sicher, dass die durch die ARN-Werte in Ihrer Umgebungsvariablenkonfiguration angegebenen Ressourcen vorhanden sind.
-
Vergewissern Sie sich, dass Ihre Elastic Beanstalk EC2-Instance-Profilrolle über die erforderlichen IAM-Berechtigungen für den Zugriff auf die Ressourcen verfügt.
-
Wenn dieses Ereignis durch den
RestartAppServerVorgang ausgelöst wurde, wiederholen Sie nach der Behebung des Problems denRestartAppServerAnruf, um das Problem zu lösen. -
Wenn das Ereignis durch einen
UpdateEnvironmentAnruf ausgelöst wurde, wiederholen Sie denUpdateEnvironmentVorgang.
Beispiele für diese Befehle finden Sie unter AWS CLI Beispiele für Elastic Beanstalk. Weitere Informationen zu den API-Aktionen für diese Operationen finden Sie in der AWS Elastic Beanstalk API-Referenz.
Ereignis: Bei der Instanzbereitstellung wurden ein oder mehrere mehrzeilige Umgebungswerte erkannt, die für diese Plattform nicht unterstützt werden
Mehrzeilige Variablen werden für Amazon Linux 2-Plattformen nicht unterstützt, mit Ausnahme von Docker und von ECS verwalteten Docker-Plattformen. Die verfügbaren Optionen, um fortzufahren, finden Sie unter. Mehrzeilige Werte
Ereignis: CreateEnvironment schlägt fehl, wenn ein Geheimnis angegeben wird
Wenn CreateEnvironment dies fehlschlägt und Sie Geheimnisse als Umgebungsvariablen haben, müssen Sie das zugrunde liegende Problem beheben und dann verwendenUpdateEnvironment, um die Umgebungseinrichtung abzuschließen. Verwenden Sie es nichtRestartAppServer, da es in dieser Situation nicht ausreicht, die Umgebung hochzufahren. Beispiele für diese Befehle finden Sie unter AWS CLI Beispiele für Elastic Beanstalk . Weitere Informationen zu den API-Aktionen für diese Operationen finden Sie in der AWS Elastic Beanstalk API-Referenz.
Umgebungserstellung und Instance-Starts
Ereignis: Umgebung konnte nicht gestartet werden
Dieses Ereignis tritt auf, wenn Elastic Beanstalk versucht, eine Umgebung zu starten und es dabei zu Fehlern kommt. Die vorherigen Ereignisse auf der Seite Events (Ereignisse) weisen auf die Ursache des Problems hin.
Ereignis: Die Erstellung der Umgebung wurde mit Befehls-Timeouts abgeschlossen. Versuchen Sie, die Timeout-Zeit zu erhöhen.
Falls Sie Konfigurationsdateien einsetzen, mit denen Befehle auf der Instance ausgeführt, große Dateien heruntergeladen oder Pakete installiert werden, kann die Anwendungsbereitstellung langwierig sein. Erhöhen Sie den Timeout-Wert für Befehle, damit die Anwendung im Rahmen der Bereitstellungen mehr Zeit zum Ausführen hat.
Ereignis: Die folgenden Ressourcen konnten nicht erstellt werden: [AWSEBInstanceLaunchWaitCondition]
Diese Nachricht gibt an, dass die Amazon EC2-Instances der Umgebung Elastic Beanstalk nicht über den erfolgreichen Start informiert haben. Das kann passieren, wenn die Instances keine Verbindung zum Internet haben. Wenn die Umgebungskonfiguration das Starten der Instances in einem privaten VPC-Subnetz vorsieht, stellen Sie sicher, dass das Subnetz über NAT verfügt, damit die Instances eine Verbindung zu Elastic Beanstalk herstellen können.
Ereignis: In dieser Region ist eine Servicerolle erforderlich. Bitte fügen Sie der Umgebung eine Servicerolle-Option hinzu.
Elastic Beanstalk nutzt eine Servicerolle zur Überwachung der Ressourcen in Ihrer Umgebung und zur Unterstützung von verwalteten Plattformaktualisierungen. Weitere Informationen finden Sie unter Rollen von Elastic Beanstalk Service verwalten.
Bereitstellungen
Problem: Anwendung steht während Bereitstellungen nicht zur Verfügung
Da Elastic Beanstalk ein Drop-in-Upgrade ausführt, kann es zu einer Ausfallzeit von einigen Sekunden kommen. Setzen Sie fortlaufende Bereitstellungen ein, um die Beeinträchtigung der Produktionsumgebungen aufgrund von Bereitstellungen zu minimieren.
Ereignis: Die AWS Elastic Beanstalk-Anwendungsversion konnte nicht erstellt werden
Möglicherweise ist das Quell-Bundle der Anwendung zu umfangreich oder das Anwendungsversionskontingent wurde erreicht.
Ereignis: Umgebungsaktualisierung wurde mit Befehls-Timeouts abgeschlossen. Versuchen Sie, die Timeout-Zeit zu erhöhen.
Falls Sie Konfigurationsdateien einsetzen, mit denen Befehle auf der Instance ausgeführt, große Dateien heruntergeladen oder Pakete installiert werden, kann die Anwendungsbereitstellung langwierig sein. Erhöhen Sie den Timeout-Wert für Befehle, damit die Anwendung im Rahmen der Bereitstellungen mehr Zeit zum Ausführen hat.
Gesundheit
Ereignis: CPU-Auslastung Über 95 %
Versuchen Sie, mehr Instances auszuführen, oder wählen Sie einen anderen Instance-Typ aus.
Ereignis: Elastic Load Balancer awseb — myapp Hat keine fehlerfreien Instances, ELB-Prozesse funktionieren nicht korrekt, wenn keine Instances vorhanden sind. X Y , ELB-Prozesse sind nicht auf allen Instances fehlerfrei.
Diese Meldungen weisen darauf hin, dass Ihre Load Balancer-Integritätsprüfungen bei einer oder mehreren Instances fehlschlagen. Wenn Ihre Anwendung zu funktionieren scheint, stellen Sie sicher, dass die URL für die Integritätsprüfung Ihrer Anwendung korrekt konfiguriert ist. Wenn nicht, versuchen Sie Folgendes:
Prüfen Sie Ihre Anwendungsprotokolle (z. B.
/var/log/web.stdout.log) auf Fehler, Startfehler oder Bereitstellungsprobleme./var/log/eb-engine.logÜberprüfen Sie die Proxyprotokolle auf Verbindungsfehler in
/var/log/nginx/(nginx) oder/var/log/httpd/(Apache).Stellen Sie sicher, dass Ihre Anwendung mit HTTP 200 auf den konfigurierten Integritätsprüfungspfad reagiert und den erwarteten Port abhört.
Stellen Sie sicher, dass Sicherheitsgruppen eingehenden Datenverkehr vom Load Balancer zu Instances auf dem Health Check-Port zulassen. Überprüfen Sie in der EC2-Konsole die Regeln für eingehenden Datenverkehr in der Sicherheitsgruppe der Instance, um sicherzustellen, dass der Health Check-Port für die Sicherheitsgruppe des Load Balancers geöffnet ist.
Überprüfen Sie die CPU- und Speicherauslastung in den CloudWatch Metriken (
CPUUtilization,).EnvironmentHealthEine Erschöpfung der Ressourcen kann zu Timeouts bei der Systemdiagnose führen.
Weitere Informationen erhalten Sie, wenn Sie die vollständigen Paketprotokolle abrufen oder das CloudWatch Protokollstreaming aktivieren. Sie können auch das AWSSupport-TroubleshootElasticBeanstalk Automatisierungs-Runbook ausführen, um das Problem zu diagnostizieren.
Ereignis: Elastic Load Balancer awseb — kann nicht gefunden werden myapp
Der Load Balancer der Umgebung ist möglicherweise außerplanmäßig entfernt worden. Nehmen Sie Änderungen an den Umgebungsressourcen nur mit den von Elastic Beanstalk bereitgestellten Konfigurationsoptionen und Erweiterungen vor. Erstellen Sie Ihre Umgebung erneut oder starten Sie eine neue Umgebung.
Ereignis: EC2-Instance konnte nicht gestartet werden. Warten auf den Start einer neuen EC2 Instance ...
Möglicherweise sind derzeit keine Instance-Typen für die Umgebung verfügbar oder das Instance-Kontingent für Ihr Konto wurde erreicht. Überprüfen Sie in der Übersicht zum Servicestatus-
Ereignis: Keine der Instanzen sendet Daten.
Elastic Beanstalk empfängt von keiner Ihrer Instances Gesundheitsdaten. Dies kann durch Probleme mit der Netzwerkkonnektivität, Probleme mit dem Health Agent oder Ausfälle auf Systemebene verursacht werden.
Überprüfen Sie die Netzwerkkonnektivität. Stellen Sie sicher, dass Sicherheitsgruppen ausgehendes HTTPS zulassen (Port 443). Stellen Sie für Instances in privaten Subnetzen sicher, dass ein NAT-Gateway oder VPC-Endpunkte konfiguriert sind. Überprüfen Sie die Routing-Tabellen auf korrekte ausgehende Routen und stellen Sie sicher, dass die DNS-Auflösung in Ihrer VPC ordnungsgemäß funktioniert.
Überprüfen Sie den Agenten zur Gesundheitsüberwachung. Achten Sie
/var/log/healthd/daemon.logauf Fehler im Health Agent und/var/log/messagesauf Systemebene. Stellen Sie sicher, dass der Healthd-Dienst ausgeführt wird, indem Sie über SSH eine Verbindung zur Instanz herstellen und ausführen.systemctl status healthdPrüfen Sie, ob Probleme auf Systemebene auftreten, wie etwa die Erschöpfung der Ressourcen (Arbeitsspeicher, CPU, Festplattenspeicher), die NTP/system Uhrsynchronisierung und die Konnektivität des Instance-Metadatendienstes.
Weitere Informationen erhalten Sie, wenn Sie die vollständigen Paketprotokolle abrufen oder das CloudWatch Protokollstreaming aktivieren. Sie können auch das AWSSupport-TroubleshootElasticBeanstalk Automatisierungs-Runbook ausführen, um das Problem zu diagnostizieren.
Umgebungen mit Dual-Stack-konfigurierten Load Balancern
Ereignis: Für VPC sind vpc_id keine IPv6-CIDR-Blöcke konfiguriert. IPv6-CIDR-Blöcke sind für den DualStack-Load Balancer erforderlich. Bitte ordnen Sie Ihrer VPC einen IPv6-CIDR-Block zu, bevor Sie den Dualstack-Modus verwenden.
Ihrer VPC und allen Subnetzen müssen IPv6-CIDR-Blöcke zugeordnet sein. Dies ist eine der VPC-Voraussetzungen, die Sie erfüllen müssen, bevor Sie Ihren Load Balancer für die Dualstack-Unterstützung konfigurieren. Weitere Informationen zum Ausführen dieser Aufgabe finden Sie weiter Voraussetzungen für Amazon VPC oben in diesem Thema.
Ereignis: In einem oder mehreren Subnetzen für VPC sind vpc_id keine IPv6-CIDR-Blöcke konfiguriert. IPv6-CIDR-Blöcke sind für die Subnetze erforderlich, die mit dem DualStack-Load Balancer verwendet werden. Bitte ordnen Sie IPv6-CIDR-Blöcke allen erforderlichen Subnetzen zu, bevor Sie den Dualstack-Modus verwenden.
Allen Subnetzen für Ihre VPC müssen IPv6-CIDR-Blöcke zugeordnet sein. Dies ist eine der VPC-Voraussetzungen, die Sie erfüllen müssen, bevor Sie Ihren Load Balancer für die Dualstack-Unterstützung konfigurieren. Weitere Informationen zum Ausführen dieser Aufgabe finden Sie weiter Voraussetzungen für Amazon VPC oben in diesem Thema.
Fehler: Die IpAddressType Option kann nur auf Elastic Beanstalk-Umgebungen angewendet werden, die mit einem Application Load Balancer oder Network Load Balancer konfiguriert sind.
Diese Meldung weist darauf hin, dass es sich bei Ihrer Elastic Beanstalk-Umgebung möglicherweise um eine Einzelinstanzumgebung handelt oder dass sie möglicherweise einen Classic Load Balancer verwendet. Nur Umgebungen, die mit einem Application Load Balancer oder Network Load Balancer konfiguriert wurden, können konfiguriert werden. IpAddressType
Konfiguration
Ereignis: Der der Umgebung zugeordnete Stack stack_id befindet sich im Status environment-IDstack-status
Der zugrunde liegende CloudFormation Stack Ihrer Umgebung befindet sich möglicherweise im Status *_FAILED. Dieser Status muss behoben werden, damit der Elastic Beanstalk-Betrieb in Ihrer Umgebung fortgesetzt werden kann. Weitere Informationen finden Sie unter Wiederherstellung Ihrer Elastic Beanstalk Beanstalk-Umgebung aus einem ungültigen Zustand.
Ereignis: Es kann keine Elastic Beanstalk-Umgebung konfiguriert werden, die Werte für die Optionen "Elastic Load Balancing Target (Elastic Load Balancing-Ziel)" und "Application Healthcheck URL (URL für die Zustandsprüfung der Anwendung)" enthält.
Die Option Target im Namespace aws:elb:healthcheck ist veraltet. Entfernen Sie die Namespace-Option Target aus der Umgebung und führen Sie die Aktualisierung erneut aus.
Ereignis: ELB kann nicht mit mehreren Subnetzen in derselben AZ verbunden werden
Diese Meldung wird angezeigt, wenn Sie einen Load Balancer zwischen Subnetzen in derselben Availability Zone verschieben möchten. Sollen die Subnetze des Load Balancers geändert werden, muss dieser aus den ursprünglichen Availability Zones entfernt und mit den gewünschten Subnetzen wieder in diese eingefügt werden. Bei diesem Prozess werden alle Instances zwischen den Availability Zones migriert, was zu erheblichen Ausfallzeiten führt. Ziehen Sie stattdessen in Betracht, eine neue Umgebung zu erstellen und einen CNAME-Austausch durchzuführen.
Fehlerbehebung bei Docker-Containern
Ereignis: Docker-Image :latest: konnte nicht abgerufen werden. Ungültiger Repository-Name (), nur [a-z0-9-] sind zulässig. Weitere Details finden Sie in den Protokollfragmenten.
Prüfen Sie die Syntax der dockerrun.aws.json-Datei mit einer JSON-Validierung. Verifizieren Sie außerdem den dockerfile-Inhalt hinsichtlich der Anforderungen in Bereiten Sie Ihr Docker-Image für die Bereitstellung auf Elastic Beanstalk vor.
Ereignis: Keine EXPOSE-Anweisung in Dockerfile gefunden, Bereitstellung abbrechen
Die Dockerfile oder dockerrun.aws.json-Datei deklariert den Container-Port nicht. Verwenden Sie die EXPOSE-Anweisung (Dockerfile) oder den Ports-Block (dockerrun.aws.json-Datei), um einen Port für eingehenden Datenverkehr verfügbar zu machen.
Ereignis: Fehler beim Herunterladen der Anmeldeinformationen repository von bucket name
Der dockerrun.aws.json stellt ein ungültiges EC2-Schlüsselpaar and/or S3-Bucket für die .dockercfg Datei bereit. Oder das Instanzprofil ist nicht für den S3-Bucket GetObject autorisiert. Überprüfen Sie, ob die .dockercfg-Datei einen gültigen S3-Bucket und ein gültiges EC2-Schlüsselpaar enthält. Erteilen Sie Berechtigungen für die Aktion s3:GetObject für die IAM-Rolle im Instance-Profil. Details finden Sie unter Elastic Beanstalk Instance-Profile verwalten.
Ereignis: Aktivitätsausführung wegen Warnmeldung zur ungültigen "auth"-Konfigurationsdatei fehlgeschlagen
Die Authentifizierungsdatei (config.json) ist nicht ordnungsgemäß formatiert. Siehe Authentifizierung mit Image-Repositorys
Häufig gestellte Fragen
Frage: Wie kann ich meine Anwendungs-URL von myapp.us-west-2.elasticbeanstalk.com in www.myapp.com ändern?
Registrieren Sie bei einem DNS-Server einen CNAME-Datensatz, wie z. B. www.mydomain.com CNAME
mydomain.elasticbeanstalk.com.
Frage: Wie gebe ich eine bestimmte Availability Zone für meine Elastic Beanstalk-Anwendung an?
Sie können eine bestimmte Availability Zone mithilfe der APIs, CLI, des Eclipse-Plug-In oder des Visual Studio-Plug-In auswählen. Für Anweisungen zum Angeben einer Availability Zone mit der Elastic Beanstalk-Konsole siehe Auto Scaling Ihrer Elastic Beanstalk Beanstalk-Umgebungsinstanzen.
Frage: Wie kann ich den Instance-Typ meiner Umgebung ändern?
Um den Instance-Typ Ihrer Umgebung zu ändern, rufen Sie die Seite Bearbeiten in der Konfigurationskategorie Instances auf. Wählen Sie dann einen neuen Instance-Typ aus und wählen Sie Anwenden, um Ihre Umgebung zu aktualisieren. Danach beendet Elastic Beanstalk alle laufenden Instances und ersetzt sie durch neue.
Frage: Wie stelle ich fest, ob jemand Konfigurationsänderungen an einer Umgebung vorgenommen hat?
Um diese Informationen anzuzeigen, wählen Sie im Navigationsbereich der Elastic-Beanstalk-Konsole den Änderungsverlauf, um eine Liste der Konfigurationsänderungen für alle Umgebungen anzuzeigen. Diese Liste enthält das Datum und die Uhrzeit der Änderung, den Konfigurationsparameter und den Wert, in den sie geändert wurde, sowie den IAM-Benutzer, der die Änderung vorgenommen hat. Weitere Informationen finden Sie unter Änderungsverlauf.
Frage: Kann ich verhindern, dass Amazon EBS-Volumes gelöscht werden, wenn Instances beendet werden?
Instances in Ihrer Umgebung verwenden Amazon EBS zur Speicherung. Das Stamm-Volume wird jedoch gelöscht, wenn eine Instance durch Auto Scaling beendet wird. Wir empfehlen nicht, dass Sie Status- oder andere Daten auf Ihren Instances speichern. Bei Bedarf können Sie das Löschen von Volumes mit dem AWS CLI: verhindern, dass Volumes gelöscht werden, $ aws ec2
modify-instance-attribute -b '/dev/sdc=<vol-id>:false wie in der AWS CLI
Referenz beschrieben.
Frage: Wie lösche ich persönliche Informationen aus meiner Elastic Beanstalk-Anwendung?
AWS Ressourcen, die Ihre Elastic Beanstalk-Anwendung verwendet, speichern möglicherweise persönliche Informationen. Wenn Sie eine Umgebung beenden, beendet Elastic Beanstalk die erstellten Ressourcen. Die Ressourcen, die Sie mithilfe von Konfigurationsdateien hinzugefügt haben, werden ebenfalls beendet. Wenn Sie jedoch AWS Ressourcen außerhalb Ihrer Elastic Beanstalk-Umgebung erstellt und mit Ihrer Anwendung verknüpft haben, müssen Sie möglicherweise manuell überprüfen, ob personenbezogene Daten, die Ihre Anwendung möglicherweise gespeichert hat, nicht gespeichert werden. In diesem Entwicklerhandbuch erwähnen wir, wann immer wir über die Erstellung zusätzlicher Ressourcen sprechen, auch, wann Sie darüber nachdenken sollten, diese zu löschen.
Häufige Fehler
In diesem Thema werden häufig auftretende Fehlermeldungen im Zusammenhang mit der EB CLI-Verwendung sowie mögliche Lösungen aufgeführt. Falls Ihnen eine Fehlermeldung angezeigt wird, die hier nicht enthalten ist, teilen Sie uns dies bitte über die Feedback-Links mit.
FEHLER: Bei der Verarbeitung des Git-Befehls ist ein Fehler aufgetreten. Fehlercode: 128 Fehler: fatal: Kein gültiger Objektname HEAD
Ursache: Diese Fehlermeldung wird angezeigt, wenn Sie ein Git-Repository initialisiert, aber noch nicht übergeben haben. Wenn der Projektordner ein Git-Repository enthält, sucht die EB CLI nach einer HEAD-Revision.
Lösung: Fügen Sie die Dateien in Ihrem Projektordner zum Staging-Bereich hinzu und führen Sie den Commit aus:
~/my-app$ git add .
~/my-app$ git commit -m "First commit"
FEHLER: Dieser Zweig hat keine Standardumgebung. Sie müssen entweder eine Umgebung angeben, indem Sie „eb status my-env-name“ eingeben, oder eine Standardumgebung festlegen, indem Sie „eb use my-env-name“ eingeben.
Ursache: Wenn Sie in Git eine neue Verzweigung erstellen, wird dieser nicht standardmäßig einer Elastic Beanstalk-Umgebung zugewiesen.
Lösung: Führen Sie eb list aus, um eine Liste der verfügbaren Umgebungen aufzurufen. Führen Sie anschließend eb use env-name aus, um eine der verfügbaren Umgebungen zu verwenden.
FEHLER: Plattformen ab Version 2.0 erfordern eine Servicerolle. Sie können eine mit der Option --service-role angeben
Ursache: Wenn Sie einen Umgebungsnamen mit eb create angeben (z. B. eb create my-env), erstellt die EB CLI keine Servicerolle für Sie. Ist die standardmäßige Servicerolle nicht vorhanden, wird die obige Fehlermeldung angezeigt.
Lösung: Führen Sie eb create ohne den Umgebungsnamen aus und folgen Sie den Anweisungen, um die standardmäßige Servicerolle zu erstellen.
Fehler bei der Bereitstellung
Ihre Elastic Beanstalk-Bereitstellung reagiert möglicherweise mit einer 404-Antwort (wenn Ihre Anwendung nicht gestartet werden konnte) oder 500-Antwort (wenn Ihre Anwendung während der Laufzeit ausfällt). Um viele häufig auftretende Probleme zu beheben, können Sie die EB-CLI verwenden, um den Status Ihrer Bereitstellung zu überprüfen, die zugehörigen Protokolle einzusehen, mit SSH auf Ihre EC2-Instance zuzugreifen oder die AWS Management-Konsolenseite für Ihre Anwendungsumgebung zu öffnen.
So setzen Sie die EB CLI zum Beheben von Bereitstellungsfehlern ein
-
Führen Sie eb status aus, um den Status der aktuellen Bereitstellung sowie den Zustand der EC2-Hosts anzuzeigen. Beispiel:
$eb status --verboseEnvironment details for: python_eb_app Application name: python_eb_app Region: us-west-2 Deployed Version: app-150206_035343 Environment ID: e-wa8u6rrmqy Platform: 64bit Amazon Linux 2014.09 v1.1.0 running Python 2.7 Tier: WebServer-Standard- CNAME: python_eb_app.elasticbeanstalk.com Updated: 2015-02-06 12:00:08.557000+00:00 Status: Ready Health: Green Running instances: 1 i-8000528c: InServiceAnmerkung
Mit
--verboseerhalten Sie detaillierte Informationen über den Status der ausgeführten Instances. Andernfalls werden nur allgemeine Umgebungsinformationen von eb status ausgegeben. -
Führen Sie eb health aus, um Zustandsinformationen zur Umgebung anzuzeigen:
$eb health --refreshelasticBeanstalkExa-env Degraded 2016-03-28 23:13:20 WebServer Ruby 2.1 (Puma) total ok warning degraded severe info pending unknown 5 2 0 2 1 0 0 0 instance-id status cause Overall Degraded Incorrect application version found on 3 out of 5 instances. Expected version "Sample Application" (deployment 1). i-d581497d Degraded Incorrect application version "v2" (deployment 2). Expected version "Sample Application" (deployment 1). i-d481497c Degraded Incorrect application version "v2" (deployment 2). Expected version "Sample Application" (deployment 1). i-136e00c0 Severe Instance ELB health has not been available for 5 minutes. i-126e00c1 Ok i-8b2cf575 Ok instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 Overall 646.7 100.0 0.0 0.0 0.0 0.003 0.002 0.001 0.001 0.000 i-dac3f859 167.5 1675 0 0 0 0.003 0.002 0.001 0.001 0.000 i-05013a81 161.2 1612 0 0 0 0.003 0.002 0.001 0.001 0.000 i-04013a80 0.0 - - - - - - - - - i-3ab524a1 155.9 1559 0 0 0 0.003 0.002 0.001 0.001 0.000 i-bf300d3c 162.1 1621 0 0 0 0.003 0.002 0.001 0.001 0.000 instance-id type az running load 1 load 5 user% nice% system% idle% iowait% i-d581497d t2.micro 1a 25 mins 0.16 0.1 7.0 0.0 1.7 91.0 0.1 i-d481497c t2.micro 1a 25 mins 0.14 0.1 7.2 0.0 1.6 91.1 0.0 i-136e00c0 t2.micro 1b 25 mins 0.0 0.01 0.0 0.0 0.0 99.9 0.1 i-126e00c1 t2.micro 1b 25 mins 0.03 0.08 6.9 0.0 2.1 90.7 0.1 i-8b2cf575 t2.micro 1c 1 hour 0.05 0.41 6.9 0.0 2.0 90.9 0.0 instance-id status id version ago deployments i-d581497d Deployed 2 v2 9 mins i-d481497c Deployed 2 v2 7 mins i-136e00c0 Failed 2 v2 5 mins i-126e00c1 Deployed 1 Sample Application 25 mins i-8b2cf575 Deployed 1 Sample Application 1 hourIm obigen Beispiel wird eine Umgebung mit fünf Instances dargestellt, in der die Bereitstellung der Version "v2" auf der dritten Instance fehlerhaft verlaufen ist. Nach der fehlgeschlagenen Bereitstellung wird die erwartete Version auf die letzte erfolgreiche Version zurückgesetzt, in diesem Falle auf "Sample Application" aus der ersten Bereitstellung. Weitere Informationen finden Sie unter Verwenden der EB-CLI zur Überwachung des Umgebungszustands.
-
Führen Sie eb logs aus, um die Protokolle zur Anwendungsbereitstellung herunterzuladen und aufzurufen.
$eb logs -
Führen Sie eb ssh aus, um die Verbindung zur EC2-Instance, auf der die Anwendung ausgeführt wird, herzustellen und diese direkt zu überprüfen. Auf der Instance finden Sie die bereitgestellte Anwendung im Verzeichnis
/opt/python/current/appund die Python-Umgebung in/opt/python/run/venv/. -
Führen Sie eb console aus, um die Anwendungsumgebung in der AWS -Managementkonsole
anzuzeigen. Über die Weboberfläche können Sie schnell zahlreiche Bereitstellungsaspekte untersuchen, darunter Konfiguration, Status, Ereignisse und Protokolle der Anwendung. Außerdem können Sie die aktuellen oder beendeten Anwendungsversionen herunterladen, die Sie auf dem Server bereitgestellt haben.