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.
Manuelles Setup zur Entwicklung kundenspezifischer Komponenten mit AWSTOE
Die AWS Task Orchestrator and Executor (AWSTOE) -Anwendung ist eine eigenständige Anwendung, die Befehle innerhalb eines Komponentendefinitionsframeworks erstellt, validiert und ausführt. AWS Dienste können verwendet werden, AWSTOE um Workflows zu orchestrieren, Software zu installieren, Systemkonfigurationen zu ändern und Image-Builds zu testen.
Gehen Sie wie folgt vor, um die AWSTOE Anwendung manuell zu installieren und sie als eigenständige Anwendung zur Entwicklung benutzerdefinierter Komponenten zu verwenden. Image Builder erledigt diese Schritte für Sie, wenn Sie die Image Builder Builder-Konsole oder AWS CLI Befehle verwenden, um benutzerdefinierte Komponenten zu erstellen. Weitere Informationen finden Sie unter Erstellen Sie benutzerdefinierte Komponenten mit Image Builder.
Schritte „Erste Schritte“
Schritt 1: Installieren AWSTOE
Um Komponenten lokal zu entwickeln, laden Sie die AWSTOE Anwendung herunter und installieren Sie sie.
-
Laden Sie die AWSTOE Anwendung herunter
Wählen Sie zur Installation AWSTOE den entsprechenden Download-Link für Ihre Architektur und Plattform. Die vollständige Liste der Links zum Herunterladen von Anwendungen finden Sie unter AWSTOE lädt herunter
Wichtig
AWS stellt die Unterstützung für die TLS-Versionen 1.0 und 1.1 schrittweise ein. Um auf den S3-Bucket für AWSTOE Downloads zuzugreifen, muss Ihre Client-Software TLS Version 1.2 oder höher verwenden. Weitere Informationen finden Sie in diesem AWS Sicherheits-Blogbeitrag
. -
Überprüfen Sie die Signatur
Die Schritte zur Überprüfung Ihres Downloads hängen von der Serverplattform ab, auf der Sie die AWSTOE Anwendung nach der Installation ausführen. Informationen zur Überprüfung Ihres Downloads auf einem Linux-Server finden Sie unterÜberprüfen Sie die Signatur unter Linux. Informationen zur Überprüfung Ihres Downloads auf einem Windows-Server finden Sie unterÜberprüfen Sie die Signatur unter Windows.
Wichtig
AWSTOE wird direkt von seinem Download-Speicherort aus aufgerufen. Ein separater Installationsschritt ist nicht erforderlich. Dies bedeutet auch, dass Änderungen an der lokalen Umgebung vorgenommen werden AWSTOE können.
Um sicherzustellen, dass Sie Änderungen während der Komponentenentwicklung isolieren, empfehlen wir, für die Entwicklung und das Testen von AWSTOE Komponenten eine EC2-Instance zu verwenden.
Schritt 2: Legen Sie die Anmeldeinformationen fest AWS
AWSTOE erfordert AWS Anmeldeinformationen AWS-Services, um eine Verbindung zu anderen Geräten wie Amazon S3 und Amazon herzustellen CloudWatch, wenn Aufgaben ausgeführt werden, wie z. B.:
-
AWSTOE Dokumente werden von einem vom Benutzer bereitgestellten Amazon S3-Pfad heruntergeladen.
-
Laufende Module
S3Download
oderS3Upload
Aktionsmodule. -
Streaming-Protokolle an CloudWatch, wenn aktiviert.
Wenn Sie AWSTOE auf einer EC2-Instance arbeiten, werden beim Ausführen dieselben Berechtigungen AWSTOE verwendet wie für die IAM-Rolle, die der EC2-Instance zugewiesen ist.
Weitere Informationen zu IAM-Rollen für EC2 finden Sie unter IAM-Rollen für Amazon EC2.
Die folgenden Beispiele zeigen, wie AWS Anmeldeinformationen mithilfe der Umgebungsvariablen und festgelegt werden. AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
Um diese Variablen unter Linux, macOS oder Unix festzulegen, verwenden Sieexport
.
$
export AWS_ACCESS_KEY_ID=your_access_key_id
$
export AWS_SECRET_ACCESS_KEY=your_secret_access_key
Um diese Variablen unter Windows mit festzulegen PowerShell, verwenden Sie$env
.
C:\>
$env:AWS_ACCESS_KEY_ID=your_access_key_id
C:\>
$env:AWS_SECRET_ACCESS_KEY=your_secret_access_key
Um diese Variablen unter Windows über die Befehlszeile festzulegen, verwenden Sieset
.
C:\>
set AWS_ACCESS_KEY_ID=your_access_key_id
C:\>
set AWS_SECRET_ACCESS_KEY=your_secret_access_key
Schritt 3: Komponentendokumente lokal entwickeln
AWSTOE Komponenten werden mit Klartext-YAML-Dokumenten erstellt. Weitere Hinweise zur Dokumentensyntax finden Sie unter. Verwenden Sie das AWSTOE Component Document Framework für benutzerdefinierte Komponenten
Im Folgenden finden Sie Beispieldokumente für die Komponente Hello World, die Ihnen den Einstieg erleichtern sollen.
hello-world-windows.yml
.
name: Hello World description: This is Hello World testing document for Windows. schemaVersion: 1.0 phases: - name: build steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host 'Hello World from the build phase.' - name: validate steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host 'Hello World from the validate phase.' - name: test steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host 'Hello World from the test phase.'
hello-world-linux.yml
.
name: Hello World description: This is hello world testing document for Linux. schemaVersion: 1.0 phases: - name: build steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo 'Hello World from the build phase.' - name: validate steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo 'Hello World from the validate phase.' - name: test steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo 'Hello World from the test phase.'
Schritt 4: AWSTOE Komponenten validieren
Sie können die Syntax von AWSTOE Komponenten lokal mit der AWSTOE
Anwendung überprüfen. Die folgenden Beispiele zeigen den AWSTOE validate
Anwendungsbefehl zur Validierung der Syntax einer Komponente, ohne sie auszuführen.
Anmerkung
Die AWSTOE Anwendung kann nur die Komponentensyntax für das aktuelle Betriebssystem überprüfen. Wenn Sie beispielsweise awstoe.exe
unter Windows ausgeführt werden, können Sie die Syntax für ein Linux-Dokument, das das ExecuteBash
Aktionsmodul verwendet, nicht überprüfen.
Windows
C:\>
awstoe.exe validate --documents C:\Users\user\Documents\hello-world.yml
Linux
$
awstoe validate --documents /home/user/hello-world.yml
Schritt 5: AWSTOE Komponenten ausführen
Die AWSTOE Anwendung kann mithilfe des --phases
Befehlszeilenarguments eine oder mehrere Phasen bestimmter Dokumente ausführen. Unterstützte Werte für --phases
sind build
validate
, undtest
. Mehrere Phasenwerte können als kommagetrennte Werte eingegeben werden.
Wenn Sie eine Liste von Phasen bereitstellen, führt die AWSTOE Anwendung nacheinander die angegebenen Phasen jedes Dokuments aus. AWSTOE Führt beispielsweise die validate
Phasen build
und von ausdocument1.yaml
, gefolgt von den validate
Phasen build
und vondocument2.yaml
.
Um sicherzustellen, dass Ihre Protokolle sicher gespeichert und zur Fehlerbehebung aufbewahrt werden, empfehlen wir, die Protokollspeicherung in Amazon S3 zu konfigurieren. In Image Builder ist der Amazon S3 S3-Speicherort für die Veröffentlichung von Protokollen in der Infrastrukturkonfiguration angegeben. Weitere Informationen zur Infrastrukturkonfiguration finden Sie unter EC2 Image Builder Builder-Infrastrukturkonfiguration verwalten
Wenn keine Liste der Phasen bereitgestellt wird, führt die AWSTOE Anwendung alle Phasen in der im YAML-Dokument angegebenen Reihenfolge aus.
Verwenden Sie die folgenden Befehle, um bestimmte Phasen in einem oder mehreren Dokumenten auszuführen.
Einphasig
awstoe run --documents hello-world.yml --phases build
Mehrere Phasen
awstoe run --documents hello-world.yml --phases build,test
Dokument ausführen
Führen Sie alle Phasen in einem einzigen Dokument aus
awstoe run --documents
documentName
.yaml
Führen Sie alle Phasen in mehreren Dokumenten aus
awstoe run --documents
documentName1
.yaml,documentName2
.yaml
Geben Sie Amazon S3 S3-Informationen ein, um AWSTOE Protokolle von einem benutzerdefinierten lokalen Pfad hochzuladen (empfohlen)
awstoe run --documents
documentName
.yaml --log-s3-bucket-name <S3Bucket> --log-s3-key-prefix <S3KeyPrefix> --log-s3-bucket-owner <S3BucketOwner> --log-directory <local_path>
Führen Sie alle Phasen in einem einzigen Dokument aus und zeigen Sie alle Protokolle auf der Konsole an
awstoe run --documents
documentName
.yaml --trace
-Beispielbefehl
awstoe run --documents s3://bucket/key/doc.yaml --phases build,validate
Dokument mit eindeutiger ID ausführen
awstoe run --documents <documentName>.yaml --execution-id <user provided id> --phases <comma separated list of phases>
Holen Sie sich Hilfe bei AWSTOE
awstoe --help