View a markdown version of this page

Verwenden Sie Komponenten, um Ihr Image Builder-Image anzupassen - 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.

Verwenden Sie Komponenten, um Ihr Image Builder-Image anzupassen

Image Builder verwendet die AWS Task Orchestrator and Executor (AWSTOE) -Anwendung zur Komponentenverwaltung, um komplexe Workflows zu orchestrieren. Komponenten zum Erstellen und Testen, die mit der AWSTOE Anwendung funktionieren, basieren auf YAML-Dokumenten, in denen die Skripts zum Anpassen oder Testen Ihres Images definiert sind. Für AMI-Images installiert Image Builder die Komponenten und die AWSTOE Komponentenverwaltungsanwendung auf seinen Amazon EC2-Build- und Test-Instances. Bei Container-Images werden die Komponenten und die AWSTOE Komponentenverwaltungsanwendung im laufenden Container installiert.

Image Builder wird verwendet AWSTOE , um alle Aktivitäten auf der Instanz auszuführen. Für die Interaktion ist kein zusätzliches Setup erforderlich, AWSTOE wenn Sie Image Builder-Befehle ausführen oder die Image Builder-Konsole verwenden.

Anmerkung

Wenn eine von Amazon verwaltete Komponente das Ende ihrer Support-Laufzeit erreicht, wird sie nicht mehr gewartet. Ungefähr vier Wochen zuvor erhalten alle Konten, die die Komponente verwenden, eine Benachrichtigung und eine Liste der betroffenen Rezepte in ihrem Konto von ihrem Konto AWS Health Dashboard. Weitere Informationen AWS Health dazu finden Sie im AWS Health Benutzerhandbuch.

Workflow-Phasen für die Erstellung eines neuen Images

Der Image Builder-Workflow zum Erstellen neuer Images umfasst die folgenden zwei unterschiedlichen Phasen.

  1. Build-Phase (vor dem Snapshot) — Während der Build-Phase nehmen Sie Änderungen an der Amazon EC2-Build-Instance vor, auf der Ihr Basis-Image ausgeführt wird, um die Basis für Ihr neues Image zu erstellen. Ihr Rezept kann beispielsweise Komponenten enthalten, die eine Anwendung installieren oder die Firewall-Einstellungen des Betriebssystems ändern.

    Die folgenden Phasen aus Ihrem Komponentendokument werden während der Erstellungsphase ausgeführt:

    • Build

    • validieren

    Nach erfolgreichem Abschluss dieser Phase erstellt Image Builder ein Snapshot- oder Container-Image, das für die Testphase und darüber hinaus verwendet wird.

  2. Testphase (nach dem Snapshot) — Während der Testphase gibt es einige Unterschiede zwischen Images, die AMIs erstellen, und Container-Images. Für AMI-Workflows startet Image Builder eine EC2-Instance aus dem Snapshot, den es im letzten Schritt der Build-Phase erstellt hat. Tests werden auf der neuen Instance ausgeführt, um die Einstellungen zu überprüfen und sicherzustellen, dass die Instance erwartungsgemäß funktioniert. Bei Container-Workflows werden die Tests auf derselben Instanz ausgeführt, die für die Erstellung verwendet wurde.

    Die folgende Phase aus Ihrem Komponentendokument wird für jede Komponente ausgeführt, die während der Image-Build-Testphase im Rezept enthalten ist:

    • Test

    Diese Komponentenphase gilt sowohl für den Build- als auch für den Test-Komponententyp. Nach erfolgreichem Abschluss dieser Phase kann Image Builder Ihr endgültiges Image aus dem Snapshot oder dem Container-Image erstellen und verteilen.

Anmerkung

Während das AWSTOE Anwendungsframework es Ihnen ermöglicht, viele Phasen in einem Komponentendokument zu definieren, hat Image Builder strenge Regeln dafür, welche Phasen ausgeführt werden und in welchen Phasen sie ausgeführt werden. Damit eine Komponente während der Image-Erstellungsphase ausgeführt werden kann, muss das Komponentendokument mindestens eine der folgenden Phasen definieren: build odervalidate. Damit eine Komponente während der Image-Testphase ausgeführt werden kann, muss das Komponentendokument die test Phase und keine anderen Phasen definieren.

Da Image Builder die Stufen unabhängig voneinander ausführt, können Verkettungsverweise in Komponentendokumenten die Stufengrenzen nicht überschreiten. Es ist nicht möglich, einen Wert aus einer Phase, die in der Erstellungsphase ausgeführt wird, mit einer Phase, die in der Testphase ausgeführt wird, zu verketten. Sie können jedoch Eingabeparameter für das gewünschte Ziel definieren und Werte über die Befehlszeile übergeben. Weitere Informationen zum Festlegen von Komponentenparametern in Ihren Image Builder-Rezepten finden Sie unterTutorial: Erstellen Sie eine benutzerdefinierte Komponente mit Eingabeparametern.

Um Sie bei der Fehlerbehebung auf Ihrer Build- oder Testinstanz zu unterstützen, AWSTOE erstellt Sie einen Protokollordner, der das Eingabedokument und die Protokolldateien enthält, um zu verfolgen, was bei jeder Ausführung einer Komponente passiert. Wenn Sie in Ihrer Pipeline-Konfiguration einen Amazon S3-Bucket konfiguriert haben, werden die Protokolle auch dort geschrieben. Weitere Informationen zu YAML-Dokumenten und zur Protokollausgabe finden Sie unterBenutze die AWSTOE Komponenten-Dokumenten-Framework für benutzerdefinierte Komponenten.

Tipp

Wenn Sie viele Komponenten im Auge behalten müssen, hilft Ihnen das Tagging dabei, eine bestimmte Komponente oder Version anhand der Tags zu identifizieren, die Sie ihr zugewiesen haben. Weitere Informationen zum Taggen Ihrer Ressourcen mithilfe von Image Builder-Befehlen finden Sie im AWS CLIMarkieren von Ressourcen Abschnitt dieses Handbuchs.

In diesem Abschnitt wird beschrieben, wie Sie Komponenten mithilfe der Image Builder-Konsole oder der Befehle in der auflisten, anzeigen, erstellen und importieren. AWS CLI