View a markdown version of this page

So funktioniert EC2 Image Builder - 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 funktioniert EC2 Image Builder

Wenn Sie die EC2 Image Builder Builder-Konsole verwenden, um eine benutzerdefinierte Image-Pipeline zu erstellen, führt Sie das System durch die folgenden Schritte.

  1. Pipeline-Details angeben — Geben Sie Informationen zu Ihrer Pipeline ein, z. B. einen Namen, eine Beschreibung, Tags und einen Zeitplan für die Ausführung automatisierter Builds. Sie können manuelle Builds wählen, wenn Sie dies bevorzugen.

  2. Rezept wählen — Wählen Sie zwischen der Erstellung eines AMI oder der Erstellung eines Container-Images. Für beide Arten von Ausgabe-Images geben Sie einen Namen und eine Version für Ihr Rezept ein, wählen ein Basis-Image aus und wählen Komponenten aus, die zum Erstellen und Testen hinzugefügt werden sollen. Sie können auch die automatische Versionierung wählen, um sicherzustellen, dass Sie immer die neueste verfügbare Betriebssystemversion (OS) für Ihr Basis-Image verwenden. Container-Rezepte definieren zusätzlich Dockerfiles und das Amazon ECR-Ziel-Repository für Ihr Docker-Container-Ausgabe-Image.

    Anmerkung

    Komponenten sind die Bausteine, die von einem Image-Rezept oder einem Container-Rezept verwendet werden. Zum Beispiel Pakete für die Installation, Schritte zur Stärkung der Sicherheit und Tests. Das ausgewählte Basisimage und die Komponenten bilden ein Image-Rezept.

  3. Definieren Sie die Infrastrukturkonfiguration — Image Builder startet EC2-Instances in Ihrem Konto, um Images anzupassen und Validierungstests durchzuführen. In den Infrastrukturkonfigurationseinstellungen werden die Infrastrukturdetails für die Instances angegeben, die AWS-Konto während des Build-Prozesses in Ihrem ausgeführt werden.

  4. Definieren Sie die Verteilungseinstellungen — Wählen Sie die AWS Regionen aus, in die Ihr Image verteilt werden soll, nachdem der Build abgeschlossen und alle Tests bestanden hat. Die Pipeline verteilt Ihr Image automatisch an die Region, in der der Build ausgeführt wird, und Sie können die Image-Verteilung für andere Regionen hinzufügen.

Die Images, die Sie aus Ihrem benutzerdefinierten Basis-Image erstellen, befinden sich in Ihrem AWS-Konto. Sie können Ihre Image-Pipeline so konfigurieren, dass aktualisierte und gepatchte Versionen Ihres Images erstellt werden, indem Sie einen Build-Zeitplan eingeben. Wenn der Build abgeschlossen ist, können Sie eine Benachrichtigung über Amazon Simple Notification Service (SNS) erhalten. Zusätzlich zur Erstellung eines endgültigen Images generiert der Image Builder Builder-Konsolenassistent ein Rezept, das mit vorhandenen Versionskontrollsystemen und Continuous integration/continuous Deployment (CI/CD) -Pipelines für wiederholbare Automatisierung verwendet werden kann. Sie können Ihr Rezept teilen und neue Versionen erstellen.

AMI-Elemente

Ein Amazon Machine Image (AMI) ist ein vorkonfiguriertes Image einer virtuellen Maschine (VM), das das Betriebssystem und die Software für die Bereitstellung von EC2-Instances enthält.

Ein AMI umfasst die folgenden Elemente:

Komponentenverwaltung

EC2 Image Builder verwendet eine Komponentenverwaltungsanwendung AWS Task Orchestrator and Executor (AWSTOE), mit der Sie komplexe Workflows orchestrieren, Systemkonfigurationen ändern und Ihre Systeme mit YAML-based Skriptkomponenten testen können. Da es AWSTOE sich um eine eigenständige Anwendung handelt, ist keine zusätzliche Einrichtung erforderlich. Es kann auf jeder Cloud-Infrastruktur und vor Ort ausgeführt werden. Informationen zu den ersten Schritten mit der Verwendung AWSTOE als eigenständige Anwendung finden Sie unterManuelles Setup zur Entwicklung kundenspezifischer Komponenten mit AWSTOE.

