

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
<a name="create_deploy_nodejs.container"></a>

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](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.nodejs) im Dokument *AWS Elastic Beanstalk Platforms*.

Elastic Beanstalk bietet [Konfigurationsoptionen](command-options.md), 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](environments-cfg-softwaresettings.md#environments-cfg-softwaresettings-console), 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](environment-configuration-methods-after.md) verfügbar. Um zu verhindern, dass die Umgebungskonfiguration beim Beenden verloren geht, können Sie [gespeicherte Konfigurationen](environment-configuration-savedconfig.md) 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](ebextensions.md) 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](nodejs-platform-dependencies.md#nodejs-platform-packagejson), 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`](nodejs-platform-shrinkwrap.md) 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](nodejs-platform-proxy.md).

Es gibt verschiedene Möglichkeiten, um Ihre Anwendung zu starten. Sie können [Procfile](nodejs-configuration-procfile.md) 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](command-options.md).

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](platforms-linux-extend.md).

## Konfiguration der Node.js-Umgebung
<a name="nodejs-platform-console"></a>

Mit den Einstellungen der Node.js-Plattform können Sie das Verhalten Ihrer Amazon-EC2-Instances optimieren. Sie können die Amazon-EC2-Instance-Konfiguration der Elastic-Beanstalk-Umgebung mit der Elastic-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**

1. Öffnen Sie die [Elastic Beanstalk Beanstalk-Konsole](https://console.aws.amazon.com/elasticbeanstalk) und wählen Sie in der Liste **Regionen** Ihre aus. AWS-Region

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

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

1. Wählen Sie in der Konfigurationskategorie **Updates, monitoring and logging ** (Updates, Überwachung und Protokolle) die Option **Edit** (Bearbeiten) aus.

### Container-Optionen
<a name="nodejs-platform-console-settings"></a>

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 NGINX verwendet.

### Protokolloptionen
<a name="nodejs-platform-console-logging"></a>

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.
+ **Enable log file rotation to Amazon S3** (Protokolldateirotation für Amazon S3 aktivieren) – Gibt an, ob die Protokolldateien für die Amazon-EC2-Instances der Anwendung in den der Anwendung zugeordneten Amazon-S3-Bucket kopiert werden.

### Statische Dateien
<a name="nodejs-platform-console-staticfiles"></a>

Um die Leistung zu verbessern, können Sie den Abschnitt **Static files** (Statische Dateien) benutzen, um den Proxy-Server so zu konfigurieren, dass er statische Dateien (z. B. HTML oder Bilder) aus Verzeichnissen innerhalb Ihrer Webanwendung bereitstellt. 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](environment-cfg-staticfiles.md).

### Umgebungseigenschaften
<a name="nodejs-platform-console-envprops"></a>

Im Bereich **Environment Properties (Umgebungseigenschaften)** können Sie die Einstellungen für die Umgebungskonfiguration der Amazon-EC2-Instances angeben, auf denen die 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 den Befehl ausführen`process.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 [Konfigurieren des Proxy-Server](nodejs-platform-proxy.md).

Weitere Informationen finden Sie unter [Umgebungsvariablen und andere Softwareeinstellungen](environments-cfg-softwaresettings.md).

### Konfigurieren einer Amazon Linux AMI (Vorgängerversion von Amazon Linux 2) Node.js-Umgebung
<a name="nodejs-platform-console.alami"></a>

Die folgenden Konfigurationskategorien für Konsolensoftware werden nur in einer Elastic-Beanstalk-Node.js-Umgebung unterstützt, die eine Amazon-Linux-AMI-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 Plattformbranches sind nicht mit früheren Amazon Linux AMI (AL1) -Plattformversionen kompatibel und *erfordern andere Konfigurationseinstellungen*.
 [Am 18. Juli 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **hat Elastic Beanstalk den Status aller Plattformbranches, 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](using-features.migration-al.md).

#### Container-Optionen — Amazon Linux AMI (AL1)
<a name="nodejs-platform-console-settings"></a>

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 [https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.nodejs](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.nodejs) 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`, dann `server.js` und dann `npm start` verwendet.

## Node.js-Konfigurations-Namespace
<a name="nodejs-namespaces"></a>

