Tutorial: Erstellen Sie eine Image-Pipeline mit dem ausgegebenen Docker-Container-Image aus dem Image Builder Builder-Konsolenassistenten - EC2Image 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.

Tutorial: Erstellen Sie eine Image-Pipeline mit dem ausgegebenen Docker-Container-Image aus dem Image Builder Builder-Konsolenassistenten

In diesem Tutorial erfahren Sie, wie Sie mithilfe des Konsolenassistenten Create Image Pipeline eine automatisierte Pipeline erstellen und verwalten können, um ein benutzerdefiniertes EC2 Image Builder Builder-Docker-Image zu erstellen und zu verwalten. Damit Sie die Schritte effizient durchführen können, werden Standardeinstellungen verwendet, sofern sie verfügbar sind, und optionale Abschnitte werden übersprungen.

Schritt 1: Geben Sie die Pipeline-Details an

  1. Öffnen Sie die EC2 Image Builder Builder-Konsole unter https://console.aws.amazon.com/imagebuilder/.

  2. Um mit der Erstellung Ihrer Pipeline zu beginnen, wählen Sie Create Image Pipeline aus.

  3. Geben Sie im Abschnitt Allgemein Ihren Pipeline-Namen ein (erforderlich).

  4. 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 Uhrzeit und zur Ermittlung des Zeitversatzes für Ihre Zeitzone finden Sie unter Abkürzungen für Zeitzonen — Weltweite Liste.

    Wählen Sie für die Einstellungen für Abhängigkeitsupdates die Option Pipeline zur geplanten Zeit ausführen, falls es Abhängigkeitsupdates 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 Basis-Image und Ihre Komponenten verwenden. Weitere Informationen zur semantischen Versionierung für Image Builder Builder-Ressourcen finden Sie unter. Semantische Versionierung in Image Builder

  5. Wählen Sie Weiter, um mit dem nächsten Schritt fortzufahren.

