AMI-Verteilungskonfigurationen erstellen und aktualisieren - 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.

AMI-Verteilungskonfigurationen erstellen und aktualisieren

In diesem Abschnitt wird das Erstellen und Aktualisieren von Verteilungskonfigurationen für ein Image Builder Builder-AMI behandelt.

Erstellen Sie eine AMI-Verteilungskonfiguration von der Konsole aus

Zu den Verteilungskonfigurationen gehören der Name des Ausgabe-AMIs, spezifische Regionseinstellungen für die Verschlüsselung, Startberechtigungen und AWS-Konten Organisationen und Organisationseinheiten (OUs), die das Ausgabe-AMI starten können, sowie Lizenzkonfigurationen.

So erstellen Sie eine neue AMI-Verteilungskonfiguration:
  1. Öffnen Sie die EC2 Image Builder-Konsole unter https://console.aws.amazon.com/imagebuilder/.

  2. Wählen Sie im Navigationsbereich die Option Verteilungseinstellungen aus. Daraufhin wird eine Liste der Verteilungskonfigurationen angezeigt, die unter Ihrem Konto erstellt wurden.

  3. Wählen Sie oben im Bereich Verteilungseinstellungen die Option Verteilungseinstellungen erstellen aus.

  4. Wählen Sie im Abschnitt Image-Typ den Ausgabetyp Amazon Machine Image (AMI) aus.

  5. Geben Sie im Abschnitt Allgemein einen Namen für Ihre Distributionskonfiguration und optional eine Beschreibung ein.

  6. Geben Sie im Abschnitt Regionseinstellungen die folgenden Details für jede Region ein, in der Sie Ihr AMI verteilen:

    1. Das AMI wird standardmäßig auf die aktuelle Region (Region 1) verteilt. Region 1 ist die Quelle für die Verteilung. Einige Einstellungen für Region 1 können nicht bearbeitet werden. Für alle Regionen, die Sie hinzufügen, können Sie eine Region aus der Dropdownliste Region auswählen.

      Der Kms-Schlüssel identifiziert den AWS KMS key , der zur Verschlüsselung der EBS-Volumes für Ihr Image in der Zielregion verwendet wird. Es ist wichtig zu beachten, dass dies nicht für das ursprüngliche AMI gilt, das der Build unter Ihrem Konto in der Quellregion (Region 1) erstellt. 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.

      Um die EBS-Volumes für das AMI zu verschlüsseln, das in der Quellregion für Ihr Konto erstellt wurde, müssen Sie den KMS-Schlüssel in der Image-Rezeptblock-Gerätezuordnung (Speicher (Volumes) in der Konsole) festlegen.

      Image Builder kopiert das AMI auf die Target-Konten, die Sie für die Region angeben.

      Voraussetzung

      Um ein Image kontenübergreifend zu kopieren, müssen Sie die EC2ImageBuilderDistributionCrossAccountRole Rolle in allen Übergabezielkonten erstellen und die Ec2ImageBuilderCrossAccountDistributionAccess-Richtlinie verwaltete Richtlinie an die Rolle anhängen.

      Der Name des Ausgabe-AMIs ist optional. Wenn Sie einen Namen angeben, enthält der endgültige Ausgabe-AMI-Name einen angehängten Zeitstempel, der angibt, wann das AMI erstellt wurde. Wenn Sie keinen Namen angeben, hängt Image Builder den Build-Zeitstempel an den Rezeptnamen an. Dadurch werden eindeutige AMI-Namen für jeden Build gewährleistet.

      1. Mit AMI-Sharing können Sie bestimmten AWS Principals Zugriff gewähren, um Instances von Ihrem AMI aus zu starten. Wenn Sie den Abschnitt AMI-Sharing erweitern, können Sie die folgenden Details eingeben:

        • Startberechtigungen — Wählen Sie Privat aus, wenn Sie Ihr AMI privat halten und bestimmten AWS Principals Zugriff gewähren möchten, um eine Instance von Ihrem privaten AMI aus zu starten. Wählen Sie Öffentlich aus, wenn Sie Ihr AMI veröffentlichen möchten. Jeder AWS Principal kann eine Instance von Ihrem öffentlichen AMI aus starten.

        • Principals — Sie können den folgenden AWS Principal-Typen Zugriff gewähren, um Instances zu starten:

          • AWS Konto — Gewähren Sie Zugriff auf ein bestimmtes Konto AWS

          • Organisationseinheit (OU) — Gewähren Sie Zugriff auf eine Organisationseinheit und all ihre untergeordneten Entitäten. Zu den untergeordneten Entitäten gehören Organisationseinheiten und AWS Konten.

          • Organisation — Gewähren Sie Zugriff auf Ihre AWS Organizations und alle untergeordneten Entitäten. Zu den untergeordneten Entitäten gehören Organisationseinheiten und AWS Konten.

            Wählen Sie zunächst den Prinzipaltyp aus. Geben Sie dann die ID für den AWS Principal, dem Sie Zugriff gewähren möchten, in das Feld rechts neben der Dropdownliste ein. Sie können mehrere IDs unterschiedlichen Typs eingeben.

      2. Sie können den Abschnitt Lizenzkonfiguration erweitern, um Lizenzkonfigurationen, die mit erstellt wurden AWS License Manager , an Ihre Image Builder Builder-Images anzuhängen. Lizenzkonfigurationen enthalten Lizenzregeln, die auf den Bedingungen Ihrer Unternehmensvereinbarungen basieren. Image Builder schließt automatisch Lizenzkonfigurationen ein, die mit Ihrem Basis-AMI verknüpft waren.

      3. Sie können den Abschnitt Konfiguration der Startvorlage erweitern, um eine EC2-Startvorlage anzugeben, die zum Starten von Instances über das von Ihnen erstellte AMI verwendet werden soll.

        Wenn Sie eine EC2-Startvorlage verwenden, können Sie Image Builder anweisen, nach Abschluss des Builds eine neue Version Ihrer Startvorlage zu erstellen, die die neueste AMI-ID enthält. Um die Startvorlage zu aktualisieren, konfigurieren Sie die Einstellungen wie folgt:

        • Name der Startvorlage — Wählen Sie den Namen der Startvorlage aus, die Image Builder aktualisieren soll.

        • Standardversion festlegen — Aktivieren Sie dieses Kontrollkästchen, um die Standardversion der Startvorlage auf die neue Version zu aktualisieren.

        Um eine weitere Startvorlagenkonfiguration hinzuzufügen, wählen Sie Startvorlagenkonfiguration hinzufügen. Sie können bis zu fünf Startvorlagenkonfigurationen pro Region einrichten.

    2. Um Vertriebseinstellungen für eine andere Region hinzuzufügen, wählen Sie Region hinzufügen.

  7. Wählen Sie Einstellungen erstellen, wenn Sie fertig sind.

