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.
Verwenden der Elastic Beanstalk Node.js-Plattform
In diesem Thema wird beschrieben, wie Sie Ihre Node.js -Anwendungen auf Elastic Beanstalk konfigurieren, erstellen und ausführen.
AWS Elastic Beanstalk unterstützt eine Reihe von Plattformzweigen für verschiedene Versionen der Programmiersprache Node.js. Eine vollständige Liste finden Sie unter Node.js im Dokument AWS Elastic Beanstalk Platforms.
Elastic Beanstalk bietet Konfigurationsoptionen, mit denen sich die auf den EC2-Instances in der Elastic-Beanstalk-Umgebung ausgeführte Software anpassen lässt. Sie können die von Ihrer Anwendung benötigten Umgebungsvariablen konfigurieren, die Protokollrotation an Amazon S3 aktivieren und die Ordner in der Anwendungsquelle, die statische Dateien enthalten, den vom Proxy-Server verwendeten Pfaden zuordnen.
In der Elastic Beanstalk-Konsole sind Konfigurationsoptionen für das Ändern der Konfiguration einer ausgeführten Umgebung verfügbar. Um zu verhindern, dass die Umgebungskonfiguration beim Beenden verloren geht, können Sie gespeicherte Konfigurationen verwenden, um Ihre Einstellungen zu speichern und sie später für eine andere Umgebung zu übernehmen.
Zum Speichern der Einstellungen im Quellcode können Sie Konfigurationsdateien einschließen. Die Einstellungen in Konfigurationsdateien werden jedes Mal verwendet, wenn Sie eine Umgebung erstellen oder Ihre Anwendung bereitstellen. Mit Konfigurationsdateien können Sie auch Pakete installieren, Skripts ausführen und andere Instance-Anpassungen bei Bereitstellungen vornehmen.
Sie können eine Package.json-Datei in Ihr Quell-Bundle aufnehmen, um Pakete während der Bereitstellung zu installieren, einen Startbefehl bereitzustellen und die Node.js-Version anzugeben, die Ihre Anwendung verwenden soll. Sie können eine -Datei npm-shrinkwrap.json aufnehmen, um Abhängigkeitsversionen zu sperren.
Die Node.js-Plattform umfasst einen Proxy-Server, um statische Komponenten zu verarbeiten, Datenverkehr an Ihre Anwendung weiterzuleiten und Antworten zu komprimieren. Sie können die für erweiterte Szenarien Proxy-Standardkonfiguration erweitern oder überschreiben.
Es gibt verschiedene Möglichkeiten, um Ihre Anwendung zu starten. Sie können Procfile zu Ihrem Quell-Bundle hinzufügen, um den Befehl anzugeben, mit dem Ihre Anwendung gestartet wird. Wenn Sie kein Procfile
bereitstellen, aber stattdessen eine package.json
-Datei verfügbar machen führt Elastic Beanstalk npm start
aus. Wenn Sie auch dies nicht angeben, sucht Elastic Beanstalk die Datei von app.js
oder server.js
(in dieser Reihenfolge) und führt das Script aus.
Die in der Elastic Beanstalk-Konsole angewendeten Einstellungen überschreiben die entsprechenden Einstellungen in Konfigurationsdateien, falls vorhanden. So sind Standardeinstellungen in Konfigurationsdateien möglich, die Sie mit umgebungsspezifischen Einstellungen in der Konsole überschreiben können. Für weitere Informationen zur Rangfolge und zu anderen Methoden zum Ändern der Einstellungen siehe Konfigurationsoptionen.
Details zu den verschiedenen Möglichkeiten für das Erweitern einer Linux-basierten Elastic Beanstalk-Plattform finden Sie unter Erweitern von Elastic Beanstalk-Linux-Plattformen.
Konfiguration der Node.js-Umgebung
Sie können die Node.js Plattformeinstellungen verwenden, um das Verhalten Ihrer EC2 Amazon-Instances zu optimieren. Sie können die EC2 Amazon-Instance-Konfiguration für Ihre Elastic Beanstalk Beanstalk-Umgebung mithilfe der Elastic Beanstalk Beanstalk-Konsole bearbeiten.
Mithilfe der Elastic Beanstalk-Konsole aktivieren Sie die Protokollrotation an Amazon S3 und konfigurieren Variablen, die die Anwendung aus der Umgebung auslesen kann.
So konfigurieren Sie Ihre Node.js-Umgebung in der Elastic-Beanstalk-Konsole
Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole
und wählen Sie in der Liste Regionen Ihre aus. AWS-Region -
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.
Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.
-
Wählen Sie in der Konfigurationskategorie Updates, monitoring and logging (Updates, Überwachung und Protokolle) die Option Edit (Bearbeiten) aus.
Containeroptionen
Sie können die folgenden plattformspezifischen Optionen angeben:
-
Proxy server (Proxy-Server) – Der Proxy-Server, der in Ihren Umgebungs-Instances verwendet werden soll. Standardmäßig wird NGNIX verwendet.
Protokolloptionen
Im Abschnitt mit den Protokolloptionen sind zwei Einstellungen vorhanden:
-
Instance profile (Instance-Profil) – Gibt das Instance-Profil an, das zum Zugriff auf den mit der Anwendung verknüpften Amazon S3-Bucket berechtigt ist.
-
Rotation der Protokolldateien nach Amazon S3 aktivieren — Gibt an, ob Protokolldateien für die EC2 Amazon-Instances Ihrer Anwendung in den Amazon S3-Bucket kopiert werden, der Ihrer Anwendung zugeordnet ist.
Statische Dateien
Um die Leistung zu verbessern, können Sie den Abschnitt Statische Dateien verwenden, um den Proxy-Server so zu konfigurieren, dass statische Dateien (z. HTML B. Bilder) aus einer Reihe von Verzeichnissen in Ihrer Webanwendung bereitgestellt werden. Legen Sie für jedes Verzeichnis den virtuellen Pfad zum Verzeichnis-Mapping fest. Wenn der Proxy-Server eine Anfrage nach einer Datei unter dem angegebenen Pfad erhält, stellt er die Datei direkt bereit, anstatt die Anfrage an Ihre Anwendung weiterzuleiten.
Weitere Informationen zum Konfigurieren statischer Dateien mit der Elastic Beanstalk-Konsole finden Sie unter Bereitstellen von statischen Dateien.
Umgebungseigenschaften
Verwenden Sie den Abschnitt Umgebungseigenschaften, um die Umgebungskonfigurationseinstellungen für die EC2 Amazon-Instances anzugeben, auf denen Ihre Anwendung ausgeführt wird. Diese Einstellungen werden als Schlüsselwert-Paare an die Anwendung weitergeleitet.
In der Node.js Umgebung, in der ausgeführt wird AWS Elastic Beanstalk, können Sie auf die Umgebungsvariablen zugreifen, indem Sie Folgendes ausführenprocess.env.ENV_VARIABLE
.
var endpoint = process.env.API_ENDPOINT
Die Node.js-Plattform legt die PORT-Umgebungsvariable auf den Port fest, an den der Proxy-Server den Datenverkehr weiterleitet. Weitere Informationen finden Sie unter Konfiguration des Proxyservers auf Elastic Beanstalk.
Weitere Informationen finden Sie unter Umgebungseigenschaften und andere Softwareeinstellungen.
Die folgenden Kategorien für die Konfiguration der Konsolensoftware werden nur in einer Elastic Beanstalk Node.js Beanstalk-Umgebung unterstützt, die eine Amazon AMI Linux-Plattformversion (vor Amazon Linux 2) verwendet.
Hinweise
-
Die Informationen in diesem Thema gelten nur für Plattformbranches, die auf Amazon Linux AMI (AL1) basieren. AL2023/ AL2 Plattformzweige sind nicht mit früheren Amazon Linux AMI (AL1) -Plattformversionen kompatibel und erfordern andere Konfigurationseinstellungen.
-
Am 18. Juli 2022 hat Elastic Beanstalk den Status aller Plattformbranchen, die auf Amazon Linux AMI (AL1) basieren, auf eingestellt gesetzt. Weitere Informationen zur Migration zu einem aktuellen und vollständig unterstützten Plattformzweig für Amazon Linux 2023 finden Sie unter Migrieren der Elastic-Beanstalk-Linux-Anwendung zu Amazon Linux 2023 oder Amazon Linux 2.
Geben Sie auf der Konfigurationsseite Folgendes ein:
-
Proxy Server (Proxy-Server) – Gibt den Webserver an, der für Proxy-Verbindungen zu Node.js verwendet werden soll. Standardmäßig wird NGINX verwendet. Wenn Sie none (keine) auswählen, sind statische Dateizuordnungen nicht wirksam und die GZIP-Komprimierung ist deaktiviert.
-
Node.js-Version – Gibt die Version von Node.js an. Die Liste der unterstützten Node.js-Versionen finden Sie unter Node.js im Handbuch für AWS Elastic Beanstalk -Plattformen.
-
GZIP-Komprimierung – Gibt an, ob die GZIP-Komprimierung aktiviert ist. Die GZIP-Komprimierung ist standardmäßig aktiviert.
-
Node Command (Knotenbefehl) – Hier können Sie den Befehl eingeben, der zum Starten der Node.js-Anwendung verwendet wird. Eine leere Zeichenfolge (Standard) bedeutet, dass Elastic Beanstalk erst
app.js
, dannserver.js
und dannnpm start
verwendet.
Node.js-Konfigurations-Namespace
Mithilfe einer Konfigurationsdatei können Sie im Rahmen der Bereitstellung Konfigurationsoptionen festlegen und andere Instance-Konfigurationsaufgaben durchführen. Konfigurationsoptionen können durch den Elastic Beanstalk-Service oder die verwendete Plattform definiert und in Namespaces organisiert werden.
Sie können mittels des Namespace aws:elasticbeanstalk:environment:proxy
den Proxy auswählen, der für die Instances Ihrer Umgebung verwendet werden soll. Im folgenden Beispiel wird Ihre Umgebung für die Verwendung des Apache HTTPD-Proxy-Server konfiguriert.
Beispiel .ebextensions/nodejs-settings.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
Sie können den Proxy so konfigurieren, dass statische Dateien mittels des Namespace aws:elasticbeanstalk:environment:proxy:staticfiles
bereitgestellt werden. Weitere Informationen sowie ein Beispiel finden Sie unter Bereitstellen von statischen Dateien.
Elastic Beanstalk bietet zahlreiche Konfigurationsoptionen für die Anpassung Ihrer Umgebung. Zusätzlich zu den Konfigurationsdateien können Sie auch Konfigurationsoptionen mithilfe der Konsole, gespeicherten Konfigurationen, der EB CLI oder der festlegen AWS CLI. Weitere Informationen finden Sie unter Konfigurationsoptionen.
Wenn Ihre Elastic Beanstalk Node.js Beanstalk-Umgebung eine Amazon AMI Linux-Plattformversion (vor Amazon Linux 2) verwendet, sollten Sie die spezifischen Konfigurationen und Empfehlungen in diesem Abschnitt berücksichtigen.
Hinweise
-
Die Informationen in diesem Thema gelten nur für Plattformbranches, die auf Amazon Linux AMI (AL1) basieren. AL2023/ AL2 Plattformzweige sind nicht mit früheren Amazon Linux AMI (AL1) -Plattformversionen kompatibel und erfordern andere Konfigurationseinstellungen.
-
Am 18. Juli 2022 hat Elastic Beanstalk den Status aller Plattformbranchen, die auf Amazon Linux AMI (AL1) basieren, auf eingestellt gesetzt. Weitere Informationen zur Migration zu einem aktuellen und vollständig unterstützten Plattformzweig für Amazon Linux 2023 finden Sie unter Migrieren der Elastic-Beanstalk-Linux-Anwendung zu Amazon Linux 2023 oder Amazon Linux 2.
Elastic Beanstalk unterstützt einige plattformspezifische Konfigurationsoptionen für Amazon Linux-Plattformversionen. AMI Node.js Sie können auswählen, welchen Proxy-Server Sie vor Ihrer Anwendung ausführen möchten, eine bestimmte Version von Node.js für die Ausführung verwenden und den Befehl wählen, um Ihre Anwendung auszuführen.
Für Proxyserver können Sie einen NGINX- oder Apache-Proxy-Server verwenden. Sie können den Wert none
auf die Option ProxyServer
festlegen. Mit dieser Einstellung führt Elastic Beanstalk Ihre Anwendung als eigenständige Anwendung aus und nicht hinter einem Proxy-Server. Wenn in Ihrer Umgebung eine eigenständige Anwendung ausgeführt wird, aktualisieren Sie den Code so, dass dem Port zugehört wird, an den NGINX den Datenverkehr weiterleitet.
var port = process.env.PORT || 8080;
app.listen(port, function() {
console.log('Server running at http://127.0.0.1:%s', port);
});
Hinsichtlich der unterstützten Sprachversion unterscheidet sich die Node.js Amazon AMI Linux-Plattform von anderen von Elastic Beanstalk verwalteten Plattformen. Das liegt daran, dass jede Node.js-Plattformversion nur wenige Node.js-Sprachversionen unterstützt. Die Liste der unterstützten Node.js-Versionen finden Sie unter Node.js im Handbuch für AWS Elastic Beanstalk -Plattformen.
Sie können eine plattformspezifische Konfigurationsoption verwenden, um die Sprachversion festzulegen. Detaillierte Anweisungen finden Sie unter Konfiguration der Node.js-Umgebung. Alternativ können Sie die Elastic-Beanstalk-Konsole verwenden, um die Node.js-Version zu aktualisieren, die Ihre Umgebung als Teil der Aktualisierung Ihrer Plattformversion verwendet.
Anmerkung
Wenn die von Ihnen verwendete Version von Node.js von der Plattform nicht mehr unterstützt wird, müssen Sie die Versionseinstellung vor der Ausführung einer Plattformaktualisierung ändern oder löschen. Dieser Fall kann eintreten, wenn eine Schwachstelle für eine oder mehrere Versionen von Node.js identifiziert wird.
In diesem Fall schlägt der Versuch fehl, auf eine neue Version der Plattform zu aktualisieren, die die konfigurierte NodeVersionVersion nicht unterstützt. Um zu vermeiden, dass eine neue Umgebung erstellt werden muss, ändern Sie die NodeVersionKonfigurationsoption in eine Version von Node.js, die sowohl von der alten als auch von der neuen Plattformversion unterstützt wird, oder entfernen Sie die Optionseinstellung und führen Sie dann das Plattformupdate durch.
So konfigurieren Sie die Node.js-Version Ihrer Umgebung in der Elastic-Beanstalk-Konsole
Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole
und wählen Sie in der Liste Regionen Ihre aus. AWS-Region -
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.
-
Wählen Sie auf der Umgebungsübersichtsseite unter Platform (Plattform) die Option Change (Ändern) aus.
-
Wählen Sie im Dialogfeld Plattformversion aktualisieren eine Node.js-Plattformversion aus.
-
Wählen Sie Save (Speichern) aus.
Die Node.js Amazon AMI Linux-Plattform definiert zusätzliche Optionen in den aws:elasticbeanstalk:container:nodejs
Namespaces aws:elasticbeanstalk:container:nodejs:staticfiles
und.
Die folgende Konfigurationsdatei weist Elastic Beanstalk an, npm start
zum Ausführen der Anwendung zu verwenden. Sie legt auch den Proxytyp auf Apache fest und aktiviert die Komprimierung. Zuletzt konfiguriert sie den Proxy, um statische Dateien aus zwei Quellverzeichnissen bereitzustellen. Eine Quelle besteht aus HTML -Dateien unter dem Pfad html
im Stammverzeichnis der Website aus dem Quellverzeichnis von statichtml
. Die andere Quelle besteht aus Image-Dateien unter dem Pfad images
im Stammverzeichnis der Website aus dem Quellverzeichnis von staticimages
.
Beispiel .ebextensions/node-settings.config
option_settings:
aws:elasticbeanstalk:container:nodejs:
NodeCommand: "npm start"
ProxyServer: apache
GzipCompression: true
aws:elasticbeanstalk:container:nodejs:staticfiles:
/html: statichtml
/images: staticimages
Elastic Beanstalk bietet zahlreiche Konfigurationsoptionen für die Anpassung Ihrer Umgebung. Neben den Konfigurationsdateien können Sie auch Konfigurationsoptionen mithilfe der Konsole, der gespeicherten Konfigurationen, der EB CLI oder der festlegen. AWS CLI Weitere Informationen finden Sie unter Konfigurationsoptionen.