View a markdown version of this page

So verwendet Image Builder den AWS Task Orchestrator and Executor Anwendung zur Verwaltung von Komponenten - 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.

So verwendet Image Builder den AWS Task Orchestrator and Executor Anwendung zur Verwaltung von Komponenten

EC2 Image Builder verwendet die Anwendung AWS Task Orchestrator and Executor (AWSTOE), um komplexe Workflows zu orchestrieren, Systemkonfigurationen zu ändern und Ihre Images zu testen, ohne dass zusätzliche DevOps-Skripte oder Code erforderlich sind. Diese Anwendung verwaltet und führt Komponenten aus, die ihr deklaratives Dokumentschema implementieren.

AWSTOE ist eine eigenständige Anwendung, die Image Builder auf seinen Build- und Testinstanzen installiert, wenn Sie ein Image erstellen. Sie können es auch manuell auf EC2-Instances installieren, um Ihre eigenen benutzerdefinierten Komponenten zu erstellen. Es erfordert keine zusätzliche Einrichtung und kann auch vor Ort ausgeführt werden.

Tipp

Informationen zu Komponentenmustern und einem Skript, das Komponentendokumente validiert und lokal ausführt, finden Sie in den AWSTOE Beispielen unter GitHub. Weitere Informationen finden Sie unter Erkunden Sie Image Builder-Beispielprojekte auf GitHub.

AWSTOE Downloads

Wählen Sie zur Installation AWSTOE den Download-Link für Ihre Architektur und Plattform. Wenn Sie eine Verbindung zu einem VPC-Endpunkt für Ihren Service herstellen (z. B. Image Builder), muss eine benutzerdefinierte Endpunktrichtlinie angehängt sein, die den Zugriff auf den S3-Bucket für AWSTOE Downloads beinhaltet. Andernfalls können Ihre Build- und Test-Instances das Bootstrap-Skript (bootstrap.sh) nicht herunterladen und die AWSTOE Anwendung nicht installieren. Weitere Informationen finden Sie unter Erstellen Sie eine VPC-Endpunktrichtlinie für Image Builder.

Wichtig

AWS stellt die Unterstützung für die TLS-Versionen 1.0 und 1.1 ein. Um auf den S3-Bucket für AWSTOE Downloads zugreifen zu können, muss Ihre Client-Software TLS Version 1.2 oder höher verwenden. Weitere Informationen finden Sie in diesem AWS Sicherheits-Blogbeitrag.

Architektur Plattform Download-Link Beispiel
386

AL 2 und 2023

RHEL 7, 8 und 9

Ubuntu 16.04, 18.04, 20.04, 22.04 und 24.04

CentOS 7 und 8

SUSE 12 und 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/386/awstoe

https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/386/awstoe
AMD64

AL 2 und 2023

RHEL 7, 8 und 9

Ubuntu 16.04, 18.04, 20.04, 22.04 und 24.04

CentOS 7 und 8

CentOS Stream 8

SUSE 12 und 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/amd64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/amd64/awstoe
AMD64

macOS 10.14.x (Mojave), 10.15.x (Catalina), 11.x (Big Sur), 12.x (Monterey)

https://awstoe-region.s3.region.amazonaws.com/latest/darwin/amd64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/darwin/amd64/awstoe

AMD64

Windows Server 2012 R2, 2016, 2019 und 2022

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/windows/amd64/awstoe.exe

https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/windows/amd64/awstoe.exe
ARM64

AL 2 und 2023

RHEL 7, 8 und 9

Ubuntu 16.04, 18.04, 20.04, 22.04 und 24.04

CentOS 7 und 8

CentOS Stream 8

SUSE 12 und 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/arm64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/arm64/awstoe

Unterstützte Regionen

AWSTOE wird in den folgenden Regionen als eigenständige Anwendung unterstützt.

AWS-Region Name AWS-Region

USA Ost (Ohio)

us-east-2

USA Ost (Nord-Virginia)

us-east-1

AWS GovCloud (US-East)

us-gov-east-1

AWS GovCloud (US-West)

us-gov-west-1

USA West (Nordkalifornien)

