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 oder macOS. Informationen zur Überprüfung Ihres Downloads auf einem Windows-Server finden Sie unterÜberprüfen Sie die Signatur unter Windows.

Anmerkung

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, eine EC2 Instanz zum Entwickeln und Testen von AWSTOE Komponenten zu verwenden.

Schritt 2: Legen Sie die AWS Anmeldeinformationen fest

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 für die Ausführung 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 AWS_SECRET_ACCESS_KEY Umgebungsvariablen AWS_ACCESS_KEY_ID und festgelegt werden.

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.

$env:AWS_ACCESS_KEY_ID=your_access_key_id
$env:AWS_SECRET_ACCESS_KEY=your_secret_access_key

Um diese Variablen unter Windows über die Befehlszeile festzulegen, verwenden Sieset.

set AWS_ACCESS_KEY_ID=your_access_key_id
set AWS_SECRET_ACCESS_KEY=your_secret_access_key

Schritt 3: Komponentendokumente lokal entwickeln

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.

Linux

Einige Beispiele für Linux-Komponenten in diesem Handbuch beziehen sich auf eine Komponentendokumentdatei mit dem Namenhello-world-linux.yml. Sie können das folgende Dokument verwenden, um mit diesen Beispielen zu beginnen.

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.'
Windows

Einige der Beispiele für Windows-Komponenten in diesem Handbuch beziehen sich auf eine Komponentendokumentdatei mit dem Namenhello-world-windows.yml. Sie können das folgende Dokument verwenden, um mit diesen Beispielen zu beginnen.

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.'
macOS

Einige der Beispiele für macOS-Komponenten in diesem Handbuch beziehen sich auf eine Komponentendokumentdatei mit dem Namenhello-world-macos.yml. Sie können das folgende Dokument verwenden, um mit diesen Beispielen zu beginnen.

name: Hello World description: This is hello world testing document for macOS. 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.

Linux oder macOS

awstoe validate --documents /home/user/hello-world.yml

Windows

awstoe.exe validate --documents C:\Users\user\Documents\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 Image Builder Builder-Infrastrukturkonfiguration verwalten

Wenn keine Liste der Phasen bereitgestellt wird, führt die AWSTOE Anwendung alle Phasen in der Reihenfolge aus, die im YAML-Dokument aufgeführt ist.

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 amzn-s3-demo-destination-bucket --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 build,test

Holen Sie sich Hilfe bei AWSTOE

awstoe --help