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.
Erstellen einer neuen Version eines Image-Rezepts
In diesem Abschnitt wird beschrieben, wie Sie eine neue Version eines Image-Rezepts erstellen.
Inhalt
Erstellen einer neuen Image-Rezeptversion (Konsole)
Wenn Sie eine neue Rezeptversion erstellen, ist dies praktisch genauso wie das Erstellen eines neuen Rezepts. Der Unterschied besteht darin, dass bestimmte Details in den meisten Fällen so vorausgewählt sind, dass sie dem Basisrezept entsprechen. In der folgenden Liste werden die Unterschiede zwischen dem Erstellen eines neuen Rezepts und dem Erstellen einer neuen Version eines vorhandenen Rezepts beschrieben.
Details zum Basisrezept in der neuen Version
-
Name – kann nicht bearbeitet werden.
-
Version – Erforderlich. Dieses Basisdetail ist nicht mit der aktuellen Version oder einer Art von Sequenz vorausgefüllt. Geben Sie die Versionsnummer, die Sie erstellen möchten, im Format <major>.<minor>.<patch> ein. Wenn die Version bereits vorhanden ist, tritt ein Fehler auf.
-
Die Option Image auswählen – Vorab ausgewählt, aber Sie können sie bearbeiten. Wenn Sie Ihre Auswahl für die Quelle Ihres Basis-Images ändern, verlieren Sie möglicherweise andere Details, die von der von Ihnen gewählten ursprünglichen Option abhängen.
Um Details anzuzeigen, die mit Ihrer Basis-Image-Auswahl verknüpft sind, wählen Sie die Registerkarte aus, die Ihrer Auswahl entspricht.
-
Instance-Konfiguration – Die Einstellungen sind vorausgewählt, aber Sie können sie bearbeiten.
-
Systems-Manager-Agent – Sie können dieses Kontrollkästchen aktivieren oder deaktivieren, um die Installation des Systems-Manager-Agenten auf dem neuen Image zu steuern. Das Kontrollkästchen ist standardmäßig deaktiviert, um den Systems Manager-Agenten in Ihr neues Image aufzunehmen. Um den Systems-Manager-Agenten aus dem endgültigen Image zu entfernen, aktivieren Sie das Kontrollkästchen, damit der Agent nicht in Ihrem AMI enthalten ist.
-
Benutzerdaten – Sie können diesen Bereich verwenden, um Befehle oder ein auszuführendes Befehlsskript bereitzustellen, wenn Sie Ihre Build-Instance starten. Dieser Wert ersetzt jedoch alle Befehle, die Image Builder möglicherweise hinzugefügt hat, um sicherzustellen, dass Systems Manager installiert ist. Diese Befehle enthalten das Bereinigungsskript, das Image Builder normalerweise für Linux-Images ausführt, bevor das neue Image erstellt wird.
Anmerkung
-
Wenn Sie Benutzerdaten eingeben, stellen Sie sicher, dass der Systems-Manager-Agent auf Ihrem Basis-Image vorinstalliert ist oder dass Sie die Installation in Ihre Benutzerdaten aufnehmen.
-
Stellen Sie für Linux-Images sicher, dass Bereinigungsschritte ausgeführt werden, indem Sie einen Befehl zum Erstellen einer leeren Datei mit dem Namen
perform_cleanup
in Ihr Benutzerdatenskript aufnehmen. Image Builder erkennt diese Datei und führt das Bereinigungsskript aus, bevor das neue Image erstellt wird. Weitere Informationen und ein Beispielskript finden Sie unter Bewährte Methoden für die Sicherheit in EC2 Image Builder.
-
-
-
Arbeitsverzeichnis – vorausgewählt, aber Sie können es bearbeiten.
-
Komponenten – Komponenten, die bereits im Rezept enthalten sind, werden im Abschnitt Ausgewählte Komponenten am Ende jeder der Komponentenlisten angezeigt (Erstellen und Testen). Sie können die ausgewählten Komponenten entfernen oder an Ihre Bedürfnisse anpassen.
CIS-Hardening-Komponenten folgen nicht den Standardregeln für die Komponentenreihenfolge in Image-Builder-Rezepten. Die CIS-Harding-Komponenten werden immer zuletzt ausgeführt, um sicherzustellen, dass die Benchmark-Tests mit Ihrem Ausgabe-Image ausgeführt werden.
Anmerkung
Build- und Testkomponentenlisten zeigen verfügbare Komponenten basierend auf dem Komponentenbesitzertyp an. Um Komponenten für Ihr Rezept hinzuzufügen oder zu aktualisieren, wählen Sie den Besitzertyp für die gesuchte Komponente aus. Wenn Sie beispielsweise eine Komponente hinzufügen möchten, die einem Basis-Image zugeordnet ist, das Sie in abonniert habenAWS Marketplace, wählen Sie
Third party managed
aus der Liste der Besitzertypen neben der Suchleiste aus.Sie können die folgenden Einstellungen für die von Ihnen ausgewählte Komponente konfigurieren:
-
Versioning-Optionen – vorausgewählt, aber Sie können sie ändern. Wir empfehlen Ihnen, die Option Neueste verfügbare Komponentenversion verwenden zu wählen, um sicherzustellen, dass Ihre Image-Builds immer die neueste Version der Komponente aufnehmen. Wenn Sie eine bestimmte Komponentenversion in Ihrem Rezept verwenden müssen, können Sie Komponentenversion angeben auswählen und die Version in das daraufhin angezeigte Feld Komponentenversion eingeben.
-
Eingabeparameter – Zeigt Eingabeparameter an, die die Komponente akzeptiert. Der Wert ist mit dem Wert aus der vorherigen Version des Rezepts vorausgefüllt. Wenn Sie diese Komponente zum ersten Mal in diesem Rezept verwenden und ein Standardwert für die Komponente definiert wurde, wird der Standardwert im Feld Wert mit ausgegrautem Text angezeigt. Wenn kein anderer Wert eingegeben wird, AWSTOE verwendet den Standardwert.
Wichtig
Komponentenparameter sind Klartextwerte und werden in protokolliertAWS CloudTrail. Wir empfehlen Ihnen, AWS Secrets Manager oder den AWS Systems Manager Parameter Store zu verwenden, um Ihre Secrets zu speichern. Weitere Informationen zu Secrets Manager finden Sie unter Was ist Secrets Manager? im AWS Secrets Manager -Benutzerhandbuch. Weitere Informationen zu AWS Systems Manager Parameter Store finden Sie unter AWS Systems Manager Parameter Store im AWS Systems Manager -Benutzerhandbuch.
Um die Einstellungen für Versioning-Optionen oder Eingabeparameter zu erweitern, können Sie den Pfeil neben dem Namen der Einstellung auswählen. Um alle Einstellungen für alle ausgewählten Komponenten zu erweitern, können Sie die Option Alle erweitern deaktivieren und aktivieren.
-
-
Speicher (Volumes) – sind vorausgefüllt. Der Gerätename des Root-Volumes, der Snapshot und die IOPS-Auswahl sind nicht bearbeitbar. Sie können jedoch alle verbleibenden Einstellungen ändern, z. B. die Größe . Sie können auch neue Volumes hinzufügen und neue oder vorhandene Volumes verschlüsseln.
Um Volumes für die Images zu verschlüsseln, die Image Builder unter Ihrem Konto in der Quellregion (in der der Build ausgeführt wird) erstellt, müssen Sie die Speichervolume-Verschlüsselung im Image-Rezept verwenden. Die Verschlüsselung, die während der Verteilungsphase des Builds ausgeführt wird, gilt nur für Images, die an andere Konten oder Regionen verteilt werden.
Anmerkung
Wenn Sie die Verschlüsselung für Ihre Volumes verwenden, müssen Sie den Schlüssel für jedes Volume separat auswählen, auch wenn der Schlüssel derselbe ist, der für das Stamm-Volume verwendet wird.
So erstellen Sie eine neue Image-Rezeptversion:
-
Wählen Sie oben auf der Seite mit den Rezeptdetails die Option Neue Version erstellen aus. Dadurch gelangen Sie zur Seite Image-Rezept erstellen.
-
Um die neue Version zu erstellen, nehmen Sie Ihre Änderungen vor und wählen Sie dann Image-Rezept erstellen aus.
Weitere Informationen zum Erstellen eines Image-Rezepts beim Erstellen einer Image-Pipeline finden Sie Schritt 2: Rezept auswählen unter im Abschnitt Erste Schritte dieses Handbuchs.
Erstellen eines Image-Rezepts mit der AWS CLI
Gehen Sie folgendermaßen vorAWS CLI, um ein Image-Rezept mit dem Image Builder-create-image-recipe
Befehl in der zu erstellen:
Voraussetzungen
Bevor Sie die Image-Builder-Befehle in diesem Abschnitt ausführen, um ein Image-Rezept aus der zu erstellenAWS CLI, müssen Sie die Komponenten erstellen, die das Rezept verwendet. Das Beispiel für ein Image-Rezept im folgenden Schritt bezieht sich auf Beispielkomponenten, die im Erstellen einer Komponente mit der AWS CLI Abschnitt dieses Handbuchs erstellt wurden.
Nachdem Sie Ihre Komponenten erstellt haben oder vorhandene Komponenten verwendet haben, notieren Sie sich die ARNs, die Sie in das Rezept aufnehmen möchten.
-
Erstellen einer CLI-Eingabe-JSON-Datei
Sie können die gesamte Eingabe für den create-image-recipe Befehl mit Inline-Befehlsparametern bereitstellen. Der resultierende Befehl kann jedoch ziemlich lang sein. Um den Befehl zu optimieren, können Sie stattdessen eine JSON-Datei bereitstellen, die alle Rezepteinstellungen enthält.
Anmerkung
Die Namenskonvention für die Datenwerte in der JSON-Datei folgt dem Muster, das für die Anforderungsparameter der Image-Builder-API-Aktion angegeben ist. Informationen zum Überprüfen der API-Befehlsanforderungsparameter finden Sie unter dem CreateImageRecipe Befehl in der EC2 Image Builder-API-Referenz .
Informationen zur Angabe der Datenwerte als Befehlszeilenparameter finden Sie in den Parameternamen, die in der AWS CLI -Befehlsreferenz angegeben sind.
Im Folgenden finden Sie eine Zusammenfassung der Parameter, die diese Beispiele angeben:
-
Name (Zeichenfolge, erforderlich) – Der Name des Image-Rezepts.
-
description (Zeichenfolge) – Die Beschreibung des Image-Rezepts.
-
parentImage (Zeichenfolge, erforderlich) – Das Image, das das Image-Rezept als Grundlage für Ihr benutzerdefiniertes Image verwendet. Der Wert kann der Basis-Image-ARN oder eine AMI-ID sein.
Anmerkung
Das Linux-Beispiel verwendet ein Image Builder-AMI und das Windows-Beispiel verwendet einen ARN.
-
semanticVersion (Zeichenfolge, erforderlich) – Die semantische Version des Image-Rezepts im folgenden Format mit numerischen Werten an jeder Position, um eine bestimmte Version anzugeben: <major>.<minor>.<patch>. Ein Wert könnte beispielsweise sein
1.0.0
. Weitere Informationen zum semantischen Versioning für Image-Builder-Ressourcen finden Sie unter Semantische Versionsverwaltung. -
components (array, required) – Enthält ein Array von
ComponentConfiguration
Objekten. Es muss mindestens eine Build-Komponente angegeben werden:Anmerkung
Image Builder installiert Komponenten in der Reihenfolge, in der Sie sie im Rezept angegeben haben. CIS-Hardening-Komponenten werden jedoch immer zuletzt ausgeführt, um sicherzustellen, dass die Benchmark-Tests mit Ihrem Ausgabe-Image ausgeführt werden.
-
componentARN (Zeichenfolge, erforderlich) – Der Komponenten-ARN.
Tipp
Um eines der Beispiele zum Erstellen Ihres eigenen Image-Rezepts zu verwenden, müssen Sie die Beispiel-ARNs durch die ARNs für die Komponenten ersetzen, die Sie für Ihr Rezept verwenden.
-
Parameter (Array von Objekten) – Enthält ein Array von
ComponentParameter
Objekten.Wichtig
Komponentenparameter sind Klartextwerte und werden in protokolliertAWS CloudTrail. Wir empfehlen Ihnen, AWS Secrets Manager oder den AWS Systems Manager Parameter Store zu verwenden, um Ihre Secrets zu speichern. Weitere Informationen zu Secrets Manager finden Sie unter Was ist Secrets Manager? im AWS Secrets Manager -Benutzerhandbuch. Weitere Informationen zu AWS Systems Manager Parameter Store finden Sie unter AWS Systems Manager Parameter Store im AWS Systems Manager -Benutzerhandbuch.
-
Name (Zeichenfolge, erforderlich) – Der Name des festzulegenden Komponentenparameters.
-
value (Array von Zeichenfolgen, erforderlich) – Enthält ein Array von Zeichenfolgen, um den Wert für den benannten Komponentenparameter festzulegen. Wenn für die Komponente ein Standardwert definiert ist und kein anderer Wert angegeben wird, AWSTOE verwendet den Standardwert.
-
-
-
additionalInstanceConfiguration (Objekt) – Geben Sie zusätzliche Einstellungen und Startskripts für Ihre Build-Instances an.
-
systemsManagerAgent (Objekt) – Enthält Einstellungen für den Systems-Manager-Agenten auf Ihrer Build-Instance.
-
uninstallAfterBuild (Boolean) – Steuert, ob der Systems-Manager-Agent aus Ihrem endgültigen Build-Image entfernt wird, bevor das neue AMI erstellt wird. Wenn diese Option auf gesetzt ist
true
, wird der Agent aus dem endgültigen Image entfernt. Wenn die Option auf gesetzt istfalse
, bleibt der Agent in , sodass er im neuen AMI enthalten ist. Der Standardwert istfalse
.Anmerkung
Wenn das
uninstallAfterBuild
Attribut nicht in der JSON-Datei enthalten ist und die folgenden Bedingungen erfüllt sind, entfernt Image Builder den Systems Manager-Agenten aus dem endgültigen Image, sodass er im AMI nicht verfügbar ist:-
ist
userDataOverride
leer oder wurde in der JSON-Datei weggelassen. -
Image Builder hat den Systems Manager-Agent automatisch auf der Build-Instance für ein Betriebssystem installiert, auf dem der Agent nicht auf dem Basis-Image vorinstalliert war.
-
-
-
userDataOverride (Zeichenfolge) – Geben Sie Befehle oder ein Befehlsskript an, das beim Starten Ihrer Build-Instance ausgeführt werden soll.
Anmerkung
Die Benutzerdaten sind immer Basis-64-codiert.. Zum Beispiel sind die folgenden Befehle als
IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg==
codiert:#!/bin/bash mkdir -p /var/bb/ touch /var
Das Linux-Beispiel verwendet diesen codierten Wert.
-
-
-
Erstellen des Rezepts
Verwenden Sie den folgenden Befehl, um das Rezept zu erstellen. Geben Sie den Namen der JSON-Datei an, die Sie im vorherigen Schritt im
--cli-input-json
Parameter erstellt haben:aws imagebuilder create-image-recipe --cli-input-json file://
create-image-recipe.json
Anmerkung
-
Sie müssen die
file://
-Notation am Anfang des JSON-Dateipfades. -
Der Pfad für die JSON-Datei sollte der entsprechenden Konvention für das Basisbetriebssystem folgen, auf dem Sie den Befehl ausführen. Windows verwendet beispielsweise den umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, und Linux verwendet den Schrägstrich (/).
-
Importieren einer VM als Basis-Image in der Konsole
In diesem Abschnitt konzentrieren wir uns darauf, wie Sie eine virtuelle Maschine (VM) als Basis-Image für Ihr Image-Rezept importieren. Wir behandeln hier keine anderen Schritte im Zusammenhang mit der Erstellung eines Rezepts oder einer Rezeptversion. Weitere Schritte zum Erstellen eines neuen Image-Rezepts mit dem Pipeline-Erstellungsassistenten in der Image-Builder-Konsole finden Sie unter Erstellen einer Image-Pipeline (AMI). Weitere Schritte zum Erstellen eines neuen Image-Rezepts oder einer neuen Rezeptversion finden Sie unter Erstellen einer neuen Version eines Image-Rezepts.
Um eine VM als Basis-Image für Ihr Image-Rezept in der Image-Builder-Konsole zu importieren, führen Sie diese Schritte zusammen mit allen anderen erforderlichen Schritten aus, um Ihr Rezept oder Ihre Rezeptversion zu erstellen.
-
Wählen Sie im Abschnitt Image auswählen für das Basis-Image die Option Basis-Image importieren aus.
-
Wählen Sie das Image-Betriebssystem (OS) und die Betriebssystemversion wie gewohnt aus.
VM-Importkonfiguration
Wenn Sie Ihre VM aus der Virtualisierungsumgebung exportieren, erstellt dieser Prozess einen Satz von einer oder mehreren Festplattencontainerdateien, die als Snapshots Ihrer VM-Umgebung, Einstellungen und Daten dienen. Sie können diese Dateien verwenden, um Ihre VM als Basis-Image für Ihr Image-Rezept zu importieren. Weitere Informationen zum Importieren von VMs in Image Builder finden Sie unter . Importieren und Exportieren von VM-Images
Gehen Sie wie folgt vor, um den Speicherort Ihrer Importquelle anzugeben:
Importquelle
Geben Sie im Abschnitt Datenträgercontainer 1 die Quelle für den ersten VM-Image-Datenträgercontainer oder -Snapshot an, der importiert werden soll.
-
Quelle – Dies kann entweder ein S3-Bucket oder ein EBS-Snapshot sein.
-
S3-Speicherort des Datenträgers auswählen – Geben Sie den Speicherort in Amazon S3 ein, an dem Ihre Datenträgerabbilder gespeichert sind. Um nach dem Speicherort zu suchen, wählen Sie S3 durchsuchen aus.
-
Um einen Datenträgercontainer hinzuzufügen, wählen Sie Datenträgercontainer hinzufügen aus.
IAM-Rolle
Um Ihrer VM-Importkonfiguration eine IAM-Rolle zuzuordnen, wählen Sie die Rolle aus der Dropdown-Liste IAM-Rolle aus oder wählen Sie Neue Rolle erstellen, um eine neue zu erstellen. Wenn Sie eine neue Rolle erstellen, wird die Konsolenseite für IAM-Rollen in einer separaten Registerkarte geöffnet.
Erweiterte Einstellungen – optional
Die folgenden Einstellungen sind optional. Mit diesen Einstellungen können Sie Verschlüsselung, Lizenzierung, Tags und mehr für das vom Import erstellte Basis-Image konfigurieren.
Allgemeines
-
Geben Sie einen eindeutigen Name nfür das Basis-Image an. Wenn Sie keinen Wert eingeben, erbt das Basis-Image den Rezeptnamen.
-
Geben Sie eine Version für das Basis-Image an. Verwenden Sie das folgende Format:
<major>.<minor>.<patch>
. Wenn Sie keinen Wert eingeben, erbt das Basis-Image die Rezeptversion. -
Sie können auch eine Beschreibung für das Basis-Image eingeben.
Basis-Image-Architektur
Um die Architektur Ihrer VM-Importquelle anzugeben, wählen Sie einen Wert aus der Liste Architektur aus.
Verschlüsselung
Wenn Ihre VM-Festplattenabbilder verschlüsselt sind, müssen Sie einen Schlüssel angeben, der für den Importvorgang verwendet werden soll. Um einen AWS KMS key für den Import anzugeben, wählen Sie einen Wert aus der Liste Verschlüsselung (KMS-Schlüssel) aus. Die Liste enthält KMS-Schlüssel, auf die Ihr Konto in der aktuellen Region zugreifen kann.
Lizenzverwaltung
Wenn Sie eine VM importieren, erkennt der Importvorgang automatisch das VM-Betriebssystem und wendet die entsprechende Lizenz auf das Basis-Image an. Abhängig von Ihrer Betriebssystemplattform lauten die Lizenztypen wie folgt:
-
Lizenz enthalten – Eine entsprechende AWS Lizenz für Ihre Plattform wird auf Ihr Basis-Image angewendet.
-
Bring Your Own License (BYOL) – Behält die Lizenz von Ihrer VM bei, falls zutreffend.
Um Lizenzkonfigurationen, die mit erstellt wurden, AWS License Manager an Ihr Basis-Image anzuhängen, wählen Sie aus der Liste Name der Lizenzkonfiguration aus. Weitere Informationen zu License Manager finden Sie unter Arbeiten mit AWS License Manager
Anmerkung
-
Lizenzkonfigurationen enthalten Lizenzregeln, die auf den Bedingungen Ihrer Unternehmensvereinbarungen basieren.
-
Linux unterstützt nur BYOL-Lizenzen.
Tags (Basis-Image)
Tags verwenden Schlüssel-Wert-Paare, um Ihrer Image-Builder-Ressource durchsuchbaren Text zuzuweisen. Um Tags für das importierte Basis-Image anzugeben, geben Sie Schlüssel-Wert-Paare mit den Feldern Schlüssel und Wert ein.
Um einen Tag hinzuzufügen, wählen Sie Add tag (Tag hinzufügen). Klicken Sie zum Entfernen eines Tags auf Tag entfernen.