Image Builder verwendet AWSTOE , um alle Aktivitäten auf der Instanz auszuführen. Dazu gehören die Erstellung und Validierung Ihres Images vor der Erstellung eines Snapshots sowie das Testen des Snapshots, um sicherzustellen, dass er erwartungsgemäß funktioniert, bevor das endgültige Image erstellt wird. Weitere Informationen darüber, wie Image Builder seine AWSTOE Komponenten verwaltet, finden Sie unterVerwenden Sie Komponenten, um Ihr Image Builder-Image anzupassen. Weitere Informationen zum Erstellen von Komponenten mit AWSTOE finden Sie unterSo verwendet Image Builder die AWS Task Orchestrator and Executor Anwendung zur Verwaltung von Komponenten.

Testen von Bildern

Sie können AWSTOE Testkomponenten verwenden, um Ihr Image zu validieren und sicherzustellen, dass es erwartungsgemäß funktioniert, bevor Sie das endgültige Image erstellen.

Im Allgemeinen besteht jede Testkomponente aus einem YAML-Dokument, das ein Testskript, eine Test-Binärdatei und Testmetadaten enthält. Das Testskript enthält die Orchestrierungsbefehle zum Starten der Test-Binärdatei, die in jeder vom Betriebssystem unterstützten Sprache geschrieben werden kann. Exit-Statuscodes geben das Testergebnis an. Testmetadaten beschreiben den Test und sein Verhalten, z. B. den Namen, die Beschreibung, die Pfade zur Testbinärdatei und die erwartete Dauer.

Ressourcennamen und ARNs

Wenn Sie eine Image Builder-Ressource erstellen, generiert Image Builder den Ressourcen-ARN aus einer normalisierten Form des von Ihnen angegebenen Namens. Wenn Sie diese Normalisierung verstehen, können Sie unerwartete Namenskonflikte vermeiden, wenn Sie Ressourcen mit ähnlichem Namen erstellen. Bei der Normalisierung wird der Name in Kleinbuchstaben umgewandelt und Leerzeichen und Unterstriche durch Bindestriche ersetzt. Beispielsweise My Component_v2 erscheint eine Komponente mit dem Namen in ihrem ARN alsmy-component-v2.

Die Normalisierung gilt für alle Image Builder Builder-Ressourcentypen, einschließlich Komponenten, Rezepte, Images, Image-Pipelines, Infrastrukturkonfigurationen, Verteilungskonfigurationen, Lebenszyklusrichtlinien und Workflows.

Die Ressourcennamen müssen für Ihr Konto jeweils eindeutig sein. AWS-Region Da der ARN auf dem normalisierten Namen basiert, stehen Namen, die sich nur in Groß- und Kleinschreibung, Leerzeichen oder Unterstrichen unterscheiden, miteinander in Konflikt. Sie können beispielsweise kein Bildrezept mit dem Namen erstellen, my recipe wenn Sie bereits eines My_Recipe mit derselben Version haben. Bei Namenskonflikten schlägt die Erstellungsanforderung mit einem ResourceAlreadyExistsException Fehler fehl. Bei versionierten Ressourcen wird der Name mit der semantischen Version kombiniert, um die Eindeutigkeit zu bestimmen. Ressourcen, die Buildversionen unterstützen, wie Komponenten und Workflows, erstellen stattdessen eine neue Buildversion, wenn Sie einen Namen und eine Version mit geändertem Inhalt wiederverwenden.

Ressourcen wurden erstellt

Wenn Sie eine Pipeline erstellen, werden keine Ressourcen außerhalb von Image Builder erstellt, sofern nicht Folgendes zutrifft:

  • Wenn ein Image im Rahmen des Pipeline-Zeitplans erstellt wird

  • Wenn Sie in der Image Builder Builder-Konsole im Menü Aktionen die Option Pipeline ausführen wählen

  • Wenn Sie einen dieser Befehle über die API ausführen oder AWS CLI: StartImagePipelineExecution oder CreateImage

