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.
Anpassen von Software auf Windows-Servern
Möglicherweise muss die Software, von der Ihre Anwendung abhängig ist, angepasst und konfiguriert werden. Bei diesen Dateien kann es sich um von der Anwendung benötigte Abhängigkeiten handeln, z. B. zusätzliche Pakete oder Services, die ausgeführt werden müssen. Allgemeine Informationen zum Anpassen und Konfigurieren der Elastic Beanstalk-Umgebungen finden Sie unter Konfigurieren von Elastic-Beanstalk-Umgebungen.
Anmerkung
YAMLsetzt auf eine konsistente Einrückung. Wählen Sie die entsprechende Einrückungsebene aus, wenn Sie Inhalte in einer Beispielkonfigurationsdatei ersetzen, und stellen Sie sicher, dass Ihr Texteditor Leerzeichen statt Tabulatorzeichen zum Einrücken verwendet.
Konfigurationsdateien unterstützen die folgenden Schlüssel, die sich auf die Windows-Server auswirken, auf denen die Anwendung ausgeführt wird.
Schlüssel werden in der hier aufgeführten Reihenfolge verarbeitet.
Anmerkung
Älter (nicht versioniert). NETPlattformversionen verarbeiten Konfigurationsdateien nicht in der richtigen Reihenfolge. Weitere Informationen finden Sie unter Migration über die Hauptversionen der Elastic Beanstalk-Windows Server-Plattform hinweg.
Beobachten Sie die Ereignisse in der Umgebung, während Sie Konfigurationsdateien entwickeln und testen. Elastic Beanstalk ignoriert eine Konfigurationsdatei, die Validierungsfehler enthält, z. B. einen ungültigen Schlüssel, und verarbeitet keinen der in der betreffenden Datei enthaltenen Schlüssel. Wenn dies geschieht, fügt Elastic Beanstalk eine Warnung in das Ereignisprotokoll ein.
Pakete
Mit dem Schlüssel packages
können Sie vorgefertigte Anwendungen und Komponenten herunterladen und installieren.
In Windows-Umgebungen unterstützt Elastic Beanstalk das Herunterladen und Installieren von MSI Paketen. (Linux-Umgebungen unterstützen zusätzliche Paketmanager. Details dazu finden Sie unter Pakete auf der Seite Anpassen von Software auf Linux-Servern.)
Sie können auf jeden externen Speicherort verweisen, z. B. auf ein Amazon Simple Storage Service (Amazon S3) -Objekt, sofern URL es öffentlich zugänglich ist.
Wenn Sie mehrere msi:
Pakete angeben, wird deren Installationsreihenfolge nicht garantiert.
Syntax
Geben Sie als Paketnamen einen Namen Ihrer Wahl und als Wert „a URL to a to a MSI file location“ an. Sie können mehrere Pakete unter dem msi:
-Schlüssel angeben.
packages:
msi:
package name
: package url
...
Beispiele
Das folgende Beispiel spezifiziert einURL, von dem MySQL heruntergeladen werden sollhttps://dev.mysql.com/
.
packages:
msi:
mysql: https://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-8.0.11.msi
Im folgenden Beispiel wird ein Amazon S3 S3-Objekt als MSI Dateispeicherort angegeben.
packages:
msi:
mymsi: https://amzn-s3-demo-bucket
.s3.amazonaws.com/myobject
.msi
Quellen
Verwenden Sie den sources
Schlüssel, um eine Archivdatei von einer öffentlichen Datei herunterzuladen URL und sie in ein Zielverzeichnis auf der EC2 Instance zu entpacken.
Syntax
sources:
target directory
: location of archive file
Unterstützte Formate
In Windows-Umgebungen unterstützt Elastic Beanstalk das ZIP-Format. (Linux-Umgebungen unterstützen zusätzliche Formate. Details dazu finden Sie unter Quellen auf der Seite Anpassen von Software auf Linux-Servern.)
Sie können auf jeden externen Speicherort verweisen, z. B. auf ein Amazon Simple Storage Service (Amazon S3) -Objekt, sofern URL es öffentlich zugänglich ist.
Beispiel
Das folgende Beispiel lädt eine öffentliche .zip-Datei von einem Amazon S3 herunter und entpackt sie in. c:/myproject/myapp
sources:
"c:/myproject/myapp": https://amzn-s3-demo-bucket
.s3.amazonaws.com/myobject
.zip
Dateien
Verwenden Sie den files
Schlüssel, um Dateien auf der EC2 Instance zu erstellen. Der Inhalt kann entweder direkt in der Konfigurationsdatei enthalten sein oder aus einerURL. Die Dateien werden in lexikalischer Reihenfolge auf den Datenträger geschrieben. Wenn private Dateien von Amazon S3 heruntergeladen werden sollen, stellen Sie ein Instance-Profil für die Autorisierung bereit.
Syntax
files:
"target file location on disk
":
source: URL
authentication: authentication name
:
"target file location on disk
":
content: |
this is my content
encoding: encoding format
Optionen
content
-
(Optional) Eine Zeichenfolge.
source
-
(Optional) Der, URL aus dem die Datei geladen wird. Diese Option kann nicht mit dem Inhaltsschlüssel angegeben werden.
encoding
-
(Optional) Das Codierungsformat. Diese Option wird nur für einen bereitgestellten Inhaltsschlüsselwert verwendet. Der Standardwert ist
plain
.Zulässige Werte:
plain
|base64
authentication
-
(Optional) Der Name der zu verwendenden AWS CloudFormation -Authentifizierungsmethode. Mit dem Ressourcenschlüssel können Sie Authentifizierungsmethoden zu den Metadaten der Auto Scaling-Gruppe hinzufügen.
Beispiele
Das folgende Beispiel zeigt, wie Dateiinhalte auf zwei Arten bereitgestellt werden können: aus einer URL Datei oder direkt in der Konfigurationsdatei.
files:
"c:\\targetdirectory\\targetfile.txt
":
source: http://foo.bar/myfile
"c:/targetdirectory/targetfile.txt
":
content: |
# this is my file
# with content
Anmerkung
Falls im Dateipfad ein Backslash (\) verwendet wird, muss diesem – wie im vorigen Beispiel – ein weiterer Backslash (das Escape-Zeichen) vorangestellt werden.
Das folgende Beispiel verwendet den Resources-Schlüssel, um eine Authentifizierungsmethode namens S3Auth hinzuzufügen und verwendet ihn, um eine private Datei von einem Amazon S3 herunterzuladen:
files:
"c:\\targetdirectory\\targetfile.zip":
source: https://elasticbeanstalk-us-east-2-123456789012.s3.amazonaws.com/prefix/myfile.zip
authentication: S3Auth
Resources:
AWSEBAutoScalingGroup:
Metadata:
AWS::CloudFormation::Authentication:
S3Auth
:
type: "s3"
s: ["amzn-s3-demo-bucket
"]
roleName:
"Fn::GetOptionSetting":
Namespace: "aws:autoscaling:launchconfiguration"
OptionName: "IamInstanceProfile"
DefaultValue: "aws-elasticbeanstalk-ec2-role"
Befehle
Verwenden Sie den commands
Schlüssel, um Befehle auf der Instance auszuführen. EC2 Die Befehle werden in alphabetischer Reihenfolge nach Name verarbeitet und ausgeführt, bevor die Anwendung und der Webserver eingerichtet sind und die Anwendungsversionsdatei extrahiert wird.
Die angegebenen Befehle werden als Administrator-Benutzer ausgeführt.
Um Probleme mit Befehlen zu beheben, schlagen Sie deren Ausgabe in den Instance-Protokollen nach.
Syntax
commands:
command name
:
command: command to run
Optionen
command
-
Entweder ein Array oder eine Zeichenfolge, das bzw. die den auszuführenden Befehl angibt. Wenn Sie ein Array verwenden, müssen Sie Leerzeichen kein Escape-Zeichen voranstellen und Befehlsparameter nicht in Anführungszeichen angeben.
cwd
-
(Optional) Das Arbeitsverzeichnis. Standardmäßig sucht Elastic Beanstalk nach dem Verzeichnispfad des Projekts. Falls dieser nicht gefunden wird, gilt
c:\Windows\System32
als Standardwert. env
-
(Optional) Legt Umgebungsvariablen für den Befehl fest. Diese Eigenschaft überschreibt die vorhandene Umgebung, anstatt sie anzuhängen.
ignoreErrors
-
(Optional) Ein boolescher Wert, der bestimmt, ob andere Befehle ausgeführt werden sollen, wenn der im Schlüssel
command
enthaltene Befehl fehlschlägt (gibt einen Wert ungleich Null zurück). Legen Sie diesen Wert auftrue
fest, damit weiterhin Befehle ausgeführt werden, selbst wenn der Befehl fehlschlägt. Legen Sie den Wert auffalse
fest, um anzugeben, dass keine Befehle mehr ausgeführt werden sollen, wenn der Befehl fehlschlägt. Der Standardwert istfalse
. test
-
(Optional) Ein Befehl, der den Wert
true
(Beendigungscode 0) zurückgeben muss, damit Elastic Beanstalk den im Schlüsselcommand
enthaltenen Befehl verarbeitet. waitAfterCompletion
-
(Optional) Wartezeit in Sekunden, nachdem ein Befehl abgeschlossen ist, bevor der nächste Befehl ausgeführt wird. Falls für das System nach der Ausführung des Befehls ein Neustart erforderlich ist, erfolgt dieser, nachdem die angegebene Sekundenanzahl verstrichen ist. Wenn das System aufgrund eines Befehls neu gestartet wird, führt Elastic Beanstalk die Wiederherstellung bis zum Punkt nach diesem Befehl in der Konfigurationsdatei aus. Die Standard-Wert ist
60
Sekunden. Sie können auchforever
angeben, aber das System muss vor der Ausführung eines weiteren Befehls neu gestartet werden.
Beispiel
Im folgenden Beispiel wird die Ausgabe des Befehls set
in der angegebenen Datei gespeichert. Wenn ein weiterer Befehl vorhanden ist, führt Elastic Beanstalk diesen unverzüglich nach Abschluss dieses Befehls aus. Falls dieser Befehl einen Neustart erforderlich macht, startet Elastic Beanstalk die Instance direkt nach Abschluss des Befehls neu.
commands:
test:
command: set > c:\\myapp\\set.txt
waitAfterCompletion: 0
Services
Mit dem Schlüssel services
definieren Sie, welche Services beim Start der Instance gestartet oder gestoppt werden sollen. Zudem lassen sich mit dem Schlüssel services
auch Abhängigkeiten von Quellen, Paketen und Dateien angeben, sodass Elastic Beanstalk im Falle eines Neustarts aufgrund von installierten Dateien den Service neu startet.
Syntax
services:
windows:
name of service
:
files:
- "file name
"
sources:
- "directory
"
packages:
name of package manager
:
"package name
[: version
]"
commands:
- "name of command
"
Optionen
ensureRunning
-
(Optional) Legen Sie den Wert auf
true
fest, um sicherzustellen, dass der Service ausgeführt wird, nachdem Elastic Beanstalk abgeschlossen wurde.Legen Sie den Wert auf
false
fest, um sicherzustellen, dass der Service nicht ausgeführt wird, nachdem Elastic Beanstalk abgeschlossen wurde.Lassen Sie diesen Schlüssel aus, um keine Änderungen am Servicestatus vorzunehmen.
enabled
-
(Optional) Legen Sie den Wert auf
true
fest, um sicherzustellen, dass der Service beim Systemstart automatisch gestartet wird.Legen Sie den Wert auf
false
fest, um sicherzustellen, dass der Service beim Systemstart nicht automatisch gestartet wird.Lassen Sie diesen Schlüssel aus, um keine Änderungen an dieser Eigenschaft vorzunehmen.
files
-
Eine Liste von Dateien. Wenn Elastic Beanstalk eine Datei direkt über den Dateienblock ändert, wird der Service neu gestartet.
sources
-
Eine Liste von Verzeichnissen. Wenn Elastic Beanstalk ein Archiv in eines dieser Verzeichnisse erweitert, wird der Service neu gestartet.
packages
-
Eine Zuordnung des Paket-Managers zu einer Liste von Paketnamen. Wenn Elastic Beanstalk eines dieser Pakete installiert oder aktualisiert, wird der Service neu gestartet.
commands
-
Eine Liste von Befehlsnamen. Wenn Elastic Beanstalk den angegebenen Befehl ausführt, wird der Service neu gestartet.
Beispiel
services:
windows:
myservice:
enabled: true
ensureRunning: true
Container-Befehle
Mit dem Schlüssel container_commands
können Sie Befehle ausführen, die sich auf den Anwendungsquellcode auswirken. Container-Befehle werden ausgeführt, nachdem die Anwendung und der Webserver eingerichtet sind und die Anwendungsversionsdatei extrahiert wurde, aber bevor die Anwendungsversion bereitgestellt wird. Nicht-Container-Befehle und andere Anpassungen werden vor der Extraktion des Anwendungsquellcodes ausgeführt.
Container-Befehle werden aus dem Staging-Verzeichnis ausgeführt, aus dem der Quellcode vor der Bereitstellung auf dem Anwendungsserver extrahiert wird. Alle Änderungen, die Sie mithilfe eines Container-Befehls am Quellcode im Staging-Verzeichnis vornehmen, werden bei der Bereitstellung der Quelle am endgültigen Speicherort einbezogen.
Um Probleme mit Container-Befehlen zu beheben, schlagen Sie deren Ausgabe in den Instance-Protokollen nach.
Verwenden Sie den Befehl leader_only
, wenn der Befehl nur auf einer einzelnen Instance ausgeführt werden soll, oder konfigurieren Sie test
so, dass der Befehl nur ausgeführt wird, sofern der Testbefehl den Wert true
ergibt. Die Ausführung von Container-Befehlen des Leader-only-Typs erfolgt nur während der Umgebungserstellung und -bereitstellung, wohingegen andere Befehle und Serveranpassungen bei jeder Instance-Bereitstellung oder -Aktualisierung ausgeführt werden. Container-Befehle, die nur für Leader bestimmt sind, werden aufgrund von Änderungen der Startkonfiguration, wie z. B. einer Änderung der AMI ID oder des Instance-Typs, nicht ausgeführt.
Syntax
container_commands:
name of container_command
:
command: command to run
Optionen
command
-
Eine auszuführende Zeichenfolge bzw. ein Array von Zeichenfolgen.
env
-
(Optional) Legen Sie Umgebungsvariablen vor der Befehlsausführung fest, um alle vorhandenen Werte zu überschreiben.
cwd
-
(Optional) Das Arbeitsverzeichnis. Standardmäßig ist dies das Staging-Verzeichnis der nicht komprimierten Anwendung.
leader_only
-
(Optional) Führen Sie den Befehl nur auf einer einzelnen, von Elastic Beanstalk ausgewählten Instance aus. Container-Befehle des Leader-only-Typs werden vor anderen Container-Befehlen ausgeführt. Ein Befehl kann vom Typ Leader-only oder
test
sein, aber nicht beides (leader_only
hat Vorrang). test
-
(Optional) Führen Sie einen Testbefehl aus, der
true
zurückgeben muss, damit der Container-Befehl ausgeführt wird. Ein Befehl kann vom Typ Leader-only odertest
sein, aber nicht beides (leader_only
hat Vorrang). ignoreErrors
-
(Optional) Bereitstellungen schlagen nicht fehl, sofern der Container-Befehl einen anderen Wert als 0 (Erfolg) zurückgibt. Legen Sie den Wert auf
true
fest, um dies zu aktivieren. waitAfterCompletion
-
(Optional) Wartezeit in Sekunden, nachdem ein Befehl abgeschlossen ist, bevor der nächste Befehl ausgeführt wird. Falls für das System nach der Ausführung des Befehls ein Neustart erforderlich ist, erfolgt dieser, nachdem die angegebene Sekundenanzahl verstrichen ist. Wenn das System aufgrund eines Befehls neu gestartet wird, führt Elastic Beanstalk die Wiederherstellung bis zum Punkt nach diesem Befehl in der Konfigurationsdatei aus. Die Standard-Wert ist
60
Sekunden. Sie können auchforever
angeben, aber das System muss vor der Ausführung eines weiteren Befehls neu gestartet werden.
Beispiel
Im folgenden Beispiel wird die Ausgabe des Befehls set
in der angegebenen Datei gespeichert. Elastic Beanstalk führt den Befehl auf einer Instance aus und startet diese direkt nach Abschluss des Befehls neu.
container_commands:
foo:
command: set > c:\\myapp\\set.txt
leader_only: true
waitAfterCompletion: 0