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.
Eine neue Version eines Bildrezepts erstellen
In diesem Abschnitt erfahren Sie, wie Sie ein Image-Rezept oder eine neue Version eines vorhandenen Rezepts erstellen. Ein Image-Rezept definiert das Basis-AMI, die Build-Komponenten und die Konfiguration. Verwenden Sie dieses Rezept, um Amazon Machine Images (AMIs) mit Image Builder zu erstellen. Sie können Image-Rezepte über die Image Builder-Konsole oder mit der erstellen AWS CLI.
Inhalt
Erstellen Sie eine neue Image-Rezeptversion von der Konsole aus
Wenn Sie eine neue Rezeptversion erstellen, entspricht das praktisch dem Erstellen eines neuen Rezepts. Der Unterschied besteht darin, dass in den meisten Fällen bestimmte Details so ausgewä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 — Nicht editierbar.
-
Version — Erforderlich. Geben Sie die Versionsnummer, die Sie erstellen möchten, im Format ein <major>. <minor>. <patch>. Image Builder unterstützt die automatische Versionsinkrementierung für Rezepte, sodass Sie Platzhaltermuster in Ihren Rezeptversionen verwenden können. Wenn Sie ein Rezept mit einer Platzhalterversion wie erstellen
1.0.x, erhöht Image Builder automatisch die Version (z. B.,1.0.11.0.21.0.3, usw.). Dadurch müssen Rezeptversionen nicht mehr manuell nachverfolgt und inkrementiert werden. -
Die Option Bild auswählen — Pre-selected, aber Sie können sie bearbeiten. Wenn Sie Ihre Auswahl für die Quelle Ihres Basisimages ändern, gehen möglicherweise weitere Details verloren, die von der ursprünglichen Option abhängen, die Sie ausgewählt haben.
Um Details zu sehen, die mit Ihrer Auswahl an Basisbildern verknüpft sind, wählen Sie den Tab aus, der Ihrer Auswahl entspricht.
-
Instanzkonfiguration — Die Einstellungen sind vorausgewählt, Sie können sie jedoch 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. In der Standardeinstellung bleibt dieses Kontrollkästchen deaktiviert, und Image Builder behält den Systems Manager-Agenten in Ihrem endgültigen AMI bei. Um den Systems Manager Agent aus dem endgültigen Image zu entfernen, aktivieren Sie das Kontrollkästchen.
-
Benutzerdaten — In diesem Bereich können Sie Befehle oder ein Befehlsskript angeben, das ausgeführt werden soll, 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. Zu diesen Befehlen gehört das Bereinigungsskript, das Image Builder normalerweise für Linux-Images ausführt, bevor das neue Image erstellt wird.
Wenn Image Builder eine Instanz startet, werden Benutzerdatenskripts während der Cloud-Init-Phase ausgeführt, bevor die Ausführung der Komponenten beginnt. Dieser Schritt wird in der folgenden Datei auf der Instanz protokolliert:.
var/log/cloud-init.logAnmerkung
-
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 bei Linux-Images sicher, dass die Bereinigungsschritte ausgeführt werden, indem Sie einen Befehl zum Erstellen einer leeren Datei hinzufügen, die
perform_cleanupin Ihrem Benutzerdatenskript benannt ist. Image Builder erkennt diese Datei und führt das Bereinigungsskript aus, bevor das neue Image erstellt wird. Weitere Informationen und ein Beispielskript finden Sie unterBewährte Sicherheitsmethoden für Image Builder.
-
-
-
Arbeitsverzeichnis — Pre-selected, aber Sie können es bearbeiten.
-
Komponenten — Komponenten, die bereits im Rezept enthalten sind, werden im Abschnitt Ausgewählte Komponenten am Ende jeder Komponentenliste (Build und Test) angezeigt. Sie können die ausgewählten Komponenten entfernen oder neu anordnen, um sie an Ihre Bedürfnisse anzupassen.
CIS-Härtungskomponenten folgen nicht den Standardregeln für die Komponentenreihenfolge in den 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.
Anmerkung
In den Listen der Komponenten zum Erstellen und Testen werden die verfügbaren Komponenten auf der Grundlage des Eigentümertyps der Komponente angezeigt. Um eine Komponente hinzuzufügen, wählen Sie Build-Komponenten hinzufügen und wählen Sie den zutreffenden Eigentümerfilter aus. Um beispielsweise eine Build-Komponente hinzuzufügen, die einem AWS Marketplace Produkt zugeordnet ist, wählen Sie
AWS Marketplace. Dadurch wird auf der rechten Seite der Konsolenoberfläche ein Auswahlfeld geöffnet, in dem AWS Marketplace Komponenten aufgelistet sind.Wählen Sie für die CIS-Komponente
Third party managed.Sie können die folgenden Einstellungen für Ihre ausgewählte Komponente konfigurieren:
-
Versionierungsoptionen — Pre-selected, aber Sie können sie ändern. Wir empfehlen Ihnen, die Option Aktuelle verfügbare Komponentenversion verwenden zu wählen, um sicherzustellen, dass Ihre Image-Builds immer die neueste Version der Komponente verwenden. Wenn Sie eine bestimmte Komponentenversion in Ihrem Rezept verwenden müssen, können Sie Komponentenversion angeben wählen und die Version in das angezeigte Feld Komponentenversion eingeben.
-
Eingabeparameter — Zeigt Eingabeparameter an, die die Komponente akzeptiert. Der Wert ist bereits mit dem Wert aus der Vorgängerversion des Rezepts gefüllt. Wenn Sie diese Komponente zum ersten Mal in diesem Rezept verwenden und ein Standardwert für den Eingabeparameter definiert wurde, wird der Standardwert im Feld Wert mit ausgegrautem Text angezeigt. Wenn kein anderer Wert eingegeben wird, verwendet Image Builder den Standardwert.
Wenn ein Eingabeparameter erforderlich ist, für den in der Komponente jedoch kein Standardwert definiert ist, müssen Sie einen Wert angeben. Image Builder erstellt die Rezeptversion nicht, wenn erforderliche Parameter fehlen und für die kein Standardwert definiert ist.
Wichtig
Komponentenparameter sind Klartextwerte und sind angemeldet AWS CloudTrail. Wir empfehlen, dass Sie AWS Secrets Manager oder den AWS Systems Manager Parameter Store verwenden, um Ihre Geheimnisse zu speichern. Weitere Informationen zu Secrets Manager finden Sie unter Was ist Secrets Manager? im AWS Secrets Manager Benutzerhandbuch. Weitere Informationen zum AWS Systems Manager Parameterspeicher finden Sie unter AWS Systems Manager Parameterspeicher im AWS Systems Manager Benutzerhandbuch.
Um die Einstellungen für Versionsoptionen 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 den Schalter Alle erweitern aus- und einschalten.
-
-
Speicher (Volumen) — sind vorgefüllt. Die Optionen Gerätename , Snapshot und IOPS für das Root-Volume können nicht bearbeitet werden. Sie können jedoch alle übrigen 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 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 Root-Volume verwendet wird.
Anmerkung
Wenn Sie noch kein Rezept haben, verwenden Sie den Image Builder-Pipeline-Assistenten oder wählen Sie im Navigationsbereich die Option Image-Rezepte und dann Image-Rezept erstellen aus. Die in diesem Abschnitt beschriebenen Felder gelten sowohl für neue Rezepte als auch für neue Versionen.
So erstellen Sie eine neue Image-Rezeptversion:
-
Wählen Sie oben auf der Seite mit den Rezeptdetails die Option Neue Version erstellen aus. Dadurch wird die Seite „Image-Rezept erstellen“ geöffnet.
-
Um die neue Version zu erstellen, nehmen Sie Ihre Änderungen vor und wählen Sie dann Create recipe.
Ihr endgültiges Bild kann bis zu neun Produktcodes von AWS Marketplace Image-Produkten und -Komponenten enthalten. Image Builder gibt bei der Rezepterstellung einen Fehler zurück, wenn Ihr Basisimage und Ihre Komponenten diesen Grenzwert überschreiten.
Überprüfen Sie die folgenden Einschränkungen, bevor Sie ein Image-Rezept erstellen:
-
Ihr endgültiges Bild kann maximal neun AWS Marketplace Produktcodes enthalten, die aus dem Basisbild und den Komponenten zusammengesetzt sind. Ein Produktcode ist eine Kennung, die AWS Marketplace einem kostenpflichtigen oder unterstützten AMI für die Abrechnung und Lizenzierung zugeordnet wird.
-
Sie können bis zu 20 Komponenten hinzufügen (Build und Test kombiniert). Dies ist das Standardlimit, dessen Erhöhung Sie beantragen können AWS Support.
-
Dieselbe Komponente kann in einem Rezept nicht mehr als einmal vorkommen.
-
Alle Komponenten müssen der Plattform (Linux, Windows oder macOS) Ihres Basis-Images entsprechen. Die Komponenten müssen auch die Betriebssystemversion unterstützen, wenn diese Metadaten verfügbar sind.
Weitere Informationen zum Erstellen eines Image-Rezepts beim Erstellen einer Image-Pipeline finden Sie Schritt 2: Rezept wählen im Abschnitt Erste Schritte in diesem Handbuch.
Erstellen Sie ein Image-Rezept mit dem AWS CLI
Gehen Sie wie folgt vor, um ein Bildrezept mit dem create-image-recipe AWS CLI Befehl Image Builder im zu erstellen:
Voraussetzungen
Bevor Sie die Image Builder-Befehle in diesem Abschnitt ausführen, um ein Image-Rezept aus dem zu erstellen AWS CLI, können Sie optional Komponenten erstellen, die das Rezept verwendet. Das Beispiel für ein Bildrezept im folgenden Schritt bezieht sich auf Beispielkomponenten, die im Erstellen Sie eine benutzerdefinierte Komponente aus dem AWS CLI Abschnitt dieses Handbuchs erstellt wurden.
Wenn Sie Komponenten in Ihr Rezept aufnehmen möchten, notieren Sie sich die ARNs, die Sie einbeziehen möchten. Sie können auch Rezepte ohne Komponenten erstellen, um vorhandene AMIs oder reine Vertriebs-Workflows zu testen.
-
Erstellen einer CLI-Eingabe-JSON-Datei
Sie können alle Eingaben 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 Benennungskonvention für die Datenwerte in der JSON-Datei folgt dem Muster, das für die Image Builder-API-Operationsanforderungsparameter angegeben ist. Informationen zur Überprüfung der Anforderungsparameter für API-Operationen finden Sie im CreateImageRecipe Befehl in der EC2 Image Builder-API-Referenz.
Informationen zur Bereitstellung der Datenwerte als Befehlszeilenparameter finden Sie in den in der AWS CLI Befehlsreferenz angegebenen Parameternamen.
Hier ist eine Zusammenfassung der Parameter, die in diesen Beispielen angegeben sind:
-
name (string, required) — Der Name des Bildrezepts.
-
description (string) — Die Beschreibung des Bildrezepts.
-
parentImage (string, erforderlich) — Das Bild, das das Bildrezept als Grundlage für Ihr benutzerdefiniertes Bild verwendet. Sie können das übergeordnete Image mithilfe einer der folgenden Optionen angeben:
-
AMI-ID — Wird verwendet, wenn Sie ein bestimmtes AMI haben (z. B.
ami-1234567890abcdef1), das Sie anpassen möchten. Da eine AMI-ID statisch ist, empfehlen wir stattdessen einen Image Builder-Image-ARN oder einen SSM-Parameter, wenn Ihr Rezept neuere Basis-Images automatisch übernehmen soll. -
ARN der Image Builder-Bildressource — Wird verwendet, wenn Sie auf einem Image Builder-Image aufbauen möchten. Dazu gehören Amazon-managed Images, die Image Builder für die gängigsten Betriebssysteme bereitstellt, sowie Images, die Sie zuvor erstellt haben. Geben Sie den Image-ARN mit einer semantischen Version an, oder verwenden Sie einen Versionsplatzhalter, um immer die neueste Version abzurufen.
-
AWS Systems Manager (SSM) Parameter Store-Parameter — Verwenden Sie diesen Parameter, wenn Ihr Rezept automatisch neue AMI-IDs übernehmen soll, ohne dass eine neue Rezeptversion erstellt werden muss. Stellen Sie dem Parameter ein Präfix vor
ssm:, gefolgt vom Parameternamen oder ARN. Dies ist ideal für Pipelines, die immer das neueste Amazon Linux- oder Windows-Basis-Image verwenden sollten. -
AWS Marketplace Produkt-ID — Wird verwendet, wenn Sie ein AMI-Produkt abonnieren AWS Marketplace und es weiter anpassen möchten.
Anmerkung
-
Wenn Sie eine AMI-ID oder einen SSM-Parameter verwenden, der in ein AMI aufgelöst wird, müssen Sie in Ihrem Konto Zugriff auf dieses AMI haben. Das AMI muss auch in derselben Region existieren, in der Image Builder den Build ausführt.
-
Die Linux- und macOS-Beispiele geben eine AMI-ID an, und das Windows-Beispiel verwendet einen Image Builder-Image-ARN.
-
-
<major>SemanticVersion (Zeichenfolge, erforderlich) — Geben Sie die Versionsnummer ein, die Sie im Format erstellen möchten. <minor>. <patch>. Image Builder unterstützt die automatische Versionsinkrementierung für Rezepte, sodass Sie Platzhaltermuster in Ihren Rezeptversionen verwenden können. Wenn Sie ein Rezept mit einer Platzhalterversion wie erstellen
1.0.x, erhöht Image Builder automatisch die Version (z. B.,1.0.11.0.21.0.3, usw.). Dadurch müssen Rezeptversionen nicht mehr manuell nachverfolgt und inkrementiert werden. Weitere Informationen zur semantischen Versionierung für Image Builder-Ressourcen finden Sie unter. Semantische Versionierung in Image Builder -
components (Array, optional) — Enthält ein Array von
ComponentConfigurationObjekten. Komponenten sind optional. Sie können Rezepte ohne Komponenten für Test- oder Verteilungsworkflows erstellen:Anmerkung
Image Builder installiert die Komponenten in der Reihenfolge, in der Sie sie im Rezept angegeben haben. CIS-Härtungskomponenten werden jedoch immer als letzte ausgeführt, um sicherzustellen, dass die Benchmark-Tests mit Ihrem Ausgabe-Image ausgeführt werden.
-
componentArn (string, erforderlich) — Der Komponenten-ARN.
Tipp
Um eines der Beispiele für die Erstellung Ihres eigenen Bildrezepts zu verwenden, müssen Sie die Beispiel-ARNs durch die ARNs der Komponenten ersetzen, die Sie für Ihr Rezept verwenden.
-
parameters (Array von Objekten) — Enthält ein Array von
ComponentParameterObjekten. Wenn ein Eingabeparameter erforderlich ist, für den in der Komponente jedoch kein Standardwert definiert ist, müssen Sie einen Wert angeben. Image Builder erstellt die Rezeptversion nicht, wenn erforderliche Parameter fehlen und für die kein Standardwert definiert ist.Wichtig
Komponentenparameter sind Klartextwerte und sind angemeldet AWS CloudTrail. Wir empfehlen, dass Sie AWS Secrets Manager oder den AWS Systems Manager Parameter Store verwenden, um Ihre Geheimnisse zu speichern. Weitere Informationen zu Secrets Manager finden Sie unter Was ist Secrets Manager? im AWS Secrets Manager Benutzerhandbuch. Weitere Informationen zum AWS Systems Manager Parameterspeicher finden Sie unter AWS Systems Manager Parameterspeicher im AWS Systems Manager Benutzerhandbuch.
-
name (string, required) — Der Name des zu setzenden Komponentenparameters.
-
value (Zeichenkettenarray, erforderlich) — Enthält ein Array von Zeichenketten, um den Wert für den benannten Komponentenparameter festzulegen. Wenn für die Komponente ein Standardwert definiert ist und kein anderer Wert angegeben wird, wird der Standardwert AWSTOE verwendet.
-
-
-
amiWatermarks (Array von Zeichenketten, optional) — Eine Liste von Wasserzeichennamen, die an Ausgabe-AMIs angehängt werden sollen, die nach diesem Rezept erstellt wurden. Wasserzeichen sind Abstammungsmarkierungen, mit denen Sie den Verlauf Ihrer Bilder nachvollziehen können. Geben Sie 1 bis 5 Namen an. Jeder Name muss 3 bis 128 Zeichen lang sein und kann Buchstaben, Zahlen, Leerzeichen und die folgenden Sonderzeichen enthalten:
( ) [ ] . / - ' @ _. Weitere Informationen finden Sie unter Verfolgen Sie die AMI-Abstammung mit Wasserzeichen. -
additional InstanceConfiguration (object) — Geben Sie zusätzliche Einstellungen an und starten Sie Skripts für Ihre Build-Instances.
-
systems ManagerAgent (Objekt) — Enthält Einstellungen für den Systems Manager-Agenten auf Ihrer Build-Instance.
Anmerkung
Windows-Rezepte unterstützen die
systemsManagerAgentKonfiguration nicht. Wenn Sie es einem übergeordneten Windows-Image hinzufügen, schlägt die Anforderung fehl.-
uninstall AfterBuild (Boolean) — Steuert, ob der Systems Manager-Agent vor der Erstellung des neuen AMI aus Ihrem endgültigen Build-Image entfernt 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 im System, sodass er in das neue AMI aufgenommen wird. Der Standardwert istfalse.Anmerkung
Wenn das
uninstallAfterBuildAttribut nicht in der JSON-Datei enthalten ist und die folgenden Bedingungen zutreffen, entfernt Image Builder den Systems Manager-Agenten aus dem endgültigen Image, sodass er im AMI nicht verfügbar ist:-
Das
userDataOverrideist leer oder wurde in der JSON-Datei weggelassen. -
Image Builder installierte den Systems Manager-Agenten automatisch auf der Build-Instance für ein Betriebssystem, bei dem der Agent nicht auf dem Basisimage vorinstalliert war.
-
-
-
user DataOverride (string) — Geben Sie Befehle oder ein Befehlsskript an, das ausgeführt werden soll, wenn Sie Ihre Build-Instance starten.
Anmerkung
Die Benutzerdaten sind immer Basis-64-codiert.. Zum Beispiel sind die folgenden Befehle als
IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg==codiert:#!/bin/bash mkdir -p /var/bb/ touch /varDas Linux-Beispiel verwendet diesen codierten Wert.
-
Beispiel: Rezept ohne Komponenten
Sie können Rezepte ohne Komponenten erstellen, um bestehende AMIs oder reine Vertriebs-Workflows zu testen. Das folgende Beispiel zeigt ein Rezept, das ein vorhandenes AMI verwendet, ohne zusätzliche Komponenten anzuwenden:
{ "name": "Test Distribution Recipe", "description": "Recipe for testing and distributing existing AMI without modifications.", "parentImage": "ami-1234567890abcdef1", "semanticVersion": "1.0.0", "additionalInstanceConfiguration": { "systemsManagerAgent": { "uninstallAfterBuild": true } } } -
-
Erstellen Sie das Rezept
Verwenden Sie den folgenden Befehl, um das Rezept zu erstellen. Geben Sie den Namen der JSON-Datei, die Sie im vorherigen Schritt erstellt haben, in den
--cli-input-jsonParameter ein:aws imagebuilder create-image-recipe --cli-input-json file://create-image-recipe.jsonAnmerkung
-
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. Beispielsweise verwendet Windows den Backslash (\), um auf den Verzeichnispfad zu verweisen, während Linux und macOS den Schrägstrich (/) verwenden.
Ihr endgültiges Bild kann bis zu neun Produktcodes von AWS Marketplace Image-Produkten und -Komponenten enthalten. Image Builder gibt bei der Rezepterstellung einen Fehler zurück, wenn Ihr Basisimage und Ihre Komponenten diesen Grenzwert überschreiten, wenn Sie den
create-image-recipeBefehl ausführen.Der Befehl gibt den ARN des neuen Image-Rezepts zurück, wie in der folgenden Beispielausgabe gezeigt.
{ "requestId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "clientToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-recipe/1.0.1" } -
-
Verifizieren Sie Ihr Rezept
Um zu bestätigen, dass Image Builder Ihr Rezept wie erwartet erstellt hat, führen Sie den get-image-recipe Befehl mit dem ARN aus, den Sie im vorherigen Schritt zurückgegeben haben.
aws imagebuilder get-image-recipe --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-recipe/1.0.1
Arbeitsverzeichnis
Das Arbeitsverzeichnis gibt den Dateisystempfad auf der Build-Instanz an, auf der Image Builder Build- und Testoperationen ausführt. Image Builder übergibt diesen Pfad AWS Systems Manager als Arbeitsverzeichnis für die Befehlsausführung.
Wenn Sie kein Arbeitsverzeichnis angeben, verwendet Image Builder die folgenden Standardwerte:
-
Linux:
/tmp -
macOS:
/tmp -
Windows:
C:/
Für Windows darf der Pfad das doppelte Anführungszeichen (") nicht enthalten.
Tipp
Stellen Sie das Arbeitsverzeichnis auf einen Pfad auf einem größeren angehängten Volume ein, wenn Ihre Komponenten während der Installation mehr temporären Speicherplatz benötigen, als das Standardverzeichnis bietet.
AMI-Tags
Sie können Tags auf das AMI anwenden, das Image Builder während der Buildphase vor der Image-Verteilung erstellt. Image Builder wendet diese Tags getrennt von den Ressourcen-Tags auf dem Rezept selbst auf das AMI an. Geben Sie AMI-Tags mit dem amiTags Parameter in Ihrer JSON-Eingabedatei an.
Anmerkung
Sie können die reservierten Tag-Schlüssel CreatedBy oder nicht verwendenEc2ImageBuilderArn. Image Builder verwaltet diese Schlüssel automatisch.
{ "name": "tagged-recipe", "semanticVersion": "1.0.0", "parentImage": "arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2023-x86/x.x.x", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:aws:component/update-linux/x.x.x" } ], "amiTags": { "Environment": "Production", "Team": "Platform", "CostCenter": "12345" } }
Häufige Fehler und Problembehebung
In der folgenden Tabelle sind häufig auftretende Fehler aufgeführt, die beim Erstellen eines Image-Rezepts auftreten können, sowie Informationen zu deren Behebung.
| Fehler | Ursache | Auflösung |
|---|---|---|
| „Eine Komponente kann in einem Bildrezept höchstens einmal spezifiziert werden“ | Eine doppelte Komponente (auch mit einer anderen Version). | Entfernen Sie das Duplikat. Verwenden Sie nur eine Version jeder Komponente. |
| „Der Komponenten-ARN entspricht nicht der Parent Image Platform“ | Eine Plattforminkongruenz. | Überprüfen Sie Ihre Basis-Image-Plattform. Verwenden Sie Linux-Komponenten mit Linux-AMIs usw. |
| „Komponenten-ARN unterstützt die Parent Image OS Version nicht“ | Eine Inkompatibilität der Betriebssystemversion. | Überprüfen Sie die unterstützten Betriebssystemversionen der Komponente. Verwenden Sie eine kompatible Komponentenversion. |
| „Image Builder unterstützt die Konfiguration des SSM Agents unter Windows nicht“ | Sie haben es systemsManagerAgent mit einem übergeordneten Windows-Image angegeben. |
Entfernen Sie den additionalInstanceConfiguration.systemsManagerAgent Block. |
| „Sie haben die maximale kumulative Komponentengröße von 25 KB überschritten“ | Zu viele oder zu große Parameter. | Reduzieren Sie die Parameteranzahl oder verkürzen Sie die Parameterwerte. |
| „Das Rezept kann maximal 9 Marketplace-Produkte enthalten“ | Zu viele AWS Marketplace Produktcodes. | Reduzieren Sie die Anzahl der AWS Marketplace Komponenten oder verwenden Sie ein Basisbild mit weniger Produktcodes. |
| „Die mitgelieferte semantische Version entspricht nicht dem erforderlichen Format“ | Eine ungültige Versionszeichenfolge. | Verwenden Sie das Format major.minor.patch mit einem optionalen Platzhalter. x |
| „Komponenten-ARN... ist veraltet und kann nicht in neue Rezepte aufgenommen werden“ (oder „ist deaktiviert“) | Eine Komponente, auf die verwiesen wird, hat den Status DEPRECATED ODERDISABLED. |
Auf eine aktuelle Komponentenversion aktualisieren. |
Importieren Sie eine VM als Basisimage in die Konsole
In diesem Abschnitt erfahren Sie, wie Sie eine virtuelle Maschine (VM) als Basis-Image für Ihr Image-Rezept importieren. Andere Schritte, die mit der Erstellung eines Rezepts oder einer Rezeptversion verbunden sind, werden hier nicht behandelt. Weitere Schritte zum Erstellen eines neuen Image-Rezepts mit dem Assistenten zur Pipeline-Erstellung in der Image Builder-Konsole finden Sie unterPipeline-Assistent: AMI erstellen. Weitere Schritte zum Erstellen eines neuen Image-Rezepts oder einer neuen Rezeptversion finden Sie unterEine neue Version eines Bildrezepts erstellen.
Um eine VM als Basis-Image für Ihr Image-Rezept in der Image Builder-Konsole zu importieren, folgen Sie diesen Schritten sowie allen anderen erforderlichen Schritten, 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.
Konfiguration des VM-Imports
Wenn Sie Ihre VM aus ihrer Virtualisierungsumgebung exportieren, erstellt dieser Prozess eine Reihe 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 VM-Images importieren und exportieren
Gehen Sie folgendermaßen vor, um den Speicherort Ihrer Importquelle anzugeben:
Quelle importieren
Geben Sie im Abschnitt Disk Container 1 die Quelle für den ersten VM-Image-Festplattencontainer oder Snapshot an, der importiert werden soll.
-
Quelle — Dies kann entweder ein S3-Bucket oder ein EBS-Snapshot sein.
-
Wählen Sie den S3-Speicherort der Festplatte aus — Geben Sie den Speicherort in Amazon S3 ein, an dem Ihre Festplatten-Images gespeichert sind. Um nach dem Speicherort zu suchen, wählen Sie Browse S3.
-
Um einen Festplattencontainer hinzuzufügen, wählen Sie Festplattencontainer hinzufügen.
IAM role (IAM-Rolle)
Um Ihrer VM-Importkonfiguration eine IAM-Rolle zuzuordnen, wählen Sie die Rolle aus der Dropdownliste der IAM-Rolle aus, oder wählen Sie Neue Rolle erstellen, um eine neue zu erstellen. Wenn Sie eine neue Rolle erstellen, wird die IAM-Roles-Konsolenseite auf 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 Basis-Image konfigurieren, das durch den Import erstellt wird.
General
-
Geben Sie einen eindeutigen Namen für das Basisimage an. Wenn Sie keinen Wert eingeben, erbt das Basis-Image den Rezeptnamen.
-
Geben Sie eine Version für das Basisimage 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 Architekturliste aus.
Verschlüsselung
Wenn Ihre VM-Festplattenimages verschlüsselt sind, müssen Sie einen Schlüssel angeben, den Sie für den Importvorgang verwenden können. 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 Zugriff hat.
Verwaltung der Lizenzen
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.
-
Bringen Sie Ihre eigene Lizenz (BYOL) mit — Behält gegebenenfalls die Lizenz Ihrer VM bei.
Um Lizenzkonfigurationen, die mit erstellt wurden, AWS License Manager an Ihr Basis-Image anzuhängen, wählen Sie aus der Liste der Lizenzkonfigurationsnamen aus. Weitere Informationen zum License Manager finden Sie unter Arbeiten mit Lizenzkonfigurationen im License Manager-Benutzerhandbuch.
Anmerkung
-
Lizenzkonfigurationen enthalten Lizenzregeln, die auf den Bedingungen Ihrer Unternehmensvereinbarungen basieren.
-
Linux unterstützt nur BYOL-Lizenzen.
Schlagworte (Basisimage)
Tags verwenden Schlüssel-Wert-Paare, um Ihrer Image Builder-Ressource durchsuchbaren Text zuzuweisen. Um Tags für das importierte Basisbild anzugeben, geben Sie Schlüssel-Wert-Paare in die Felder 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.