Erstellen Sie Verteilungseinstellungen für Ausgabe-AMIs aus dem AWS CLI

Eine Verteilungskonfiguration ermöglicht es Ihnen, den Namen und die Beschreibung Ihres Ausgabe-AMI anzugeben, andere AWS-Konten zum Starten des AMI zu autorisieren, das AMI auf andere Konten zu kopieren und das AMI in andere AWS Regionen zu replizieren. Außerdem können Sie das AMI nach Amazon Simple Storage Service (Amazon S3) exportieren oder EC2 Fast Launch für die Ausgabe von Windows-AMIs konfigurieren. Um ein AMI öffentlich zu machen, setzen Sie die Startberechtigung für autorisierte Konten auf all. Sehen Sie sich die Beispiele für die Veröffentlichung eines AMI auf EC2 ModifyImageAttribute an.

Das folgende Beispiel zeigt, wie Sie den create-distribution-configuration Befehl verwenden, um eine neue Verteilungskonfiguration für Ihr AMI zu erstellen, indem Sie den verwenden AWS CLI.

  1. Erstellen einer CLI-Eingabe-JSON-Datei

    Verwenden Sie ein Tool zur Dateibearbeitung, um eine JSON-Datei mit Schlüsseln, die in einem der folgenden Beispiele gezeigt werden, und Werten, die für Ihre Umgebung gültig sind, zu erstellen. In diesen Beispielen wird definiert AWS-Konten, welche AWS Organizations oder welche Organisationseinheiten (OUs) berechtigt sind, das AMI zu starten, das Sie an die angegebenen Regionen verteilen. Benennen Sie die Dateicreate-ami-distribution-configuration.json, die im nächsten Schritt verwendet werden soll:

    Accounts

    In diesem Beispiel wird ein AMI auf zwei Regionen verteilt und angegeben AWS-Konten , welche Regionen über Startberechtigungen verfügen.

    { "name": "MyExampleAccountDistribution", "description": "Copies AMI to eu-west-1, and specifies accounts that can launch instances in each Region.", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "name": "Name {{imagebuilder:buildDate}}", "description": "An example image name with parameter references", "amiTags": { "KeyName": "Some Value" }, "launchPermission": { "userIds": [ "987654321012" ] } } }, { "region": "eu-west-1", "amiDistributionConfiguration": { "name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}", "amiTags": { "KeyName": "Some value" }, "launchPermission": { "userIds": [ "100000000001" ] } } } ] }
    Organizations and OUs

    In diesem Beispiel wird ein AMI an die Quellregion verteilt und die Startberechtigungen für Organisationen und Organisationseinheiten angegeben.

    { "name": "MyExampleAWSOrganizationDistribution", "description": "Shares AMI with the Organization and OU", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "name": "Name {{ imagebuilder:buildDate }}", "launchPermission": { "organizationArns": [ "arn:aws:organizations::123456789012:organization/o-myorganization123" ], "organizationalUnitArns": [ "arn:aws:organizations::123456789012:ou/o-123example/ou-1234-myorganizationalunit" ] } } } ] }
  2. Führen Sie den folgenden Befehl aus, indem Sie die Datei verwenden, die Sie als Eingabe erstellt haben.
    aws imagebuilder create-distribution-configuration --cli-input-json file://create-ami-distribution-configuration.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. Windows verwendet beispielsweise den umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, und Linux verwendet den Schrägstrich (/).

    Ausführlichere Informationen finden Sie create-distribution-configuration in der AWS CLI Befehlsreferenz.

