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

Image Builder verwendet die Komponentenverwaltungsanwendung AWS Task Orchestrator and Executor (AWSTOE), 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 Komponenten und die AWSTOE Komponentenverwaltungsanwendung auf seinen EC2 Amazon-Build- und Test-Instances. Bei Container-Images werden die Komponenten und die AWSTOE Komponentenverwaltungsanwendung innerhalb des laufenden Containers installiert.

Image Builder verwendet AWSTOE , um alle Aktivitäten auf der Instanz auszuführen. Es ist kein zusätzliches Setup erforderlich, mit dem Sie interagieren können AWSTOE , wenn Sie Image Builder Builder-Befehle ausführen oder die Image Builder 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 AWS Health Dashboard Konto. Weitere Informationen AWS Health dazu finden Sie im AWS Health Benutzerhandbuch.

Workflow-Phasen für die Erstellung eines neuen Images

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

  1. Build-Phase (Pre-Snapshot) — Während der Build-Phase nehmen Sie Änderungen an der EC2 Amazon-Build-Instance vor, auf der Ihr Basis-Image ausgeführt wird, um die Baseline 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 laufen während der Erstellungsphase ab:

    • build

    • validieren

    Nach erfolgreichem Abschluss dieser Phase erstellt Image Builder einen Snapshot oder ein 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 erstellt werden, AMIs und Container-Images. Bei AMI-Workflows startet Image Builder eine EC2 Instance aus dem Snapshot, den es als letzten Schritt der Buildphase erstellt hat. Tests werden auf der neuen Instance ausgeführt, um die Einstellungen zu überprüfen und sicherzustellen, dass die Instance wie erwartet 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 Testphase der Image-Erstellung 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

Mit dem AWSTOE Anwendungsframework können Sie zwar viele Phasen in einem Komponentendokument definieren, aber Image Builder hat strenge Regeln dafür, welche Phasen es ausführt und in welchen Phasen es sie ausführt. Damit eine Komponente während der Imageerstellungsphase ausgeführt werden kann, muss das Komponentendokument mindestens eine dieser 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, kann die Verkettung von Verweisen in Komponentendokumenten keine Stufengrenzen überschreiten. Es ist nicht möglich, einen Wert aus einer Phase, die in der Buildphase ausgeführt wird, mit einer Phase, die in der Testphase ausgeführt wird, zu verknüpfen. Sie können jedoch Eingabeparameter für das vorgesehene Ziel definieren und Werte über die Befehlszeile übergeben. Weitere Informationen zum Einstellen von Komponentenparametern in Ihren Image Builder Builder-Rezepten finden Sie unterTutorial: Erstellen Sie eine benutzerdefinierte Komponente mit Eingabeparametern.

Zur Unterstützung bei der Problembehandlung auf Ihrer Build- oder Testinstanz AWSTOE wird ein Protokollordner erstellt, 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 S3-Bucket konfiguriert haben, werden die Protokolle auch dort geschrieben. Weitere Informationen zu YAML-Dokumenten und der Protokollausgabe finden Sie unterVerwenden Sie das AWSTOE Component Document 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 Builder-Befehlen finden Sie im AWS CLIMarkieren von Ressourcen Abschnitt dieses Handbuchs.

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