View a markdown version of this page

Erstellen Sie eine benutzerdefinierte Komponente mit 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.

Erstellen Sie eine benutzerdefinierte Komponente mit Image Builder

Nachdem Sie Ihr Komponentendokument fertiggestellt haben, können Sie es verwenden, um eine benutzerdefinierte Komponente zu erstellen, die Ihre Image Builder-Rezepte verwenden können. Sie können eine benutzerdefinierte Komponente von der Image Builder-Konsole, von der API oder den SDKs oder von der Befehlszeile aus erstellen. Weitere Informationen darüber, wie Sie eine benutzerdefinierte Komponente mit Eingabeparametern erstellen und sie in Ihren Rezepten verwenden, finden Sie unter Tutorial: Erstellen Sie eine benutzerdefinierte Komponente mit Eingabeparametern.

In den folgenden Abschnitten erfahren Sie, wie Sie Komponenten von der Konsole aus erstellen, AWS CLI, oder AWS -Tools für PowerShell.

Erstellen Sie eine benutzerdefinierte Komponente in der Konsole

Tipp

Jetzt können Sie mit KI erstellen. Weitere Informationen finden Sie unter Ressourcen mit KI erstellen und aktualisieren — Vorschau.

Um eine zu erstellen AWSTOE Gehen Sie in der Image Builder-Konsole wie folgt vor:

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

  2. Wählen Sie Komponenten aus dem Navigationsbereich. Wählen Sie dann Komponente erstellen.

  3. Auf der Komponente erstellen Seite, unter Einzelheiten zur Komponente, geben Sie Folgendes ein:

    1. Image-Betriebssystem (OS). Geben Sie das Betriebssystem an, mit dem die Komponente kompatibel ist.

    2. Kategorie der Komponente. Wählen Sie in der Dropdownliste den Typ der Build- oder Testkomponente aus, die Sie erstellen.

    3. Name der Komponente. Geben Sie einen Namen für die Komponente ein.

    4. Version der Komponente. Geben Sie die Versionsnummer der Komponente ein.

    5. Beschreibung. Geben Sie optional eine Beschreibung ein, die Ihnen bei der Identifizierung der Komponente hilft.

    6. Beschreibung ändern. Geben Sie eine optionale Beschreibung ein, damit Sie die an dieser Version der Komponente vorgenommenen Änderungen besser verstehen.

  4. In der Definitionsdokument Abschnitt, die Standardoption ist Definieren Sie den Inhalt des Dokuments. Das Komponentendokument definiert die Aktionen, die Image Builder auf den Build- und Testinstanzen ausführt, um Ihr Image zu erstellen.

    In der Inhalt Feld, geben Sie den Inhalt Ihres YAML-Komponentendokuments ein. Um mit einem zu beginnen Hallo Welt Beispiel für Linux, wählen Sie Verwenden Sie das Beispiel Option. Um mehr darüber zu erfahren, wie Sie ein YAML-Komponentendokument erstellen, oder um das zu kopieren und einzufügen OS aktualisieren Beispiel von dieser Seite, siehe Erstellen Sie ein YAML-Komponentendokument für benutzerdefinierte Komponenten in Image Builder.

  5. Nachdem Sie die Komponentendetails eingegeben haben, wählen Sie Komponente erstellen.

    Anmerkung

    Um Ihre neue Komponente zu sehen, wenn Sie ein Rezept erstellen oder aktualisieren, wenden Sie das an Gehört mir filtern Sie nach der Liste der Build- oder Testkomponenten. Der Filter befindet sich oben in der Komponentenliste neben dem Suchfeld.

  6. Um eine Komponente zu löschen, klicken Sie auf Komponenten Seite, aktivieren Sie das Kontrollkästchen neben der Komponente, die Sie löschen möchten. Aus dem Aktionen Dropdown, wählen Sie Komponente löschen.

Eine Komponente aktualisieren