us-west-1

USA West (Oregon)

us-west-2

Afrika (Kapstadt)

af-south-1

Asien-Pazifik (Hongkong)

ap-east-1

Asia Pacific (Osaka)

ap-northeast-3

Asien-Pazifik (Seoul)

ap-northeast-2

Asien-Pazifik (Mumbai)

ap-south-1

Asien-Pazifik (Hyderabad)

ap-south-2

Asien-Pazifik (Singapur)

ap-southeast-1

Asien-Pazifik (Sydney)

ap-southeast-2

Asien-Pazifik (Jakarta)

ap-southeast-3

Asien-Pazifik (Tokio)

ap-northeast-1

Kanada (Zentral)

ca-central-1

Europa (Frankfurt)

eu-central-1

Europa (Zürich)

eu-central-2

Europa (Stockholm)

eu-north-1

Europa (Milan)

eu-south-1

Europa (Spain)

eu-south-2

Europa (Irland)

eu-west-1

Europa (London)

eu-west-2

Europa (Paris)

eu-west-3

Israel (Tel Aviv)

il-central-1

Naher Osten (VAE)

me-central-1

Naher Osten (Bahrain)

me-south-1

Südamerika (São Paulo)

sa-east-1

China (Beijing)

cn-north-1

China (Ningxia)

cn-northwest-1

AWSTOE Befehlsreferenz

AWSTOE ist eine Befehlszeilen-Anwendung zur Verwaltung von Komponenten, die auf Amazon EC2-Instances ausgeführt wird. Wenn Image Builder eine EC2-Build- oder Test-Instance startet, wird sie AWSTOE auf der Instance installiert. Dann führt es AWSTOE Befehle in der aus AWS CLI , um die Komponenten zu installieren oder zu validieren, die im Image- oder Container-Rezept angegeben sind.

Anmerkung

Einige AWSTOE Aktionsmodule benötigen erhöhte Berechtigungen, um auf einem Linux-Server ausgeführt zu werden. Um erhöhte Berechtigungen zu verwenden, stellen Sie der Befehlssyntax das Präfix voran oder führen Sie den sudo su Befehl einmal aussudo, wenn Sie sich anmelden, bevor Sie die unten verlinkten Befehle ausführen. Weitere Informationen zu AWSTOE Aktionsmodulen finden Sie unterAktionsmodule unterstützt von AWSTOE Komponentenmanager.

run

Verwenden Sie den run Befehl, um die YAML-Dokumentskripts für ein oder mehrere Komponentendokumente auszuführen.

validieren

Führen Sie den validate Befehl aus, um die YAML-Dokumentsyntax für ein oder mehrere Komponentendokumente zu überprüfen.

awstoe run den Befehl

Mit diesem Befehl werden die Skripts für YAML-Komponentendokumente in der Reihenfolge ausgeführt, in der sie in der durch den --config Parameter angegebenen Konfigurationsdatei oder in der Liste der durch den --documents Parameter angegebenen Komponentendokumente enthalten sind.

Anmerkung

Sie müssen genau einen der folgenden Parameter angeben, niemals beide:

--config

--Dokumente

Syntax

awstoe run [--config <file path>] [--cw-ignore-failures <?>] [--cw-log-group <?>] [--cw-log-region us-west-2] [--cw-log-stream <?>] [--document-s3-bucket-owner <owner>] [--documents <file path,file path,...>] [--execution-id <?>] [--log-directory <file path>] [--log-s3-bucket-name <name>] [--log-s3-bucket-owner <owner>] [--log-s3-key-prefix <?>] [--parameters name1=value1,name2=value2...] [--phases <phase name>] [--blocked-action-modules <module,module,...>] [--state-directory <directory path>] [--version <?>] [--help] [--trace]

Parameter und Optionen

Parameters
--config ./config-example.json

Kurzform: -c ./config-example.json

Die Konfigurationsdatei (bedingt). Dieser Parameter enthält den Dateispeicherort für die JSON-Datei, die Konfigurationseinstellungen für die Komponenten enthält, die dieser Befehl ausführt. Wenn Sie run Befehlseinstellungen in einer Konfigurationsdatei angeben, dürfen Sie den --documents Parameter nicht angeben. Weitere Hinweise zur Eingabekonfiguration finden Sie unterEingabe konfigurieren für AWSTOE Befehl ausführen.

