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.
Tutorial: Erstellen Sie eine Image-Pipeline mit dem Ausgabe-Docker-Container-Image aus dem Image Builder-Konsolenassistenten
Dieses Tutorial führt Sie durch die Erstellung einer automatisierten Pipeline zum Erstellen und Verwalten eines angepassten EC2 Image Builder-Docker-Images mithilfe des Konsolenassistenten zum Erstellen einer Image-Pipeline. Damit Sie die Schritte effizient durchführen können, werden die Standardeinstellungen verwendet, sofern sie verfügbar sind, und optionale Abschnitte werden übersprungen.
Erstellen Sie einen Image-Pipeline-Workflow
Schritt 1: Geben Sie die Pipeline-Details an
-
Öffnen Sie die EC2 Image Builder-Konsole unter https://console.aws.amazon.com/imagebuilder/
. -
Um mit der Erstellung Ihrer Pipeline zu beginnen, wählen Sie Create Image-Pipeline.
-
Geben Sie im Abschnitt Allgemein Ihren Pipeline-Namen ein (erforderlich).
-
Im Abschnitt Zeitplan erstellen können Sie die Standardeinstellungen für die Zeitplanoptionen beibehalten. Beachten Sie, dass die für den Standardzeitplan angezeigte Zeitzone die koordinierte Weltzeit (UTC) ist. Weitere Informationen zur UTC-Zeit und um den Offset für Ihre Zeitzone zu ermitteln, finden Sie unter Zeitzonenabkürzungen — Weltweite Liste
. Wählen Sie für Einstellungen zur Aktualisierung von Abhängigkeiten die Option Pipeline zur geplanten Zeit ausführen, falls es Aktualisierungen von Abhängigkeiten gibt. Diese Einstellung veranlasst Ihre Pipeline, vor dem Start des Builds nach Updates zu suchen. Wenn keine Updates vorhanden sind, wird der geplante Pipeline-Build übersprungen.
Anmerkung
Um sicherzustellen, dass Ihre Pipeline Abhängigkeitsupdates und Builds wie erwartet erkennt, müssen Sie die semantische Versionierung (x.x.x) für Ihr Basisimage und Ihre Komponenten verwenden. Weitere Informationen zur semantischen Versionierung für Image Builder-Ressourcen finden Sie unter. Semantische Versionierung in Image Builder
-
Wählen Sie Weiter, um mit dem nächsten Schritt fortzufahren.
Schritt 2: Rezept wählen
-
Image Builder ist im Abschnitt Rezept standardmäßig auf Vorhandenes Rezept verwenden eingestellt. Wählen Sie zum ersten Mal die Option Neues Rezept erstellen.
-
Wählen Sie im Abschnitt Image-Typ die Option Docker-Image, um eine Container-Pipeline zu erstellen, die ein Docker-Image erstellt und an Amazon ECR-Repositorys in den Zielregionen verteilt.
-
Geben Sie im Abschnitt Allgemein die folgenden erforderlichen Felder ein:
-
Name — Ihr Rezeptname
-
Version — deine Rezeptversion (verwende das Format <major>. <minor>. <patch>, wobei Major, Minor und Patch ganzzahlige Werte sind). Neue Rezepte beginnen in der Regel mit
1.0.0.
-
-
Behalten Sie im Abschnitt Quell-Image die Standardwerte für Image auswählen, Image-Betriebssystem (OS) und Image-Ursprung bei. Das Ergebnis ist eine Liste von Amazon Linux 2-Container-Images, die von Amazon verwaltet werden und aus der Sie für Ihr Basis-Image auswählen können.
-
Wählen Sie aus der Dropdownliste „Image-Name“ ein Image aus.
-
Behalten Sie die Standardeinstellung für Auto-versioning Optionen bei (Verwenden Sie die neueste verfügbare Betriebssystemversion).
Anmerkung
Diese Einstellung stellt sicher, dass Ihre Pipeline die semantische Versionierung für das Basisimage verwendet, um Abhängigkeitsupdates für automatisch geplante Jobs zu erkennen. Weitere Informationen zur semantischen Versionierung für Image Builder-Ressourcen finden Sie unter. Semantische Versionierung in Image Builder
-
-
Im Abschnitt Komponenten können Sie festlegen, dass keine Komponenten hinzugefügt werden sollen, und dann fortfahren. Wenn Sie Komponenten hinzufügen möchten, können Sie im Bereich Komponenten erstellen — Amazon Linux die auf der Seite aufgeführten Komponenten durchsuchen. Verwenden Sie das Paginierungssteuerelement in der oberen rechten Ecke, um durch zusätzliche Komponenten zu navigieren, die für Ihr Basis-Image-Betriebssystem verfügbar sind. Sie können auch nach bestimmten Komponenten suchen oder mithilfe des Komponentenmanagers Ihre eigene Build-Komponente erstellen.
Wählen Sie für dieses Tutorial wie folgt eine Komponente aus, die Linux mit den neuesten Sicherheitsupdates aktualisiert:
-
Filtern Sie die Ergebnisse, indem Sie das Wort
updatein die Suchleiste eingeben, die sich oben im Fenster befindet. -
Wählen Sie das Kontrollkästchen für die
update-linuxBuild-Komponente aus. -
Scrollen Sie nach unten und wählen Sie in der oberen rechten Ecke der Liste der ausgewählten Komponenten die Option Alle erweitern aus.
-
Behalten Sie die Standardeinstellung für die Versionierungsoptionen bei (Verwenden Sie die neueste verfügbare Komponentenversion).
Anmerkung
Diese Einstellung stellt sicher, dass Ihre Pipeline die semantische Versionierung für die ausgewählte Komponente verwendet, um Abhängigkeitsupdates für automatisch geplante Jobs zu erkennen. Weitere Informationen zur semantischen Versionierung für Image Builder-Ressourcen finden Sie unter. Semantische Versionierung in Image Builder
Wenn Sie eine Komponente mit Eingabeparametern ausgewählt hätten, würden Sie die Parameter auch in diesem Bereich sehen. Parameter werden in diesem Tutorial nicht behandelt. Weitere Informationen zur Verwendung von Eingabeparametern in Ihren Komponenten und deren Einstellung in Ihren Rezepten finden Sie unterTutorial: Erstellen Sie eine benutzerdefinierte Komponente mit Eingabeparametern.
Komponenten neu anordnen (optional)
Wenn Sie mehr als eine Komponente für Ihr Image ausgewählt haben, können Sie sie mithilfe der Drag-and-Drop-Aktion in der Reihenfolge neu anordnen, in der sie während des Build-Prozesses ausgeführt werden sollen.
Anmerkung
CIS-Härtungskomponenten folgen nicht den Standardregeln für die Komponentenreihenfolge in Image Builder-Rezepten. Die CIS-Härtungskomponenten werden immer als letzte ausgeführt, um sicherzustellen, dass die Benchmark-Tests mit Ihrem Ausgabebild ausgeführt werden.
-
Scrollen Sie zurück zur Liste der verfügbaren Komponenten.
-
Aktivieren Sie das Kontrollkästchen für die
update-linux-kernel-mainlineBuild-Komponente (oder eine andere Komponente Ihrer Wahl). -
Scrollen Sie nach unten zur Liste Ausgewählte Komponenten, um zu sehen, dass mindestens zwei Ergebnisse angezeigt werden.
-
Bei neu hinzugefügten Komponenten wurde die Versionierung möglicherweise nicht erweitert. Um die Versionierungsoptionen zu erweitern, können Sie entweder den Pfeil neben den Versionierungsoptionen wählen, oder Sie können den Schalter Alle erweitern aus- und wieder einschalten, um die Versionierung für alle ausgewählten Komponenten zu erweitern.
-
Wählen Sie eine der Komponenten aus und ziehen Sie sie nach oben oder unten, um die Reihenfolge zu ändern, in der die Komponenten ausgeführt werden.
-
Um die
update-linux-kernel-mainlineKomponente zu entfernen, wählen Sie eine OptionXaus der oberen rechten Ecke des Komponentenfelds. -
Wiederholen Sie den vorherigen Schritt, um alle anderen Komponenten zu entfernen, die Sie möglicherweise hinzugefügt haben, und lassen Sie nur die
update-linuxKomponente ausgewählt.
-
-
Wählen Sie im Abschnitt Dockerfile-Vorlage die Option Beispiel verwenden aus. Beachten Sie im Inhaltsbereich die Kontextvariablen, in denen Image Builder Build-Informationen oder Skripts platziert, basierend auf Ihrem Container-Image-Rezept.
Standardmäßig verwendet Image Builder die folgenden kontextbezogenen Variablen in Ihrem Dockerfile.
- ParentImage (erforderlich)
-
Zum Zeitpunkt der Erstellung wird diese Variable in das Basis-Image für Ihr Rezept aufgelöst.
Beispiel:
FROM {{{ imagebuilder:parentImage }}} - Umgebungen (erforderlich, wenn Komponenten angegeben sind)
-
Zur Build-Zeit wird diese Variable in die Dockerfile-Direktiven aufgelöst, die Ihre Komponenten im Build-Kontext bereitstellen. Diese Direktiven kopieren die Komponentenskripte in das Image und legen die Umgebungsvariablen fest, die diese Skripts verwenden. Es bereitet die Umgebung vor, führt aber nicht die von Ihnen angegebenen Komponenten aus. Platzieren Sie diese Variable vor der
componentsVariablen.Beispiel:
{{{ imagebuilder:environments }}} - Komponenten (optional)
-
Bei der Erstellung wird diese Variable in den Befehl aufgelöst, der die Build- und Testkomponentenskripts für die Komponenten ausführt, die das Container-Rezept enthält, und diese Skripts dann aus dem Image entfernt. Dies ist die Variable, die Ihre Komponenten ausführt. Platzieren Sie sie hinter der
environmentsVariablen.Beispiel:
{{{ imagebuilder:components }}}
-
Geben Sie im Abschnitt Ziel-Repository den Namen des Amazon ECR-Repositorys an, das Sie als Voraussetzung für dieses Tutorial erstellt haben. Dieses Repository wird als Standardeinstellung für die Verteilungskonfiguration in der Region verwendet, in der die Pipeline verläuft (Region 1).
Anmerkung
Das Ziel-Repository muss vor der Verteilung in Amazon ECR für alle Zielregionen existieren.
-
Wählen Sie Weiter, um mit dem nächsten Schritt fortzufahren.
Schritt 3: Definieren Sie die Infrastrukturkonfiguration — optional
Image Builder startet EC2-Instances in Ihrem Konto, um Images anzupassen und Validierungstests durchzuführen. Die Infrastrukturkonfigurationseinstellungen geben Infrastrukturdetails für die Instances an, die AWS-Konto während des Build-Prozesses in Ihrem ausgeführt werden.
Im Abschnitt Infrastrukturkonfiguration sind die Konfigurationsoptionen standardmäßig auf eingestelltCreate infrastructure
configuration using service defaults. Dadurch werden eine IAM-Rolle und das zugehörige Instanzprofil erstellt, die von Build-Instances zur Konfiguration Ihrer Container-Images verwendet werden. Sie können auch Ihre eigene benutzerdefinierte Infrastrukturkonfiguration erstellen oder Einstellungen verwenden, die Sie bereits erstellt haben. Weitere Informationen zu den Konfigurationseinstellungen für die Infrastruktur finden Sie CreateInfrastructureConfiguration in der EC2 Image Builder-API-Referenz.
Für dieses Tutorial verwenden wir die Standardeinstellungen.
-
Wählen Sie Weiter, um mit dem nächsten Schritt fortzufahren.
Schritt 4: Definieren Sie die Verteilungseinstellungen — optional
Die Verteilungseinstellungen bestehen aus den Zielregionen und dem Namen des Amazon ECR-Ziel-Repositorys. Ausgabe-Docker-Images werden im benannten Amazon ECR-Repository in jeder Region bereitgestellt.
Im Abschnitt Verteilungseinstellungen sind die Konfigurationsoptionen standardmäßig auf eingestellt. Create distribution settings using service
defaults Diese Option verteilt das Ausgabe-Docker-Image an das Amazon ECR-Repository, das in Ihrem Container-Rezept für die Region angegeben ist, in der Ihre Pipeline läuft (Region 1). Wenn Sie möchtenCreate new distribution settings, können Sie das ECR-Repository für die aktuelle Region überschreiben und weitere Regionen für die Verteilung hinzufügen.
Für dieses Tutorial verwenden wir die Standardeinstellungen.
-
Wählen Sie Weiter, um mit dem nächsten Schritt fortzufahren.
Schritt 5: Prüfen
Im Abschnitt Überprüfen werden alle Einstellungen angezeigt, die Sie konfiguriert haben. Um Informationen in einem bestimmten Abschnitt zu bearbeiten, wählen Sie die Schaltfläche Bearbeiten in der oberen rechten Ecke des Schrittabschnitts. Wenn Sie beispielsweise Ihren Pipeline-Namen ändern möchten, wählen Sie die Schaltfläche Bearbeiten in der oberen rechten Ecke des Abschnitts Schritt 1: Pipeline-Details.
-
Wenn Sie Ihre Einstellungen überprüft haben, wählen Sie Pipeline erstellen, um Ihre Pipeline zu erstellen.
-
Oben auf der Seite werden Erfolgs- oder Fehlschlagsmeldungen angezeigt, während Ihre Ressourcen für die Verteilungseinstellungen, die Infrastrukturkonfiguration, Ihr neues Rezept und die Pipeline erstellt werden. Um Details zu einer Ressource, einschließlich der Ressourcen-ID, anzuzeigen, wählen Sie Details anzeigen.
-
Nachdem Sie die Details für eine Ressource angezeigt haben, können Sie Details zu anderen Ressourcen anzeigen, indem Sie den Ressourcentyp im Navigationsbereich auswählen. Um beispielsweise Details für Ihre neue Pipeline anzuzeigen, wählen Sie im Navigationsbereich die Option Pipelines abbilden aus. Wenn Ihr Build erfolgreich war, wird Ihre neue Pipeline in der Liste der Image-Pipelines angezeigt.
Schritt 6: Bereinigen
Ihre Image Builder-Umgebung muss, genau wie Ihr Zuhause, regelmäßig gewartet werden, damit Sie das finden, was Sie benötigen, und Ihre Aufgaben erledigen können, ohne sich durch Unordnung zu wühlen. Stellen Sie sicher, dass Sie die temporären Ressourcen, die Sie zum Testen erstellt haben, regelmäßig bereinigen. Andernfalls könnten Sie diese Ressourcen vergessen und sich später nicht mehr daran erinnern, wofür sie verwendet wurden. Bis dahin ist möglicherweise nicht klar, ob Sie sie sicher loswerden können.
Tipp
Stellen Sie sicher, dass Sie Ihre Ressourcen in der folgenden Reihenfolge löschen, um Abhängigkeitsfehler beim Löschen von Ressourcen zu vermeiden:
-
Image-Pipeline
-
Bildrezept
-
Alle verbleibenden Ressourcen
Gehen Sie folgendermaßen vor, um die Ressourcen zu bereinigen, die Sie für dieses Tutorial erstellt haben:
Löschen Sie die Pipeline
-
Um eine Liste der unter Ihrem Konto erstellten Build-Pipelines anzuzeigen, wählen Sie im Navigationsbereich Image-Pipelines aus.
-
Aktivieren Sie das Kontrollkästchen neben Pipeline-Name, um die Pipeline auszuwählen, die Sie löschen möchten.
-
Wählen Sie oben im Bedienfeld „Image-Pipelines“ im Menü „Aktionen“ die Option „Löschen“.
-
Um den Löschvorgang zu bestätigen, geben Sie
Deletein das Feld ein und wählen Sie Löschen.
Löschen Sie das Container-Rezept
-
Um eine Liste der Container-Rezepte anzuzeigen, die unter Ihrem Konto erstellt wurden, wählen Sie im Navigationsbereich die Option Container-Rezepte aus.
-
Markieren Sie das Kontrollkästchen neben Rezeptname, um das Rezept auszuwählen, das Sie löschen möchten.
-
Wählen Sie oben im Bereich „Container-Rezepte“ im Menü „Aktionen“ die Option „Rezept löschen“.
-
Um den Löschvorgang zu bestätigen, geben Sie
Deletein das Feld ein und wählen Sie Löschen.
Löschen Sie die Infrastrukturkonfiguration
-
Um eine Liste der unter Ihrem Konto erstellten Infrastrukturkonfigurationen anzuzeigen, wählen Sie im Navigationsbereich Infrastrukturkonfiguration aus.
-
Aktivieren Sie das Kontrollkästchen neben Konfigurationsname, um die Infrastrukturkonfiguration auszuwählen, die Sie löschen möchten.
-
Wählen Sie oben im Bereich Infrastrukturkonfigurationen die Option Löschen aus.
-
Um den Löschvorgang zu bestätigen, geben Sie
Deletein das Feld ein und wählen Sie Löschen.
Löschen Sie die Verteilungseinstellungen
-
Um eine Liste der in Ihrem Konto erstellten Verteilungseinstellungen anzuzeigen, wählen Sie im Navigationsbereich die Option Verteilungseinstellungen aus.
-
Aktivieren Sie das Kontrollkästchen neben Konfigurationsname, um die Verteilungseinstellungen auszuwählen, die Sie für dieses Tutorial erstellt haben.
-
Wählen Sie oben im Bereich mit den Verteilungseinstellungen die Option Löschen aus.
-
Um den Löschvorgang zu bestätigen, geben Sie
Deletein das Feld ein und wählen Sie Löschen.
Löschen Sie das Bild
Gehen Sie wie folgt vor, um sicherzustellen, dass Sie alle Images gelöscht haben, die aus der Tutorial-Pipeline erstellt wurden. In diesem Tutorial wird wahrscheinlich kein Image erstellt, es sei denn, es ist genug Zeit vergangen, seit Sie Ihre Pipeline erstellt haben, damit sie gemäß dem Build-Zeitplan ausgeführt wird.
-
Um eine Liste der unter Ihrem Konto erstellten Bilder anzuzeigen, wählen Sie im Navigationsbereich Bilder aus.
-
Wählen Sie die Image-Version für das Bild, das Sie entfernen möchten. Dadurch wird die Seite mit den Image-Build-Versionen geöffnet.
-
Aktivieren Sie das Kontrollkästchen neben der Version für jedes Image, das Sie löschen möchten. Sie können mehrere Image-Versionen gleichzeitig auswählen.
-
Wählen Sie oben im Bereich Image-Build-Versionen die Option Version löschen aus.
-
Um den Löschvorgang zu bestätigen, geben Sie
Deletein das Feld ein und wählen Sie Löschen.