Aktualisieren Sie die AMI-Verteilungseinstellungen von der Konsole aus

Sie können Ihre AMI-Verteilungseinstellungen mit der Image Builder Builder-Konsole ändern. Die aktualisierten Verteilungseinstellungen werden künftig für alle automatisierten und manuellen Pipeline-Bereitstellungen verwendet. Die Änderungen, die Sie vornehmen, gelten jedoch nicht für Ressourcen, die Image Builder bereits verteilt hat. Wenn Sie beispielsweise ein AMI an eine Region verteilt haben, das Sie später aus Ihrer Distribution entfernen, verbleibt das bereits verteilte AMI in dieser Region, bis Sie es manuell entfernen.

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

  2. Wählen Sie im Navigationsbereich die Option Verteilungseinstellungen aus. Daraufhin wird eine Liste der Verteilungskonfigurationen angezeigt, die unter Ihrem Konto erstellt wurden.

  3. Um Details anzuzeigen oder eine Verteilungskonfiguration zu aktualisieren, wählen Sie den Link „Konfigurationsname“. Dadurch wird die Detailansicht für die Verteilungseinstellungen geöffnet.

    Anmerkung

    Sie können auch das Kontrollkästchen neben dem Namen der Konfiguration aktivieren und dann Details anzeigen auswählen.

  4. Um die Verteilungskonfiguration zu bearbeiten, wählen Sie in der oberen rechten Ecke des Abschnitts Verteilungsdetails die Option Bearbeiten aus. Einige Felder sind gesperrt, z. B. der Name der Verteilungskonfiguration und die Standardregion, die als Region 1 angezeigt wird. Weitere Informationen zu den Einstellungen für die Verteilungskonfiguration finden Sie unterErstellen Sie eine AMI-Verteilungskonfiguration von der Konsole aus.

  5. Wählen Sie abschließend Änderungen speichern aus.