Gehen Sie folgendermaßen vor, um eine neue Komponentenversion zu erstellen:

  1. Je nachdem, wo Sie anfangen:

    • Aus dem Komponenten Listenseite — Markieren Sie das Kontrollkästchen neben dem Komponentennamen und wählen Sie dann Neue Version erstellen aus dem Aktionen Speisekarte.

    • Auf der Detailseite der Komponente — Wählen Sie Neue Version erstellen Schaltfläche in der oberen rechten Ecke der Überschrift.

  2. Die Komponenteninformationen sind bereits mit den aktuellen Werten gefüllt, wenn Komponente erstellen Die Seite wird angezeigt. Folgen Sie den Schritten zum Erstellen einer Komponente, um die Komponente zu aktualisieren. Stellen Sie sicher, dass Sie eine eindeutige semantische Version in das Feld eingeben Version der Komponente. Weitere Informationen zur semantischen Versionierung für Image Builder-Ressourcen finden Sie unter Semantische Versionierung in Image Builder.

Erstellen Sie eine benutzerdefinierte Komponente aus dem AWS CLI

In diesem Abschnitt erfahren Sie, wie Sie Image Builder-Befehle einrichten und verwenden AWS CLI um eine zu erstellen AWSTOE Anwendungskomponente, wie folgt:

  • Laden Sie Ihr YAML-Komponentendokument in einen S3-Bucket hoch, auf den Sie von der Befehlszeile aus verweisen können.

  • Erstellen Sie das AWSTOE Anwendungskomponente mit dem create-component Befehl.

  • Listet die Versionen der Komponenten auf mit list-components Befehl und einen Namensfilter, um zu sehen, welche Versionen bereits existieren. Sie können die Ausgabe verwenden, um zu bestimmen, welche Version als Nächstes für Updates verwendet werden soll.

Um eine zu erstellen AWSTOE Folgen Sie für eine Anwendungskomponente aus einem YAML-Eingabedokument den Schritten, die zu Ihrer Image-Betriebssystemplattform passen.

Linux
Speichern Sie Ihr Dokument mit der Anwendungskomponente in Amazon S3

Sie können einen S3-Bucket als Repository für Ihre verwenden AWSTOE Quelldokument der Anwendungskomponente. Gehen Sie folgendermaßen vor, um Ihr Komponentendokument zu speichern:

  • Laden Sie das Dokument auf Amazon S3 hoch

    Wenn Ihr Dokument kleiner als 64 KB ist, können Sie diesen Schritt überspringen. Dokumente mit einer Größe von 64 KB oder mehr müssen in Amazon S3 gespeichert werden.

    aws s3 cp update-linux-os.yaml s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml
Erstellen Sie eine Komponente aus dem YAML-Dokument

Um das zu rationalisieren create-component Befehl, den Sie in der verwenden AWS CLI, erstellen Sie eine JSON-Datei, die alle Komponentenparameter enthält, die Sie an den Befehl übergeben möchten. Geben Sie den Standort der an update-linux-os.yaml Dokument, das Sie zuvor erstellt haben. Das uri Schlüssel-Wert-Paar enthält die Dateireferenz.

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 API-Befehlsanforderungsparameter finden Sie in der CreateComponent Befehl im EC2 Image Builder API-Referenz.

