Richten Sie sich ein, um benutzerdefinierte Images mit Image Builder zu erstellen - 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.

Richten Sie sich ein, um benutzerdefinierte Images mit Image Builder zu erstellen

Bevor Sie Images mit EC2 Image Builder erstellen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen für die Erstellung einer Image-Pipeline erfüllen. Sofern nicht ausdrücklich anders angegeben, sind diese Voraussetzungen für alle Arten von Pipelines erforderlich.

Nachdem Sie die Voraussetzungen erfüllt haben, können Sie EC2 Image Builder über eine der folgenden Schnittstellen verwalten.

Mit dem Service verknüpfte Image Builder Builder-Rolle

EC2Image Builder verwendet eine dienstverknüpfte Rolle, um anderen AWS Diensten in Ihrem Namen Berechtigungen zu erteilen. Sie müssen eine serviceverknüpfte Rolle nicht manuell erstellen. Wenn Sie Ihre erste Image Builder-Ressource in der AWS Management Console erstellen, erstellt der AWS CLI oder der AWS API Image Builder die serviceverknüpfte Rolle für Sie. Weitere Informationen zu der dienstbezogenen Rolle, die Image Builder in Ihrem Konto erstellt, finden Sie unterVerwenden Sie IAM serviceverknüpfte Rollen für Image Builder.

Konfigurationsanforderungen

  • Image Builder unterstützt AWS PrivateLink. Weitere Informationen zur Konfiguration von VPC Endpunkten für Image Builder finden Sie unterImage Builder und AWS PrivateLink VPC Schnittstellenendpunkte.

  • Die Instances, die Image Builder zum Erstellen von Container-Images verwendet, müssen über Internetzugang verfügen, um sie AWS CLI von Amazon S3 herunterzuladen und gegebenenfalls ein Basis-Image aus dem Docker Hub-Repository herunterzuladen. Image Builder verwendet das AWS CLI , um das Dockerfile aus dem Container-Rezept abzurufen, wo es als Daten gespeichert ist.

  • Die Instanzen, die Image Builder zum Erstellen von Images und zum Ausführen von Tests verwendet, müssen Zugriff auf den Systems Manager Manager-Dienst haben. Die Installationsanforderungen hängen von Ihrem Betriebssystem ab.

    Um die Installationsanforderungen für Ihr Basis-Image zu sehen, wählen Sie die Registerkarte, die Ihrem Basis-Image-Betriebssystem entspricht.

    Linux

    Bei Amazon EC2 Linux-Instances installiert Image Builder den Systems Manager Agent auf der Build-Instance, falls er noch nicht vorhanden ist, und entfernt ihn, bevor das Image erstellt wird.

    Windows

    Image Builder installiert den Systems Manager Agent nicht auf Amazon EC2 Windows Server-Build-Instances. Wenn Ihr Basis-Image nicht mit dem Systems Manager Agent vorinstalliert war, müssen Sie eine Instance von Ihrem Quell-Image aus starten, Systems Manager manuell auf der Instance installieren und ein neues Basis-Image aus Ihrer Instance erstellen.

    Informationen zur manuellen Installation des Systems Manager-Agenten auf Ihrer Amazon EC2 Windows Server-Instance finden Sie unter Manuelles Installieren von Systems Manager Agent auf EC2 Instances für Windows Server im AWS Systems Manager Benutzerhandbuch.

Container-Repository für Container-Image-Pipelines

Für Container-Image-Pipelines definiert das Rezept die Konfiguration für die Docker-Images, die im Ziel-Container-Repository erzeugt und gespeichert werden. Sie müssen das Ziel-Repository erstellen, bevor Sie das Container-Rezept für Ihr Docker-Image erstellen.

Image Builder verwendet Amazon ECR als Ziel-Repository für Container-Images. Um ein ECR Amazon-Repository zu erstellen, folgen Sie den unter Erstellen eines Repositorys im Amazon Elastic Container Registry-Benutzerhandbuch beschriebenen Schritte.

IAMVoraussetzungen

Die IAM Rolle, die Sie Ihrem Instanzprofil zuordnen, muss über Berechtigungen zum Ausführen der in Ihrem Image enthaltenen Build- und Testkomponenten verfügen. Die folgenden IAM Rollenrichtlinien müssen der IAM Rolle zugewiesen werden, die dem Instanzprofil zugeordnet ist:

Wenn Sie die Protokollierung konfigurieren, muss das in Ihrer Infrastrukturkonfiguration angegebene Instanzprofil über s3:PutObject Berechtigungen für den Ziel-Bucket (arn:aws:s3:::BucketName/*) verfügen. Beispielsweise:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*" } ] }
Richtlinie anfügen

Die folgenden Schritte führen Sie durch den Prozess des Anfügens der IAM Richtlinien an eine IAM Rolle, um die oben genannten Berechtigungen zu gewähren.

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im linken Navigationsbereich Richtlinien aus.

  3. Filtern Sie die Liste der Richtlinien mit EC2InstanceProfileForImageBuilder

  4. Wählen Sie das bullet neben der Richtlinie aus und wählen Sie in der Dropdownliste Richtlinienaktionen die Option Anhängen aus.

  5. Wählen Sie den Namen der IAM Rolle aus, an die die Richtlinie angehängt werden soll.

  6. Wählen Sie Richtlinie anfügen aus.

  7. Wiederholen Sie die Schritte 3-6 für EC2InstanceProfileForImageBuilderECRContainerBuildsund mazonSSMManagedInstanceCoreA-Richtlinien.

Anmerkung

Wenn Sie ein mit Image Builder erstelltes Image in ein anderes Konto kopieren möchten, müssen Sie die EC2ImageBuilderDistributionCrossAccountRole Rolle in allen Zielkonten erstellen und die Ec2ImageBuilderCrossAccountDistributionAccess policy verwaltete Richtlinie an die Rolle anhängen. Weitere Informationen finden Sie unter Teilen Sie Image Builder Builder-Ressourcen mit AWS RAM.

Voraussetzungen für den Systems Manager Agent

EC2Image Builder führt den Agenten AWS Systems Manager (Systems Manager) auf den EC2 Instanzen aus, die es startet, um Ihr Image zu erstellen und zu testen. Image Builder sammelt zusätzliche Informationen über die Instanz, die während der Buildphase mit Systems Manager Inventory verwendet wurde. Diese Informationen umfassen den Namen und die Version des Betriebssystems (OS) sowie die Liste der Pakete und ihrer jeweiligen Versionen, wie von Ihrem Betriebssystem gemeldet.

Um die Erfassung dieser Informationen abzulehnen, wählen Sie die Methode aus, die Ihrer bevorzugten Umgebung entspricht:

  • Image Builder Builder-Konsole — Deaktivieren Sie das Kontrollkästchen Erweiterte Metadatensammlung aktivieren.

  • AWS CLI— Geben Sie die Option an --no-enhanced-image-metadata-enabled

  • Image Builder API oder SDKs — Stellen Sie den enhancedImageMetadataEnabled Parameter auf einfalse.

Image Builder sendet RunCommand im Rahmen des Workflows zum Erstellen und Testen von Images Aktionen an Ihre Build- und Testinstanz. Sie können die Verwendung von RunCommand zum Senden von Aktionen an Ihre Build- und Testinstanz nicht deaktivieren.