Schemareferenz für das Bereitstellungsmanifest - AWS Elastic Beanstalk

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schemareferenz für das Bereitstellungsmanifest

Das Deployment-Manifest ist eine JSON-Datei, die definiert, wie Elastic Beanstalk Ihre Windows-Anwendungen bereitstellen und konfigurieren soll. Dieser Abschnitt enthält eine umfassende Referenz für alle unterstützten Eigenschaften und Konfigurationsoptionen im Manifestschema.

Manifeststruktur

Das Bereitstellungsmanifest folgt einem bestimmten JSON-Schema mit der folgenden Struktur auf oberster Ebene:

Beispiel Grundlegende Manifeststruktur
{ "manifestVersion": 1, "skipIISReset": false, "iisConfig": { "appPools": [...] }, "deployments": { "msDeploy": [...], "aspNetCoreWeb": [...], "custom": [...] } }

Eigenschaften der obersten Ebene

manifestVersion (Erforderlich)

Typ: Zahl

Standard: 1

Gültige Werte: 1

Gibt die Version des Manifestschemas an. Derzeit wird nur Version 1 unterstützt.

skipIISReset (optional)

Typ: Boolesch

Standard: false

Steuert, ob IIS während der Anwendungsbereitstellung zurückgesetzt wird. Dieses Flag betrifft sowohl Bereitstellungstypen als msDeploy auch aspNetCoreWeb Bereitstellungstypen.

Verhalten:

  • Nicht angegeben oder false (Standard): IIS-Resets werden bei Installations-, Deinstallations- und Aktualisierungsvorgängen durchgeführt. Dies ist das traditionelle Verhalten.

  • true: IIS-Resets werden bei Bereitstellungsvorgängen übersprungen.

Vorteile:

  • Geringere Ausfallzeiten — Bei Anwendungen kommt es während der Bereitstellung zu kürzeren Serviceunterbrechungen.

  • Schnellere Bereitstellungen — Eliminiert die Zeit, die IIS benötigt, um vollständig neu zu starten und neu zu initialisieren.

Anmerkung

Bei Verwendung skipIISReset führt der RestartAppServerVorgang unabhängig von dieser Flag-Einstellung einen IIS-Reset durch.

Beispiel:

{ "manifestVersion": 1, "skipIISReset": true, "deployments": { "aspNetCoreWeb": [ { "name": "my-dotnet-core-app", "parameters": { "archive": "dotnet-core-app.zip", "iisPath": "/" } } ] } }
deployments (Erforderlich)

Typ: Objekt

Enthält die Bereitstellungskonfigurationen für Ihre Anwendungen. Dieses Objekt kann custom Bereitstellungstypen msDeployaspNetCoreWeb, und enthalten.

iisConfig (optional)

Typ: Objekt

Definiert IIS-Konfigurationseinstellungen, die vor der Bereitstellung von Anwendungen angewendet werden sollen. Unterstützt derzeit die Konfiguration des Anwendungspools.

IIS-Konfiguration

In iisConfig diesem Abschnitt können Sie IIS-Einstellungen konfigurieren, bevor Sie Ihre Anwendungen bereitstellen. Dies ist besonders nützlich für die Einrichtung von Anwendungspools mit bestimmten Konfigurationen.

Anwendungspools

Anwendungspools bieten eine Isolierung zwischen Anwendungen und ermöglichen es Ihnen, Laufzeiteinstellungen für Anwendungsgruppen zu konfigurieren.

Beispiel Konfiguration des Anwendungspools
{ "iisConfig": { "appPools": [ { "name": "MyAppPool", "enable32Bit": false, "managedPipelineMode": "Integrated", "managedRuntimeVersion": "v4.0", "queueLength": 1000, "cpu": { "limitPercentage": 80, "limitAction": "Throttle", "limitMonitoringInterval": 5 }, "recycling": { "regularTimeInterval": 1440, "requestLimit": 10000, "memory": 1048576, "privateMemory": 524288 } } ] } }
Eigenschaften des Anwendungspools
name (Erforderlich)

Typ: Zeichenfolge

Der Name des Anwendungspools. Dieser Name wird verwendet, um in Bereitstellungskonfigurationen auf den Pool zu verweisen.

enable32Bit (optional)

Typ: Boolesch

Ermöglicht die Ausführung einer 32-Bit-Anwendung auf einer 64-Bit-Version von Windows. Wird true für ältere Anwendungen, die 32-Bit-Kompatibilität erfordern, auf gesetzt.

managedPipelineMode (optional)

Typ: Zeichenfolge

Gültige Werte: „Integrated“, „Classic“

Gibt den Modus zur Anforderungsverarbeitung für den Anwendungspool an.

managedRuntimeVersion (optional)

Typ: Zeichenfolge