Mithilfe einer [Konfigurationsdatei](ebextensions.md) können Sie im Rahmen der Bereitstellung Konfigurationsoptionen festlegen und andere Instance-Konfigurationsaufgaben durchführen. Die Konfigurationsoptionen können [plattformspezifisch](command-options-specific.md) sein oder für [alle Plattformen](command-options-general.md) im Elastic Beanstalk-Service als Ganzes gelten. *Die Konfigurationsoptionen sind in Namespaces organisiert.*

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.

**Example .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](environment-cfg-staticfiles.md).

Elastic Beanstalk bietet zahlreiche Konfigurationsoptionen für die Anpassung Ihrer Umgebung. Neben den Konfigurationsdateien können Sie die Konfigurationsoptionen auch unter Verwendung der Konsole, gespeicherter Konfigurationen, der EB CLI oder der AWS CLI einrichten. Weitere Informationen finden Sie unter [Konfigurationsoptionen](command-options.md).

## Die Amazon Linux AMI (Vorgängerversion von Amazon Linux 2) Node.js-Plattform
<a name="nodejs.alami"></a>

Wenn die Elastic-Beanstalk-Node.js-Umgebung eine Amazon-Linux-AMI-Plattformversion verwendet (vor Amazon Linux 2), beachten Sie die speziellen Konfigurationen und Empfehlungen in diesem Abschnitt.

**Hinweise**  
Die Informationen in diesem Thema gelten nur für Plattformbranches, die auf Amazon Linux AMI (AL1) basieren. AL2023/AL2 Plattformbranches sind nicht mit früheren Amazon Linux AMI (AL1) -Plattformversionen kompatibel und *erfordern andere Konfigurationseinstellungen*.
 [Am 18. Juli 2022](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **hat Elastic Beanstalk den Status aller Plattformbranches, 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](using-features.migration-al.md).

### Node.jsplattformspezifische Konfigurationsoptionen — Amazon Linux AMI () AL1
<a name="nodejs.alami.options"></a>

Elastic Beanstalk unterstützt einige plattformspezifische Konfigurationsoptionen für Amazon Linux AMI Node.js-Plattformversionen. 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);
});
```

### Node.jsSprachversionen — Amazon Linux AMI (AL1)
<a name="nodejs.alami.versions"></a>

In Bezug auf die unterstützte Sprachversion unterscheidet sich die Amazon-Linux-AMI-Node.js-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 [https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.nodejs](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.nodejs) 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](#nodejs-platform-console). 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](using-features.platform.upgrade.md) ä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 [NodeVersion](command-options-specific.md#command-options-nodejs)fehl, auf eine neue Version der Plattform zu aktualisieren, die die konfigurierte Version nicht unterstützt. Um zu vermeiden, dass eine neue Umgebung erstellt werden muss, ändern Sie die *NodeVersion*Konfigurationsoption 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](environment-configuration-methods-after.md) und führen Sie dann das Plattformupdate durch.

**So konfigurieren Sie die Node.js-Version Ihrer Umgebung in der Elastic-Beanstalk-Konsole**

1. Öffnen Sie die [Elastic Beanstalk Beanstalk-Konsole](https://console.aws.amazon.com/elasticbeanstalk) und wählen Sie in der Liste **Regionen** Ihre aus. AWS-Region

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

1. Wählen Sie auf der Umgebungsübersichtsseite unter **Platform (Plattform)** die Option **Change (Ändern)** aus.

1. Wählen Sie im Dialogfeld **Plattformversion aktualisieren** eine Node.js-Plattformversion aus.  
![Bestätigen der Aktualisierung der Elastic-Beanstalk-Plattformversion](http://docs.aws.amazon.com/de_de/elasticbeanstalk/latest/dg/images/platform-nodejs-update-node-version.png)

1. Wählen Sie **Save** aus.

### Node.jsKonfigurations-Namespaces — Amazon Linux AMI () AL1
<a name="nodejs.alami.namespaces"></a>

Die Plattform von Node.js Amazon Linux AMI definiert zusätzliche Optionen in den `aws:elasticbeanstalk:container:nodejs:staticfiles`- und `aws:elasticbeanstalk:container:nodejs`-Namespaces.

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`.

**Example .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 die Konfigurationsoptionen auch unter Verwendung der Konsole, gespeicherter Konfigurationen, der EB CLI oder der AWS CLI einrichten. Weitere Informationen finden Sie unter [Konfigurationsoptionen](command-options.md).