Manuelles Setup zur Entwicklung kundenspezifischer Komponenten mit AWSTOE - EC2 Image Builder

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.

Schritt 1: Installieren AWSTOE

Um Komponenten lokal zu entwickeln, laden Sie die AWSTOE Anwendung herunter und installieren Sie sie.

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

  2. Ü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 oder S3Upload 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 buildvalidate, 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