Zu den gültigen Speicherorten gehören:

  • Ein lokaler Dateipfad (./config-example.json)

  • Ein S3-URI (s3://bucket/key)

--cw-ignore-failures

Kurzform: N/A

Ignorieren Sie Fehler bei der Protokollierung in den CloudWatch Protokollen.

--cw-log-group

Kurzform: N/A

Der LogGroup Name für die CloudWatch Logs.

--cw-log-region

Kurzform: N/A

Die AWS Region, die für die CloudWatch Logs gilt.

--cw-log-stream

Kurzform: N/A

Der LogStream Name für die CloudWatch Logs, der festlegt, AWSTOE wohin die console.log Datei gestreamt werden soll.

--document-s3-bucket-owner

Kurzform: N/A

Die Konto-ID des Bucket-Besitzers für URI-based S3-Dokumente.

--Dokumente ./doc-1.yaml,./doc-n.yaml

Kurzform: ./doc-1.yaml -d, ./doc-n

Die Komponentendokumente (bedingt). Dieser Parameter enthält eine durch Kommas getrennte Liste von Dateispeicherorten für die auszuführenden YAML-Komponentendokumente. Wenn Sie YAML-Dokumente für den run Befehl mithilfe des Parameters angeben, dürfen Sie den --documents Parameter nicht angeben. --config Fügen Sie keine Leerzeichen zwischen Elementen in die Liste ein.

Zu den gültigen Speicherorten gehören:

  • lokale Dateipfade (./component-doc-example.yaml).

  • 3S-URIs (s3://bucket/key).

  • ARNs der Build-Version der Image Builder-Komponente (arn:aws:imagebuilder:us-west-archit/ /2021.12. 2:123456789012 my-example-component 02/1).

--Ausführungs-ID

Kurzform: -i

Dies ist die eindeutige ID, die für die Ausführung des aktuellen run Befehls gilt. Diese ID ist in Ausgabe- und Protokolldateinamen enthalten, um diese Dateien eindeutig zu identifizieren und sie mit der aktuellen Befehlsausführung zu verknüpfen. Wenn diese Einstellung weggelassen wird, wird eine GUID AWSTOE generiert.

--log-Verzeichnis

Kurzform: -l

Das Zielverzeichnis, AWSTOE in dem alle Protokolldateien dieser Befehlsausführung gespeichert sind. Standardmäßig befindet sich dieses Verzeichnis im folgenden übergeordneten Verzeichnis:TOE_<DATETIME>_<EXECUTIONID>. Wenn Sie das Protokollverzeichnis nicht angeben, AWSTOE wird das aktuelle Arbeitsverzeichnis (.) verwendet.

--log-s3-bucket-name

Kurzform: -b

Wenn Komponentenprotokolle in Amazon S3 gespeichert werden (empfohlen), AWSTOE lädt die Anwendungsprotokolle der Komponenten in den in diesem Parameter genannten S3-Bucket hoch.

--log-s3-bucket-owner

Kurzform: N/A

Wenn Komponentenprotokolle in Amazon S3 gespeichert werden (empfohlen), ist dies die Inhaber-Konto-ID für den Bucket, in den die Protokolldateien AWSTOE geschrieben werden.

--log-s3-Schlüsselpräfix

Kurzform: -k

Wenn Komponentenprotokolle in Amazon S3 gespeichert werden (empfohlen), ist dies das S3-Objektschlüsselpräfix für den Protokollspeicherort im Bucket.

--parameters name1 =value1, name2 =value2...

Kurzform: N/A

Parameter sind veränderbare Variablen, die im Komponentendokument definiert sind. Sie enthalten Einstellungen, die die aufrufende Anwendung zur Laufzeit bereitstellen kann.

--Phasen

Kurzform: -p

Eine durch Kommas getrennte Liste, die angibt, welche Phasen aus den YAML-Komponentendokumenten ausgeführt werden sollen. Wenn ein Komponentendokument zusätzliche Phasen enthält, werden diese nicht ausgeführt.

--state-directory

Kurzform: -s

Der Dateipfad, in dem State-Tracking-Dateien gespeichert werden.

--blocked-action-modules

Kurzform: N/A

Eine durch Kommas getrennte Liste von Aktionsmodulen, die im Komponentendokument nicht ausgeführt werden können. Wenn ein Dokument ein blockiertes Aktionsmodul enthält, schlägt die Validierung fehl, bevor die Ausführung beginnt.

--version

Kurzform: -v

Gibt die Version der Komponentenanwendung an.

Optionen
-h

Kurzform: -h

Zeigt ein Hilfehandbuch zur Verwendung der Anwendungsoptionen für die Komponentenverwaltung an.

--trace

Kurzform: -t

Aktiviert die ausführliche Protokollierung in der Konsole.

Ausgabe

Der run Befehl erzeugt eine Zusammenfassung der JSON-Ausführung. Das folgende Beispiel zeigt die Ausgabe einer erfolgreichen Ausführung.

{ "executionId": "12345678-abcd-efgh-1234-example12345", "status": "success", "failedStepCount": 0, "executedStepCount": 3, "ignoredFailedStepCount": 0, "skippedStepCount": 0, "failureMessage": "", "logUrl": "s3://my-bucket/my-prefix/12345678-abcd-efgh-1234-example12345" }

Das status Feld gibt das Gesamtergebnis der Ausführung an:

  • success— Alle Phasen und Schritte wurden erfolgreich abgeschlossen.

  • failed— Ein oder mehrere Schritte sind fehlgeschlagen, weil die onFailure Aktion ausgeführt wurdeAbort.

  • timedOut— Ein oder mehrere Schritte haben ihren timeoutSeconds Wert überschritten.

awstoe validate (Befehl)

Wenn Sie diesen Befehl ausführen, überprüft er die YAML-Dokumentsyntax für jedes der durch den Parameter angegebenen Komponentendokumente. --documents

Syntax

awstoe validate [--blocked-action-modules <module,module,...>] [--document-s3-bucket-owner <owner>] --documents <file path,file path,...> [--help] [--trace]

Parameter und Optionen

Parameters
--blocked-action-modules

Kurzform: N/A

Eine durch Kommas getrennte Liste von Aktionsmodulen, die im Komponentendokument nicht ausgeführt werden können. Wenn ein Dokument ein blockiertes Aktionsmodul enthält, schlägt die Überprüfung fehl.

--document-s3-bucket-owner

Kurzform: N/A

Quellkonto-ID der bereitgestellten URI-based S3-Dokumente.

--Dokumente ./doc-1.yaml,./doc-n.yaml

Kurzform: ./doc-1.yaml -d, ./doc-n

Die Komponentendokumente (erforderlich). Dieser Parameter enthält eine durch Kommas getrennte Liste von Dateispeicherorten für die auszuführenden YAML-Komponentendokumente ohne Leerzeichen zwischen den Elementen. Zu den gültigen Speicherorten gehören:

  • lokale Dateipfade (./component-doc-example.yaml)

  • 3S-URIs () s3://bucket/key

  • Die ARNs der Build-Version der Image Builder-Komponente (arn:aws:imagebuilder:us-west-st/ /2021.12. 2:123456789012 my-example-component 02/1)

Optionen
-h

Kurzform: -h

Zeigt ein Hilfehandbuch zur Verwendung der Anwendungsoptionen für die Komponentenverwaltung an.

--trace

Kurzform: -t

Aktiviert die ausführliche Protokollierung in der Konsole.

Ausgabe

Der validate Befehl erzeugt ein JSON-Validierungsergebnis. Das folgende Beispiel zeigt die Ausgabe einer erfolgreichen Validierung.

{ "validationStatus": "success", "message": "Validation successful." }

Das folgende Beispiel zeigt die Ausgabe, wenn die Validierung fehlschlägt.

{ "validationStatus": "failed", "message": "Document has 0 phases. Phases list must not be empty." }