Gültige Werte: „Kein verwalteter Code“, „v2.0", „v4.0"

Gibt die .NET Framework-Version für den Anwendungspool an.

queueLength (optional)

Typ: Ganzzahl

Maximale Anzahl von Anfragen, die HTTP.sys für den Anwendungspool in die Warteschlange stellt, bevor weitere Anfragen zurückgewiesen werden.

CPU-Konfiguration

Das cpu Objekt konfiguriert die CPU-Nutzungslimits und die Überwachung für den Anwendungspool.

limitPercentage (optional)

Typ: Zahl

Maximaler Prozentsatz der CPU-Zeit, den Arbeitsprozesse im Anwendungspool verbrauchen können.

limitAction (optional)

Typ: Zeichenfolge

Gültige Werte: "NoAction„, „KillW3WP“, „Throttle“, "“ ThrottleUnderLoad

Aktion, die ergriffen werden soll, wenn das CPU-Limit erreicht ist.

limitMonitoringInterval (optional)

Typ: Zahl

Reset-Zeitraum (in Minuten) für CPU-Überwachungs- und Drosselungsgrenzwerte.

Konfiguration recyceln

Das recycling Objekt konfiguriert, wann und wie Worker-Prozesse im Anwendungspool wiederverwendet werden.

regularTimeInterval (optional)

Typ: Ganzzahl

Zeitintervall (in Minuten), nach dem der Anwendungspool wiederverwendet wird. Auf 0 setzen, um das zeitbasierte Recycling zu deaktivieren.

requestLimit (optional)

Typ: Ganzzahl

Maximale Anzahl von Anfragen, die der Anwendungspool vor dem Recycling verarbeitet.

memory (optional)

Typ: Ganzzahl

Menge an virtuellem Speicher (in Kilobyte), die das Recycling von Arbeitsprozessen auslöst.

privateMemory (optional)

Typ: Ganzzahl

Menge an privatem Speicher (in Kilobyte), der das Recycling von Arbeitsprozessen auslöst.

Bereitstellungstypen

Das deployments Objekt enthält Arrays von Bereitstellungskonfigurationen für verschiedene Anwendungstypen. Jeder Bereitstellungstyp hat spezifische Eigenschaften und Anwendungsfälle.

MSDeploy Bereitstellungen

MSDeploy Bereitstellungen werden für herkömmliche.NET-Framework-Anwendungen verwendet, die mit Web Deploy () MSDeploy bereitgestellt werden können.

Beispiel MSDeploy Bereitstellungskonfiguration
{ "deployments": { "msDeploy": [ { "name": "WebApp", "description": "Main web application", "parameters": { "appBundle": "webapp.zip", "iisPath": "/", "appPool": "DefaultAppPool" } } ] } }
MSDeploy Eigenschaften der Bereitstellung
name (Erforderlich)

Typ: Zeichenfolge

Eindeutiger Name für die Bereitstellung. Dieser Name muss für alle Bereitstellungen im Manifest eindeutig sein.

description (optional)

Typ: Zeichenfolge

Für Menschen lesbare Beschreibung der Bereitstellung.

parameters (Erforderlich)

Typ: Objekt

Konfigurationsparameter für den MSDeploy Vorgang.

scripts (optional)

Typ: Objekt

PowerShell Skripts, die in verschiedenen Phasen des Bereitstellungslebenszyklus ausgeführt werden.

MSDeploy Parameter

appBundle (Erforderlich)

Typ: Zeichenfolge

Pfad zum Anwendungspaket (ZIP-Datei) relativ zur Manifestdatei. Dieses Paket enthält die Anwendungsdateien, die bereitgestellt werden sollen.

iisPath (optional)

Typ: Zeichenfolge

Standard: „/“

Virtueller Verzeichnispfad in IIS, in dem die Anwendung bereitgestellt wird. Verwenden Sie „/“ für den Stammpfad oder „/api“ für ein Unterverzeichnis.

appPool (optional)

Typ: Zeichenfolge

Name des Anwendungspools, um diese Anwendung auszuführen.

ASP.NET Core-Bereitstellungen

ASP.NET Core-Bereitstellungen wurden speziell für .NET Core- und .NET 5+-Anwendungen entwickelt.

Beispiel Konfiguration der ASP.NET Core-Bereitstellung
{ "deployments": { "aspNetCoreWeb": [ { "name": "CoreAPI", "description": "ASP.NET Core Web API", "parameters": { "appBundle": "coreapi.zip", "iisPath": "/api", "appPool": "CoreAppPool" } } ] } }

ASP.NET Core-Bereitstellungen verwenden dieselbe Eigenschaftsstruktur wie MSDeploy Bereitstellungen, wobei der Hauptunterschied in der für die Anwendung verwendeten Laufzeitumgebung und dem Hostingmodell besteht.