Die folgenden Ressourcen werden während der Image-Erstellung erstellt:

AMI-Image-Pipelines
  • EC2-Instanz (temporär)

  • Systems Manager Inventory Association (über Systems Manager State Manager, falls EnhancedImageMetadata aktiviert) auf der EC2-Instance

  • Amazon EC2 EC2-AMI

  • Der Amazon EBS-Snapshot, der mit Amazon EC2 AMI verknüpft ist

Pipelines für Container-Images
  • Docker-Container, der auf einer EC2-Instance läuft (temporär)

  • Systems Manager Inventory Association (über Systems Manager State Manager) EnhancedImageMetadata ist aktiviert) auf der EC2-Instance

  • Docker-Container-Image

  • Dockerfile

Nachdem das Image erstellt wurde, werden alle temporären Ressourcen gelöscht.

Distribution

EC2 Image Builder kann AMIs oder Container-Images in jede AWS Region verteilen. Das Image wird in jede Region kopiert, die Sie in dem Konto angeben, mit dem das Image erstellt wurde.

Für AMI-Ausgabebilder können Sie AMI-Startberechtigungen definieren, um zu steuern, AWS-Konten welche EC2-Instances mit dem erstellten AMI starten dürfen. Sie können das Image beispielsweise privat oder öffentlich machen oder es für bestimmte Konten freigeben. Wenn Sie sowohl das AMI an andere Regionen verteilen als auch Startberechtigungen für andere Konten definieren, werden die Startberechtigungen an die AMIs in allen Regionen weitergegeben, in denen das AMI verteilt ist.

Sie können Ihr AWS Organizations Konto auch verwenden, um Beschränkungen für Mitgliedskonten durchzusetzen, sodass nur Instances mit genehmigten und konformen AMIs gestartet werden dürfen. Weitere Informationen finden Sie unter Verwaltung der AWS-Konten in Ihrer Organisation.

Um Ihre Verteilungseinstellungen mit der Image Builder Builder-Konsole zu aktualisieren, folgen Sie den Schritten zuErstellen Sie eine neue Image-Rezeptversion von der Konsole aus, oderErstellen Sie mit der Konsole eine neue Container-Rezeptversion.

Ressourcen teilen

Informationen zum Teilen von Komponenten, Rezepten oder Bildern mit anderen Konten oder innerhalb von AWS Organizations Accounts finden Sie unterTeilen Sie Image Builder Builder-Ressourcen mit AWS RAM.

Compliance

Für Center for Internet Security (CIS) Benchmarks verwendet EC2 Image Builder Amazon Inspector, um Bewertungen im Hinblick auf Sicherheitslücken, Sicherheitslücken und Abweichungen von Best Practices und Compliance-Standards durchzuführen. Image Builder bewertet beispielsweise unbeabsichtigten Netzwerkzugriff, ungepatchte CVEs, öffentliche Internetkonnektivität und Remote-Root-Login-Aktivierung. Amazon Inspector wird als Testkomponente angeboten, die Sie Ihrem Bildrezept hinzufügen können. Weitere Informationen zu Amazon Inspector finden Sie im Amazon Inspector Inspector-Benutzerhandbuch. Weitere Informationen finden Sie unter Center for Internet Security (CIS) Benchmarks.

Image Builder bietet STIG-Härtungskomponenten, mit denen Sie effizienter konforme Images für STIG-Grundstandards erstellen können. Diese STIG-Komponenten suchen nach Fehlkonfigurationen und führen ein Korrekturskript aus. Für die Verwendung von Komponenten fallen keine zusätzlichen Gebühren an. STIG-compliant Eine vollständige Liste der über Image Builder verfügbaren STIG-Komponenten finden Sie unterVon Amazon verwaltete STIG-Härtungskomponenten für Image Builder.