Um die Datenwerte als Befehlszeilenparameter bereitzustellen, beziehen Sie sich auf die Parameternamen, die in der AWS CLI Befehlsreferenz.

  1. Erstellen einer CLI-Eingabe-JSON-Datei

    Verwenden Sie ein Dateibearbeitungswerkzeug, um eine Datei mit dem Namen zu erstellen create-update-linux-os-component.json. Fügen Sie den folgenden Inhalt hinzu:

    { "name": "update-linux-os", "semanticVersion": "1.1.2", "description": "An example component that updates the Linux operating system", "changeDescription": "Initial version.", "platform": "Linux", "uri": "s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "tags": { "my-tag-key-purpose": "security-updates" } }
  2. Erstellen Sie die Komponente

    Verwenden Sie den folgenden Befehl, um die Komponente zu erstellen, und verweisen Sie dabei auf den Dateinamen der JSON-Datei, die Sie im vorherigen Schritt erstellt haben:

    aws imagebuilder create-component --cli-input-json file://create-update-linux-os-component.json
    Anmerkung
    • Sie müssen diefile://-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 umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, während Linux und macOS den Schrägstrich (/) verwenden.

Windows
Speichern Sie Ihr Anwendungskomponentendokument in Amazon S3

Sie können einen S3-Bucket als Repository für Ihre verwenden AWSTOE Quelldokument der Anwendungskomponente. Gehen Sie folgendermaßen vor, um Ihr Komponentendokument zu speichern:

  • Laden Sie das Dokument auf Amazon S3 hoch

    Wenn Ihr Dokument kleiner als 64 KB ist, können Sie diesen Schritt überspringen. Dokumente mit einer Größe von 64 KB oder mehr müssen in Amazon S3 gespeichert werden.

    aws s3 cp update-windows-os.yaml s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml
Erstellen Sie eine Komponente aus dem YAML-Dokument

Um das zu rationalisieren create-component Befehl, den Sie in der verwenden AWS CLI, erstellen Sie eine JSON-Datei, die alle Komponentenparameter enthält, die Sie an den Befehl übergeben möchten. Geben Sie den Standort der an update-windows-os.yaml Dokument, das Sie zuvor erstellt haben. Das uri Schlüssel-Wert-Paar enthält die Dateireferenz.

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 API-Befehlsanforderungsparameter finden Sie in der CreateComponent Befehl im EC2 Image Builder API-Referenz.

Um die Datenwerte als Befehlszeilenparameter bereitzustellen, beziehen Sie sich auf die Parameternamen, die in der AWS CLI Befehlsreferenz..

  1. Erstellen einer CLI-Eingabe-JSON-Datei

    Verwenden Sie ein Dateibearbeitungsprogramm, um eine Datei mit dem Namen zu erstellen create-update-windows-os-component.json. Fügen Sie den folgenden Inhalt hinzu:

    { "name": "update-windows-os", "semanticVersion": "1.1.2", "description": "An example component that updates the Windows operating system.", "changeDescription": "Initial version.", "platform": "Windows", "uri": "s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "tags": { "my-tag-key-purpose": "security-updates" } }
    Anmerkung
    • Sie müssen diefile://-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 umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, während Linux und macOS den Schrägstrich (/) verwenden.

  2. Erstellen Sie die Komponente

    Verwenden Sie den folgenden Befehl, um die Komponente zu erstellen, und verweisen Sie dabei auf den Dateinamen der JSON-Datei, die Sie im vorherigen Schritt erstellt haben:

    aws imagebuilder create-component --cli-input-json file://create-update-windows-os-component.json
    Anmerkung
    • Sie müssen diefile://-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 umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, während Linux und macOS den Schrägstrich (/) verwenden.

macOS
Speichern Sie Ihr Anwendungskomponentendokument in Amazon S3

Sie können einen S3-Bucket als Repository für Ihre verwenden AWSTOE Quelldokument der Anwendungskomponente. Gehen Sie folgendermaßen vor, um Ihr Komponentendokument zu speichern:

  • Laden Sie das Dokument auf Amazon S3 hoch

    Wenn Ihr Dokument kleiner als 64 KB ist, können Sie diesen Schritt überspringen. Dokumente mit einer Größe von 64 KB oder mehr müssen in Amazon S3 gespeichert werden.

    aws s3 cp wget-macos.yaml s3://amzn-s3-demo-destination-bucket/my-path/wget-macos.yaml
Erstellen Sie eine Komponente aus dem YAML-Dokument

Um das zu rationalisieren create-component Befehl, den Sie in der verwenden AWS CLI, erstellen Sie eine JSON-Datei, die alle Komponentenparameter enthält, die Sie an den Befehl übergeben möchten. Geben Sie den Standort der an wget-macos.yaml Dokument, das Sie zuvor erstellt haben. Das uri Schlüssel-Wert-Paar enthält die Dateireferenz.

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 zu den API-Befehlsanforderungsparametern finden Sie in der CreateComponent Befehl in der EC2 Image Builder API-Referenz.

Um die Datenwerte als Befehlszeilenparameter bereitzustellen, beziehen Sie sich auf die Parameternamen, die in der AWS CLI Befehlsreferenz.

  1. Erstellen einer CLI-Eingabe-JSON-Datei

    Verwenden Sie ein Dateibearbeitungswerkzeug, um eine Datei mit dem Namen zu erstellen install-wget-macos-component.json. Fügen Sie den folgenden Inhalt hinzu:

    { "name": "install-wget-macos-component", "semanticVersion": "1.1.2", "description": "An example component that installs and verifies the wget utility on macOS.", "changeDescription": "Initial version.", "platform": "macOS", "uri": "s3://amzn-s3-demo-destination-bucket/my-path/wget-macos.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "tags": { "my-tag-key-purpose": "install-software" } }
  2. Erstellen Sie die Komponente

    Verwenden Sie den folgenden Befehl, um die Komponente zu erstellen, und verweisen Sie dabei auf den Dateinamen der JSON-Datei, die Sie im vorherigen Schritt erstellt haben:

    aws imagebuilder create-component --cli-input-json file://install-wget-macos-component.json
    Anmerkung
    • Sie müssen diefile://-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 umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, während Linux und macOS den Schrägstrich (/) verwenden.

AWSTOE Versionierung von Komponenten für Updates

AWSTOE Komponentennamen und Versionen sind nach dem Komponentenpräfix in den Amazon-Ressourcennamen (ARN) der Komponente eingebettet. Jede neue Version einer Komponente hat ihren eigenen eindeutigen ARN. Die Schritte zum Erstellen einer neuen Version sind genau die gleichen wie die Schritte zum Erstellen einer neuen Komponente, sofern die semantische Version für diesen Komponentennamen eindeutig ist. Weitere Informationen zur semantischen Versionierung für Image Builder-Ressourcen finden Sie unter Semantische Versionierung in Image Builder.

Um sicherzustellen, dass Sie die nächste logische Version zuweisen, rufen Sie zunächst eine Liste der vorhandenen Versionen für die Komponente ab, die Sie ändern möchten.

AWS CLI

Verwenden Sie die list-components Befehl mit dem AWS CLI, und filtern Sie nach dem Namen.

In diesem Beispiel filtern Sie nach dem Namen der Komponente, die Sie in den vorherigen Linux-Beispielen erstellt haben. Um die Komponente aufzulisten, die Sie erstellt haben, verwenden Sie den Wert von name Parameter aus der JSON-Datei, die Sie in der verwendet haben create-component Befehl:

aws imagebuilder list-components --filters name="name",values="update-linux-os" { "requestId": "123a4567-b890-123c-45d6-ef789ab0cd1e", "componentVersionList": [ { "arn": "arn:aws:imagebuilder:us-west-2:111122223333:component/update-linux-os/1.0.0", "name": "update-linux-os", "version": "1.0.0", "platform": "Linux", "type": "BUILD", "owner": "111122223333", "dateCreated": "2020-09-24T16:58:24.444Z" }, { "arn": "arn:aws:imagebuilder:us-west-2:111122223333:component/update-linux-os/1.0.1", "name": "update-linux-os", "version": "1.0.1", "platform": "Linux", "type": "BUILD", "owner": "111122223333", "dateCreated": "2021-07-10T03:38:46.091Z" } ] }
PowerShell

Benutze den Get-EC2IBComponentList Cmdlet mit dem Filter Parameter und Filter nach dem Namen.

In diesem Beispiel filtern Sie nach dem Namen der Linux-Komponente, die Sie in erstellt haben Erstellen Sie eine benutzerdefinierte Komponente aus AWS -Tools für PowerShell. Um die Komponente aufzulisten, die Sie erstellt haben, verwenden Sie den Wert von Name Parameter, den Sie mit dem verwendet haben New-EC2IBComponent Cmdlet:

Get-EC2IBComponentList -Filter @{Name="name";Values="update-linux-os"}

Das Cmdlet gibt ein Objekt für jede Version der Komponente zurück. Jedes Objekt enthält die Komponente Arn, Name, Version, Platform, Type, Owner, und DateCreated.

Basierend auf Ihren Ergebnissen können Sie bestimmen, wie die nächste Version aussehen soll.

Erstellen Sie eine benutzerdefinierte Komponente aus AWS -Tools für PowerShell

In diesem Abschnitt erfahren Sie, wie Sie Image Builder-Cmdlets verwenden AWS -Tools für PowerShell um eine zu erstellen AWSTOE Anwendungskomponente, wie folgt:

  • Laden Sie Ihr YAML-Komponentendokument in einen S3-Bucket hoch mit dem Write-S3Object Cmdlet.

  • Erstellen Sie das AWSTOE Anwendungskomponente mit New-EC2IBComponent Cmdlet.

  • Listen Sie die Komponentenversionen mit dem auf Get-EC2IBComponentList Cmdlet und ein Namensfilter, um zu sehen, welche Versionen bereits existieren. Anhand der Ergebnisse können Sie ermitteln, welche Version als Nächstes für Updates verwendet werden soll. Weitere Informationen finden Sie unter AWSTOE Versionierung von Komponenten für Updates.

Die New-EC2IBComponent Das Cmdlet verwendet jede Komponenteneinstellung als separaten Parameter, sodass Sie keine JSON-Eingabedatei benötigen. Jedes Beispiel in diesem Abschnitt verwendet dieselben Werte wie das entsprechende Plattformbeispiel in Erstellen Sie eine benutzerdefinierte Komponente aus dem AWS CLI.

Anmerkung

Die meisten Cmdlet-Parameternamen entsprechen den Anforderungsparametern des Image Builder-API-Vorgangs, im Pascal-Fall. Zum Beispiel semanticVersion wird SemanticVersion, und kmsKeyId wird KmsKeyId. Das Tag Der Parameter benötigt eine Hashtabelle mit Tag-Schlüsseln und -Werten. Informationen zur Überprüfung der API-Anforderungsparameter finden Sie in der CreateComponent Operation in der EC2 Image Builder API-Referenz.

Um eine zu erstellen AWSTOE Folgen Sie für eine Anwendungskomponente aus einem YAML-Eingabedokument den Schritten, die zu Ihrer Image-Betriebssystemplattform passen.

Linux
Speichern Sie Ihr Dokument mit der Anwendungskomponente in Amazon S3

Sie können einen S3-Bucket als Repository für Ihre verwenden AWSTOE Quelldokument der Anwendungskomponente. Gehen Sie folgendermaßen vor, um Ihr Komponentendokument zu speichern:

  • Laden Sie das Dokument auf Amazon S3 hoch

    Wenn Ihr Dokument kleiner als 64 KB ist, können Sie diesen Schritt überspringen. Dokumente mit einer Größe von 64 KB oder mehr müssen in Amazon S3 gespeichert werden.

    Um das Dokument hochzuladen, führen Sie den Befehl aus Write-S3Object Cmdlet:

    Write-S3Object -BucketName amzn-s3-demo-destination-bucket ` -Key my-path/update-linux-os.yaml ` -File update-linux-os.yaml
Erstellen Sie eine Komponente aus dem YAML-Dokument

Verwenden Sie das Uri Parameter, um auf den zu verweisen update-linux-os.yaml Dokument, das Sie zuvor hochgeladen haben.

  • Erstellen Sie die Komponente

    Um die Komponente zu erstellen, führen Sie den New-EC2IBComponent Cmdlet:

    New-EC2IBComponent -Name update-linux-os ` -SemanticVersion 1.1.2 ` -Description "An example component that updates the Linux operating system" ` -ChangeDescription "Initial version." ` -Platform Linux ` -Uri s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml ` -KmsKeyId arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ` -Tag @{ "my-tag-key-purpose" = "security-updates" }
Windows
Speichern Sie Ihr Dokument mit der Anwendungskomponente in Amazon S3

Sie können einen S3-Bucket als Repository für Ihre verwenden AWSTOE Quelldokument der Anwendungskomponente. Gehen Sie folgendermaßen vor, um Ihr Komponentendokument zu speichern:

  • Laden Sie das Dokument auf Amazon S3 hoch

    Wenn Ihr Dokument kleiner als 64 KB ist, können Sie diesen Schritt überspringen. Dokumente mit einer Größe von 64 KB oder mehr müssen in Amazon S3 gespeichert werden.

    Um das Dokument hochzuladen, führen Sie den Befehl aus Write-S3Object Cmdlet:

    Write-S3Object -BucketName amzn-s3-demo-destination-bucket ` -Key my-path/update-windows-os.yaml ` -File update-windows-os.yaml
Erstellen Sie eine Komponente aus dem YAML-Dokument

Verwenden Sie das Uri Parameter, um auf den zu verweisen update-windows-os.yaml Dokument, das Sie zuvor hochgeladen haben.

  • Erstellen Sie die Komponente

    Um die Komponente zu erstellen, führen Sie den New-EC2IBComponent Cmdlet:

    New-EC2IBComponent -Name update-windows-os ` -SemanticVersion 1.1.2 ` -Description "An example component that updates the Windows operating system." ` -ChangeDescription "Initial version." ` -Platform Windows ` -Uri s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml ` -KmsKeyId arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ` -Tag @{ "my-tag-key-purpose" = "security-updates" }
macOS
Speichern Sie Ihr Dokument mit der Anwendungskomponente in Amazon S3

Sie können einen S3-Bucket als Repository für Ihre verwenden AWSTOE Quelldokument der Anwendungskomponente. Gehen Sie folgendermaßen vor, um Ihr Komponentendokument zu speichern:

  • Laden Sie das Dokument auf Amazon S3 hoch

    Wenn Ihr Dokument kleiner als 64 KB ist, können Sie diesen Schritt überspringen. Dokumente mit einer Größe von 64 KB oder mehr müssen in Amazon S3 gespeichert werden.

    Um das Dokument hochzuladen, führen Sie den Befehl aus Write-S3Object Cmdlet:

    Write-S3Object -BucketName amzn-s3-demo-destination-bucket ` -Key my-path/wget-macos.yaml ` -File wget-macos.yaml
Erstellen Sie eine Komponente aus dem YAML-Dokument

Verwenden Sie das Uri Parameter, um auf den zu verweisen wget-macos.yaml Dokument, das Sie zuvor hochgeladen haben.

  • Erstellen Sie die Komponente

    Um die Komponente zu erstellen, führen Sie den New-EC2IBComponent Cmdlet:

    New-EC2IBComponent -Name install-wget-macos-component ` -SemanticVersion 1.1.2 ` -Description "An example component that installs and verifies the wget utility on macOS." ` -ChangeDescription "Initial version." ` -Platform macOS ` -Uri s3://amzn-s3-demo-destination-bucket/my-path/wget-macos.yaml ` -KmsKeyId arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 ` -Tag @{ "my-tag-key-purpose" = "install-software" }

Importieren Sie ein Skript, um eine Komponente zu erstellen

In einigen Szenarien ist es möglicherweise einfacher, mit einem bereits vorhandenen Skript zu beginnen. Für dieses Szenario können Sie das folgende Beispiel verwenden.

In diesem Beispiel wird ein verwendet PowerShell Skript namens admin-config.ps1 auf das du schon hochgeladen hast amzn-s3-demo-source-bucket. Derzeit ist das einzige unterstützte Komponentenformat SHELL.

AWS CLI

In diesem Beispiel wird davon ausgegangen, dass Sie eine Datei mit dem Namen haben import-component.json. Die Datei enthält Folgendes:

{ "name": "my-imported-component", "semanticVersion": "1.0.0", "description": "An example of how to import a component", "changeDescription": "First commit message.", "format": "SHELL", "platform": "Windows", "type": "BUILD", "uri": "s3://amzn-s3-demo-source-bucket/admin-config.ps1", "kmsKeyId": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222" }

Führen Sie den folgenden Befehl aus, um die Komponente aus einem importierten Skript zu erstellen:

aws imagebuilder import-component --cli-input-json file://import-component.json
PowerShell

In diesem Beispiel werden dieselben Werte verwendet wie AWS CLI Beispiel. Werkzeuge für PowerShell benötigt keine JSON-Eingabedatei. Stattdessen ist jeder JSON-Schlüssel ein Cmdlet-Parameter. Zum Beispiel semanticVersion wird SemanticVersion, und uri wird Uri.

Um die Komponente aus einem importierten Skript zu erstellen, führen Sie den Import-EC2IBComponent Cmdlet:

Import-EC2IBComponent -Name my-imported-component ` -SemanticVersion 1.0.0 ` -Description "An example of how to import a component" ` -ChangeDescription "First commit message." ` -Format SHELL ` -Platform Windows ` -Type BUILD ` -Uri s3://amzn-s3-demo-source-bucket/admin-config.ps1 ` -KmsKeyId arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222

Automatische Verwaltung der Build-Versionen

Wenn Sie eine Komponente mit demselben Namen und derselben semantischen Version wie eine vorhandene Komponente erstellen, erhöht Image Builder automatisch die Build-Version (z. B. von /1 zu /2, zu /3, und so weiter). Auf diese Weise können Sie Ihre Komponenten iterativ aktualisieren, ohne die Versionsnummern manuell verwalten zu müssen. Dies ist besonders nützlich in CI/CD Pipelines und Infrastructure-as-Code-Bereitstellungen. Wenn der Inhalt der Komponente mit der vorherigen Build-Version identisch ist, kehrt Image Builder zurück ResourceAlreadyExistsException um zu verhindern, dass doppelte Komponenten Ihr Dienstkontingent beanspruchen.

Verwenden von Versionsreferenzen

Wenn Sie eine Komponente erstellen oder abrufen, stellt Image Builder automatisch vorkonstruierte ARNs mit Platzhalter-Versionsmustern in der neuesten Version bereitVersionReferences Objekt. Diese Referenzen machen es einfach, die neuesten Versionen Ihrer Komponenten in Rezepten und Pipelines zu verwenden, ohne ARNs manuell analysieren zu müssen.

Wählen Sie die richtige Versionsreferenz

In der folgenden Liste wird beschrieben, wann die einzelnen Versionsreferenzen verwendet werden sollten:

  • neuesteVersionArn (x.x.x) - Verwenden Sie immer die absolut neueste Komponentenversion.

  • neuesteMajorVersionArn (1.x.x) - Verwenden Sie die neuesten Neben- und Patch-Versionen innerhalb einer Hauptversion.

  • neuesteMinorVersionArn (1.2.x) - Verwenden Sie nur die neueste Patch-Version.

  • neuestePatchVersionArn (1.2.3) - Verweisen Sie auf eine bestimmte semantische Version, aber holen Sie sich die neueste Build-Version.