ASP.NET Core-Bereitstellungsparameter
appBundle (Erforderlich)

Typ: Zeichenfolge

Pfad zum Anwendungspaket relativ zur Manifestdatei. Dies kann entweder ein ZIP-Archiv oder ein Verzeichnispfad sein, der die veröffentlichte ASP.NET Core-Anwendung enthält.

iisPath (optional)

Typ: Zeichenfolge

Standard: „/“

Virtueller Verzeichnispfad in IIS für die ASP.NET Core-Anwendung.

appPool (optional)

Typ: Zeichenfolge

Anwendungspool für die ASP.NET Core-Anwendung. Der Pool wird entsprechend für das ASP.NET Core-Hosting konfiguriert.

Benutzerdefinierte Bereitstellungen

Benutzerdefinierte Bereitstellungen bieten mithilfe PowerShell von Skripten die vollständige Kontrolle über den Bereitstellungsprozess. Dieser Bereitstellungstyp eignet sich für komplexe Szenarien, die eine benutzerdefinierte Installation, Konfiguration oder Bereitstellungslogik erfordern.

Beispiel Benutzerdefinierte Bereitstellungskonfiguration
{ "deployments": { "custom": [ { "name": "CustomService", "description": "Custom Windows service deployment", "architecture": 32, "scripts": { "install": { "file": "install-service.ps1" }, "restart": { "file": "restart-service.ps1" }, "uninstall": { "file": "uninstall-service.ps1", "ignoreErrors": true } } } ] } }
Benutzerdefinierte Bereitstellungseigenschaften
name (Erforderlich)

Typ: Zeichenfolge

Eindeutiger Name für die benutzerdefinierte Bereitstellung.

description (optional)

Typ: Zeichenfolge

Beschreibung der benutzerdefinierten Bereitstellung.

architecture (optional)

Typ: Ganzzahl

Standard: 32

Gültige Werte: 32, 64

Die Architekturspezifikation für den Ausführungsmodus von Powershell-Skripten

scripts (Erforderlich)

Typ: Objekt

PowerShell Skripten, die das Bereitstellungsverhalten definieren. Benutzerdefinierte Bereitstellungen unterstützen im Vergleich zu anderen Bereitstellungstypen zusätzliche Skripttypen.

Bereitstellungsskripte

PowerShell Bereitstellungsskripten sind Skripten, die zu bestimmten Zeitpunkten während des Bereitstellungszyklus ausgeführt werden. Verschiedene Bereitstellungstypen unterstützen unterschiedliche Gruppen von Skriptereignissen.

Skriptereignisse

Die folgenden Skriptereignisse sind je nach Bereitstellungstyp verfügbar:

Standardbereitstellungsskripts (MSDeploy und aspNetCore Web)
preInstall

Wird ausgeführt, bevor die Anwendung installiert oder aktualisiert wird.

postInstall

Wird ausgeführt, nachdem die Anwendung installiert oder aktualisiert wurde.

preRestart

Wird ausgeführt, bevor die Anwendung neu gestartet wird.

postRestart

Wird ausgeführt, nachdem die Anwendung neu gestartet wurde.

preUninstall

Wird ausgeführt, bevor die Anwendung deinstalliert wird.

postUninstall

Wird ausgeführt, nachdem die Anwendung deinstalliert wurde.

Benutzerdefinierte Bereitstellungsskripten (nur benutzerdefinierte Bereitstellungen)
install

Primäres Installationsskript für benutzerdefinierte Bereitstellungen. Dieses Skript ist für die Installation der Anwendung oder des Dienstes verantwortlich.

restart

Skript zum Neustarten der Anwendung oder des Dienstes. Wird aufgerufen, wenn die Umgebung neu gestartet wird.

uninstall

Skript zur Deinstallation der Anwendung oder des Dienstes. Wird beim Beenden der Umgebung oder beim Entfernen der Anwendung aufgerufen.

Eigenschaften des Skripts

Jedes Skript ist als Objekt mit den folgenden Eigenschaften definiert:

file (Erforderlich)

Typ: Zeichenfolge

Pfad zur PowerShell Skriptdatei relativ zur Manifestdatei. Das Skript sollte eine .ps1 Erweiterung haben.

ignoreErrors (optional)

Typ: Boolesch

Standard: false

Wenn diese Option auf gesetzt isttrue, wird die Bereitstellung auch dann fortgesetzt, wenn das Skript fehlschlägt. Verwenden Sie diese Option für unkritische Skripts oder Bereinigungsvorgänge.

Beispiel für eine Skriptkonfiguration
{ "scripts": { "preInstall": { "file": "backup-config.ps1", "ignoreErrors": true }, "postInstall": { "file": "configure-app.ps1" } } }