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.
Inhalt
Voraussetzungen für die AMI-Verteilung
Für einige Verteilungseinstellungen gelten folgende Voraussetzungen:
Themen
Voraussetzungen für SSM-Ausgabeparameter
Bevor Sie eine neue AMI-Verteilungskonfiguration erstellen, die einen AWS Systems Manager Parameter Store-Parameter (SSM-Parameter) festlegt, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen.
- Rolle „Ausführung“
-
Wenn Sie eine Pipeline erstellen oder den Befehl create-image in der verwenden AWS CLI, können Sie nur eine Image Builder Builder-Ausführungsrolle angeben. Wenn Sie eine Image Builder Builder-Workflow-Ausführungsrolle definiert haben, würden Sie dieser Rolle zusätzliche Funktionsberechtigungen hinzufügen. Andernfalls würden Sie eine neue benutzerdefinierte Rolle erstellen, die die erforderlichen Berechtigungen enthält.
Wichtig
Es wird empfohlen, die mit dem AWSServiceRoleForImageBuilderDienst verknüpfte Rolle nicht als Ausführungsrolle zu übergeben. Erstellen Sie stattdessen eine benutzerdefinierte IAM-Rolle und fügen Sie die EC2ImageBuilderExecutionPolicy AWS verwaltete Richtlinie hinzu. Diese Richtlinie gewährt dieselben Berechtigungen, die Image Builder benötigt, um in AWS-Services Ihrem Namen aufzurufen. Wenn Sie eine benutzerdefinierte Rolle verwenden, haben Sie die volle Kontrolle über die Berechtigungen, die Image Builder verwendet. Außerdem bleiben Ihre Service Control Policies (SCPs) und Resource Control Policies (RCPs) für Vorgänge in Kraft, die Image Builder in Ihrem Namen ausführt.
-
Um die Ausgabe-AMI-ID während der Verteilung in einem SSM-Parameter zu speichern, müssen Sie die
ssm:PutParameterAktion in Ihrer Image Builder Builder-Ausführungsrolle angeben, wobei der Parameter als Ressource aufgeführt wird. -
Wenn Sie den Parameterdatentyp auf festlegen,
AWS EC2 Imageum Systems Manager zu signalisieren, den Parameterwert als AMI-ID zu validieren, müssen Sie auch dieec2:DescribeImagesAktion hinzufügen.
-
- Opt-in Region
-
Sie müssen eine Opt-in-Region (Region, die standardmäßig deaktiviert ist) im Quellkonto aktivieren. Diese Anforderung gilt, wenn Ihre Verteilungskonfiguration auf diese Region abzielt, unabhängig davon
ssmParameterConfigurations, ob Sie die mit dem Service verknüpfte Image Builder Builder-Rolle oder eine benutzerdefinierte Ausführungsrolle verwenden.Anmerkung
Die AMI-Kopie in eine Opt-in-Region kann auch dann erfolgreich sein, wenn das Quellkonto die Region nicht aktiviert hat. Nur das Schreiben des SSM-Ausgabeparameters schlägt fehl.
Ohne diese Voraussetzung schlägt der Build mit einem Fehler ähnlich dem folgenden fehl:
In region 'af-south-1' - 'STS Client Error: The provided execution role does not exist or does not have sufficient permissions.'Sie lösen dieses Problem, indem Sie einen der folgenden Schritte ausführen:
-
Aktivieren Sie die Opt-in-Regionen im Quellkonto. Anweisungen zur Aktivierung einer Region finden Sie unter Aktivieren oder Deaktivieren von AWS Regionen in Ihrem Konto im Referenzhandbuch zur AWS Kontoverwaltung.
-
Bei den Regionen,
ssmParameterConfigurationsfür die das Abonnement aktiviert ist, keine Angabe machen. Verwenden Sie stattdessen eine EventBridge Amazon-Regel, um auf das EC2 Image Builder Image State Change-Ereignis zu reagieren, und schreiben Sie die Parameter selbst.
-
Voraussetzungen für EC2 Fast Launch
Bevor Sie eine neue Distributionskonfiguration für EC2 Fast Launch für Windows-AMIs erstellen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen.
-
Wenn Sie bei der Konfiguration von EC2 Fast Launch eine benutzerdefinierte Startvorlage angeben, verwendet der Service die VPC und andere Konfigurationseinstellungen, die Sie in der Startvorlage definiert haben. Weitere Informationen finden Sie unter Verwenden einer Startvorlage bei der Einrichtung von EC2 Fast Launch.
-
Wenn Sie keine benutzerdefinierte Startvorlage zur Konfiguration Ihrer Einstellungen verwenden, müssen Sie die EC2FastLaunchFullAccessRichtlinie an die IAM-Rolle anhängen, die Image Builder zur Erstellung Ihres Images verwendet. Wenn Sie eine Pipeline erstellen oder den Befehl create-image in der verwenden AWS CLI, können Sie nur eine Image Builder Builder-Ausführungsrolle angeben. Wenn Sie eine Image Builder Builder-Workflow-Ausführungsrolle definiert haben, würden Sie dieser Rolle zusätzliche Funktionsberechtigungen hinzufügen. Andernfalls würden Sie eine neue benutzerdefinierte Rolle erstellen, die die erforderlichen Berechtigungen enthält.
Für diese Funktion sind zusätzliche Berechtigungen erforderlich, die über die in der Basisausführungsrichtlinie festgelegten Berechtigungen hinausgehen. Daher müssen Sie eine benutzerdefinierte Rolle verwenden. Es wird empfohlen, eine benutzerdefinierte Rolle mit der angehängten EC2ImageBuilderExecutionPolicy AWS verwalteten Richtlinie zu erstellen und die EC2FastLaunchFullAccess Richtlinie dann dieser Rolle hinzuzufügen.
Wenn Image Builder dann Ihr Image kopiert, erstellt EC2 Fast Launch automatisch einen CloudFormation Stapel mit den folgenden Ressourcen in Ihrem AWS-Konto.
-
Eine Virtual Private Cloud (VPC)
-
Private Subnetze über mehrere Availability Zones hinweg
-
Eine Startvorlage, konfiguriert mit Instance Metadata Service Version 2 (IMDSv2)
-
Eine Sicherheitsgruppe mit keinen Regeln für ein- oder ausgehenden Datenverkehr
-
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.
Erstellen Sie eine AMI-Verteilungskonfiguration
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.
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.
Aktualisieren Sie eine AMI-Verteilungskonfiguration
Sie können Ihre AMI-Verteilungskonfiguration ändern. 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.
Beispiel: Aktivieren Sie EC2 Fast Launch mit einer Startvorlage für Ausgabe-AMIs
Das folgende Beispiel zeigt, wie Sie den create-distribution-configuration
Um EC2 Fast Launch-Einstellungen ohne Startvorlage zu konfigurieren, stellen Sie sicher, dass Sie alle Voraussetzungen erfüllt haben, Voraussetzungen für das Einrichten von EC2-Schnellstart bevor Sie Ihre Distributionskonfiguration erstellen.
-
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.jsonin 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
launchTemplateNamestatt deslaunchTemplateIdimlaunchTemplateAbschnitt angeben, aber Sie können nicht gleichzeitig den Namen und die ID angeben. -
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.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. Windows verwendet beispielsweise den umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, während Linux und macOS den Schrägstrich (/) verwenden.
Ausführlichere Informationen finden Sie create-distribution-configuration
in der AWS CLI Befehlsreferenz. -
Beispiel: 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.
-
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 Image Builder Builder-API-Operationsanforderungsparameter angegeben ist. Informationen zu den Anforderungsparametern für API-Operationen finden Sie im 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
s3ExportConfigurationJSON-Objekt für dieses Beispiel angeben:-
roleName (string, erforderlich) — Der Name der Rolle, die der VM die Import/Export Berechtigung erteilt, Bilder in Ihren S3-Bucket zu exportieren.
-
disk ImageFormat (string, erforderlich) — Exportiert das aktualisierte Festplatten-Image in eines der folgenden unterstützten Formate:
-
Virtuelle Festplatte (VHD) — kompatibel mit Hyper-V Virtualisierungsprodukten von Citrix Xen und Microsoft.
-
Stream-optimized 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" } -
-
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.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. Windows verwendet beispielsweise den umgekehrten Schrägstrich (\), um auf den Verzeichnispfad zu verweisen, während Linux und macOS den Schrägstrich (/) verwenden.
Ausführlichere Informationen finden Sie create-distribution-configuration
in der AWS CLI Befehlsreferenz. -