Schritt 2: Wählen Sie ein Rezept

  1. Image Builder ist standardmäßig auf Bestehendes Rezept verwenden im Abschnitt Rezept eingestellt. Wählen Sie zum ersten Mal die Option Neues Rezept erstellen.

  2. Wählen Sie im Abschnitt Image-Typ die Option Docker-Image aus, um eine Container-Pipeline zu erstellen, die ein Docker-Image erstellt und an ECR Amazon-Repositorys in Zielregionen verteilt.

  3. Geben Sie im Abschnitt Allgemein die folgenden erforderlichen Felder ein:

    • Name — Ihr Rezeptname

    • Version — Ihre Rezeptversion (verwenden Sie das Format <major>. <minor>. <patch>, wobei Major, Minor und Patch ganzzahlige Werte sind). Neue Rezepte beginnen in der Regel mit1.0.0.

  4. Behalten Sie im Abschnitt Quell-Image die Standardwerte für Select image, Image Operating System (OS) und Image-Ursprung bei. Dies führt zu einer Liste von Amazon Linux 2-Container-Images, die von Amazon verwaltet werden und aus denen Sie für Ihr Basis-Image auswählen können.

    1. Wählen Sie aus der Drop-down-Liste mit dem Imagenamen ein Bild aus.

    2. Behalten Sie die Standardeinstellungen für die automatische Versionierung bei (verwenden Sie die neueste verfügbare Betriebssystemversion).

      Anmerkung

      Diese Einstellung stellt sicher, dass Ihre Pipeline semantische Versionierung für das Basis-Image verwendet, um Abhängigkeitsupdates für automatisch geplante Jobs zu erkennen. Weitere Informationen zur semantischen Versionierung für Image Builder Builder-Ressourcen finden Sie unter. Semantische Versionierung in Image Builder

  5. Im Abschnitt Komponenten müssen Sie mindestens eine Build-Komponente auswählen.

    Im Bereich Komponenten erstellen — Amazon Linux können Sie die auf der Seite aufgelisteten Komponenten durchsuchen. Verwenden Sie die Seitennummerierung 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 Komponenten-Managers Ihre eigene Build-Komponente erstellen.

    Wählen Sie für dieses Tutorial wie folgt eine Komponente aus, die Linux mit den neuesten Sicherheitsupdates aktualisiert:

    1. Filtern Sie die Ergebnisse, indem Sie das Wort update in die Suchleiste eingeben, die sich oben im Bedienfeld befindet.

    2. Aktivieren Sie das Kontrollkästchen für die update-linux Build-Komponente.

    3. Scrollen Sie nach unten und wählen Sie in der oberen rechten Ecke der Liste Ausgewählte Komponenten die Option Alle erweitern aus.

    4. 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 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 ausgewählt haben, die in Ihr Image aufgenommen werden soll, können Sie die drag-and-drop Aktion verwenden, um sie in der Reihenfolge anzuordnen, in der sie während des Erstellungsprozesses ausgeführt werden sollen.

    Anmerkung

    CISDas Härten von Komponenten entspricht nicht den Standardregeln für die Reihenfolge der Komponenten in Image Builder Builder-Rezepten. Die CIS Härtungskomponenten werden immer zuletzt ausgeführt, um sicherzustellen, dass die Benchmark-Tests anhand Ihres Ausgabebilds ausgeführt werden.

    1. Scrollen Sie zurück zur Liste der verfügbaren Komponenten.

    2. Aktivieren Sie das Kontrollkästchen für die update-linux-kernel-mainline Build-Komponente (oder eine andere Komponente Ihrer Wahl).

    3. Scrollen Sie nach unten zur Liste Ausgewählte Komponenten, um zu sehen, dass es mindestens zwei Ergebnisse gibt.

    4. Bei neu hinzugefügten Komponenten wurde die Versionierung möglicherweise nicht erweitert. Um die Versionierungsoptionen zu erweitern, können Sie entweder den Pfeil neben Versionierungsoptionen auswählen oder den Schalter Alle erweitern aus- und einschalten, um die Versionierung für alle ausgewählten Komponenten zu erweitern.

    5. 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.

    6. Um die update-linux-kernel-mainline Komponente zu entfernen, wählen Sie in der oberen rechten Ecke des Komponentenfeldes eine Option X aus.

    7. Wiederholen Sie den vorherigen Schritt, um alle anderen Komponenten zu entfernen, die Sie möglicherweise hinzugefügt haben, sodass nur die update-linux Komponente ausgewählt bleibt.

  6. 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, die auf Ihrem Container-Image-Rezept basieren.

    Standardmäßig verwendet Image Builder die folgenden Kontextvariablen in Ihrem Dockerfile.

     

    parentImage (erforderlich)

    Bei 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)

    Diese Variable wird in ein Skript aufgelöst, das Komponenten ausführt.

    Beispiel:

    {{{ imagebuilder:environments }}}
    Komponenten (optional)

    Image Builder löst Build- und Testkomponentenskripts für die Komponenten auf, die das Container-Rezept enthält. Diese Variable kann an einer beliebigen Stelle im Dockerfile hinter der Umgebungsvariablen platziert werden.

    Beispiel:

    {{{ imagebuilder:components }}}
  7. Geben Sie im Abschnitt Ziel-Repository den Namen des ECR Amazon-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 ausgeführt wird (Region 1).

    Anmerkung

    Das Ziel-Repository muss vor der Verteilung in Amazon ECR für alle Zielregionen vorhanden sein.

  8. Wählen Sie Weiter, um mit dem nächsten Schritt fortzufahren.

Schritt 3: Definieren Sie die Infrastrukturkonfiguration — optional

Image Builder startet EC2 Instanzen in Ihrem Konto, um Images anzupassen und Validierungstests durchzuführen. In den Infrastrukturkonfigurationseinstellungen werden Infrastrukturdetails für die Instanzen angegeben, 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 ein zugehöriges 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 Einstellungen für die Infrastrukturkonfiguration finden Sie CreateInfrastructureConfigurationin der EC2Image Builder API Builder-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 ECR Amazon-Ziel-Repositorys. Docker-Ausgabe-Images werden im benannten ECR Amazon-Repository in jeder Region bereitgestellt.

Im Abschnitt Verteilungseinstellungen sind die Konfigurationsoptionen standardmäßig auf Create distribution settings using service defaults eingestellt. Diese Option verteilt das ausgegebene Docker-Image an das ECR Amazon-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.

  1. Wenn Sie Ihre Einstellungen überprüft haben, wählen Sie Pipeline erstellen, um Ihre Pipeline zu erstellen.

  2. Sie können Erfolgs- oder Fehlschlagsmeldungen oben auf der Seite sehen, 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.

  3. 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 Image-Pipelines aus. Wenn Ihr Build erfolgreich war, wird Ihre neue Pipeline in der Liste der Image-Pipelines angezeigt.