Erstellen Sie Verteilungseinstellungen für ein Windows-AMI mit aktiviertem EC2 Fast Launch über AWS CLI

Das folgende Beispiel zeigt, wie Sie den create-distribution-configuration Befehl verwenden, um Verteilungseinstellungen zu erstellen, für die EC2 Fast Launch für Ihr AMI konfiguriert ist, aus dem AWS CLI.

Anmerkung

Image Builder unterstützt keine kontoübergreifende Verteilung für AMIs, für die EC2 Fast Launch vorab aktiviert ist. EC2 Fast Launch muss vom Zielkonto aus aktiviert werden.

  1. Erstellen einer CLI-Eingabe-JSON-Datei

    Verwenden Sie ein Dateibearbeitungstool, um eine JSON-Datei mit Schlüsseln zu erstellen, wie im folgenden Beispiel gezeigt, plus Werten, die für Ihre Umgebung gültig sind.

    In diesem Beispiel werden Instances für alle Zielressourcen gleichzeitig gestartet, da die maximale Anzahl parallel Starts größer ist als die Anzahl der Zielressourcen. Diese Datei ist ami-dist-config-win-fast-launch.json in dem Befehlsbeispiel benannt, das im nächsten Schritt gezeigt wird.

    { "name": "WinFastLaunchDistribution", "description": "An example of Windows AMI EC2 Fast Launch settings in the distribution configuration.", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "name": "Name {{imagebuilder:buildDate}}", "description": "Includes Windows AMI EC2 Fast Launch settings.", "amiTags": { "KeyName": "Some Value" } }, "fastLaunchConfigurations": [{ "enabled": true, "snapshotConfiguration": { "targetResourceCount": 5 }, "maxParallelLaunches": 6, "launchTemplate": { "launchTemplateId": "lt-0ab1234c56d789012", "launchTemplateVersion": "1" } }], "launchTemplateConfigurations": [{ "launchTemplateId": "lt-0ab1234c56d789012", "setDefaultVersion": true }] }] }
    Anmerkung

    Sie können launchTemplateName statt des launchTemplateId im launchTemplate Abschnitt angeben, aber Sie können nicht gleichzeitig den Namen und die ID angeben.

  2. Führen Sie den folgenden Befehl aus, indem Sie die Datei verwenden, die Sie als Eingabe erstellt haben.
    aws imagebuilder create-distribution-configuration --cli-input-json file://ami-dist-config-win-fast-launch.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. Windows verwendet beispielsweise den umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, und Linux verwendet den Schrägstrich (/).

    Ausführlichere Informationen finden Sie create-distribution-configuration in der AWS CLI Befehlsreferenz.

Erstellen Sie Verteilungseinstellungen für Ausgabe-VM-Festplatten aus dem AWS CLI