Schritt 6: Bereinigen

Ihre Image Builder 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 zu Testzwecken 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

Um Abhängigkeitsfehler beim Löschen von Ressourcen zu vermeiden, stellen Sie sicher, dass Sie Ihre Ressourcen in der folgenden Reihenfolge löschen:

  1. Image-Pipeline

  2. Bildrezept

  3. 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
  1. Um eine Liste der Build-Pipelines anzuzeigen, die unter Ihrem Konto erstellt wurden, wählen Sie im Navigationsbereich Image-Pipelines aus.

  2. Aktivieren Sie das Kontrollkästchen neben dem Namen der Pipeline, um die Pipeline auszuwählen, die Sie löschen möchten.

  3. Wählen Sie oben im Bereich Image-Pipelines im Menü Aktionen die Option Löschen aus.

  4. Um den Löschvorgang zu bestätigen, geben Sie den Text Delete in das Feld ein und wählen Sie „Löschen“.

Löschen Sie das Container-Rezept
  1. Um eine Liste der unter Ihrem Konto erstellten Container-Rezepte zu sehen, wählen Sie im Navigationsbereich Container-Rezepte aus.

  2. Aktivieren Sie das Kontrollkästchen neben Rezeptname, um das Rezept auszuwählen, das Sie löschen möchten.

  3. Wählen Sie oben im Bereich „Container-Rezepte“ im Menü „Aktionen“ die Option „Rezept löschen“ aus.

  4. Um den Löschvorgang zu bestätigen, geben Sie den Delete Text in das Feld ein und wählen Sie „Löschen“.

Löschen Sie die Infrastrukturkonfiguration
  1. Um eine Liste der unter Ihrem Konto erstellten Infrastrukturkonfigurationen anzuzeigen, wählen Sie im Navigationsbereich Infrastrukturkonfiguration aus.

  2. Aktivieren Sie das Kontrollkästchen neben Konfigurationsname, um die Infrastrukturkonfiguration auszuwählen, die Sie löschen möchten.

  3. Wählen Sie oben im Bereich Infrastrukturkonfigurationen die Option Löschen aus.

  4. Um den Löschvorgang zu bestätigen, geben Sie den Text Delete in das Feld ein und wählen Sie Löschen.

Löschen Sie die Verteilungseinstellungen
  1. Um eine Liste der unter Ihrem Konto erstellten Verteilungseinstellungen anzuzeigen, wählen Sie im Navigationsbereich Verteilungseinstellungen aus.

  2. Aktivieren Sie das Kontrollkästchen neben dem Namen der Konfiguration, um die Verteilungseinstellungen auszuwählen, die Sie für dieses Tutorial erstellt haben.

  3. Wählen Sie oben im Bereich „Verteilungseinstellungen“ die Option Löschen aus.

  4. Um den Löschvorgang zu bestätigen, geben Sie den Text Delete in das Feld ein und wählen Sie Löschen.

Lösche das Bild

Gehen Sie wie folgt vor, um sicherzustellen, dass Sie alle Bilder gelöscht haben, die in der Tutorial-Pipeline erstellt wurden. In diesem Tutorial wird wahrscheinlich kein Image erstellt, es sei denn, es ist genügend Zeit vergangen, seit Sie Ihre Pipeline erstellt haben, sodass sie gemäß dem Build-Zeitplan ausgeführt wird.

  1. Um eine Liste der unter Ihrem Konto erstellten Images anzuzeigen, wählen Sie im Navigationsbereich Images aus.

  2. Wählen Sie die Image-Version für das Bild aus, das Sie entfernen möchten. Dadurch wird die Seite mit den Image-Build-Versionen geöffnet.

  3. Aktivieren Sie das Kontrollkästchen neben der Version für jedes Image, das Sie löschen möchten. Sie können mehr als eine Image-Version gleichzeitig auswählen.

  4. Wählen Sie oben im Bereich Image-Build-Versionen die Option Version löschen aus.

  5. Um den Löschvorgang zu bestätigen, geben Sie den Text Delete in das Feld ein und wählen Sie Löschen.