Das folgende Beispiel zeigt, wie Sie den create-distribution-configuration Befehl verwenden, um Verteilungseinstellungen zu erstellen, die VM-Image-Festplatten bei jedem Image-Build nach Amazon S3 exportieren.

  1. Erstellen einer CLI-Eingabe-JSON-Datei

    Sie können den create-distribution-configuration Befehl, den Sie in der verwenden, rationalisieren. AWS CLI Erstellen Sie dazu eine JSON-Datei, die die gesamte Exportkonfiguration enthält, die Sie an den Befehl übergeben möchten.

    Anmerkung

    Die Benennungskonvention für die Datenwerte in der JSON-Datei folgt dem Muster, das für die Aktionsanforderungsparameter der Image Builder Builder-API angegeben ist. Informationen zu den API-Befehlsanforderungsparametern finden Sie unter dem CreateDistributionConfiguration Befehl in der EC2 Image Builder API-Referenz.

    Informationen zur Bereitstellung der Datenwerte als Befehlszeilenparameter finden Sie in den Parameternamen, die in der AWS CLI Befehlsreferenz angegeben sind. Zum create-distribution-configuration Befehl als Optionen.

    Im Folgenden finden Sie eine Zusammenfassung der Parameter, die wir im s3ExportConfiguration JSON-Objekt für dieses Beispiel angeben:

    • roleName (string, erforderlich) — Der Name der Rolle, die VM Import/Export-Berechtigungen zum Exportieren von Bildern in Ihren S3-Bucket erteilt.

    • diskImageFormat(string, erforderlich) — Exportiert das aktualisierte Festplatten-Image in eines der folgenden unterstützten Formate:

      • Virtuelle Festplatte (VHD) — kompatibel mit Citrix Xen- und Microsoft Hyper-V-Virtualisierungsprodukten.

      • Stream-optimierte ESX Virtual Machine Disk (VMDK) — kompatibel mit den Versionen 4, 5 und 6 von VMware ESX und VMware vSphere.

      • Raw — Rohformat.

    • s3Bucket (string, erforderlich) — Der S3-Bucket, in dem die ausgegebenen Disk-Images für Ihre VM gespeichert werden sollen.

    Speichern Sie die Datei als export-vm-disks.json. Verwenden Sie den Dateinamen im Befehlcreate-distribution-configuration.

    { "name": "example-distribution-configuration-with-vm-export", "description": "example", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "description": "example-with-vm-export" }, "s3ExportConfiguration": { "roleName": "vmimport", "diskImageFormat": "RAW", "s3Bucket": "vm-bucket-export" } }], "clientToken": "abc123def4567ab" }
  2. Führen Sie den folgenden Befehl aus, indem Sie die Datei verwenden, die Sie als Eingabe erstellt haben.
    aws imagebuilder create-distribution-configuration --cli-input-json file://export-vm-disks.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. Windows verwendet beispielsweise den umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, und Linux verwendet den Schrägstrich (/).

    Ausführlichere Informationen finden Sie create-distribution-configuration in der AWS CLI Befehlsreferenz.

Aktualisieren Sie die AMI-Verteilungseinstellungen von AWS CLI

Das folgende Beispiel zeigt, wie Sie den update-distribution-configuration Befehl verwenden, um die Verteilungseinstellungen für Ihr AMI zu aktualisieren, indem Sie den AWS CLI.

  1. Erstellen einer CLI-Eingabe-JSON-Datei

    Verwenden Sie Ihr bevorzugtes Dateibearbeitungstool, um eine JSON-Datei mit den im folgenden Beispiel gezeigten Schlüsseln sowie Werten zu erstellen, die für Ihre Umgebung gültig sind. In diesem Beispiel wird eine Datei mit dem Namen verwendet. update-ami-distribution-configuration.json

    { "distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/update-ami-distribution-configuration.json", "description": "Copies AMI to eu-west-2, and specifies accounts that can launch instances in each Region.", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "name": "Name {{imagebuilder:buildDate}}", "description": "An example image name with parameter references", "launchPermissions": { "userIds": [ "987654321012" ] } } }, { "region": "eu-west-2", "amiDistributionConfiguration": { "name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}", "tags": { "KeyName": "Some value" }, "launchPermissions": { "userIds": [ "100000000001" ] } } } ] }
  2. Führen Sie den folgenden Befehl aus, indem Sie die Datei verwenden, die Sie als Eingabe erstellt haben.
    aws imagebuilder update-distribution-configuration --cli-input-json file://update-ami-distribution-configuration.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. Windows verwendet beispielsweise den umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, und Linux verwendet den Schrägstrich (/).

    Ausführlichere Informationen finden Sie update-distribution-configuration in der AWS CLI Befehlsreferenz. Informationen zum Aktualisieren von Tags für Ihre Distributionskonfigurationsressource finden Sie im Markieren von Ressourcen Abschnitt.