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.
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.
-
Um die Ausgabe-AMI-ID während der Verteilung in einem SSM-Parameter zu speichern, müssen Sie die ssm:PutParameter
Aktion in Ihrer Image Builder Builder-Ausführungsrolle angeben, wobei der Parameter als Ressource aufgeführt wird.
-
Wenn Sie den Parameterdatentyp auf festlegen, AWS EC2 Image
um Systems Manager zu signalisieren, den Parameterwert als AMI-ID zu validieren, müssen Sie auch die ec2:DescribeImages
Aktion hinzufügen.
Erstellen Sie eine AMI-Verteilungskonfiguration
Zu den Verteilungskonfigurationen gehören der Name des Ausgabe-AMI, spezifische Regionseinstellungen für die Verschlüsselung, Startberechtigungen sowie Organisationen und Organisationseinheiten (OUs), die das Ausgabe-AMI starten können, sowie Lizenzkonfigurationen. AWS-Konten
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 Windows-Ausgabe konfigurierenAMIs. Um ein AMI öffentlich zu machen, setzen Sie die Startberechtigung für autorisierte Konten auf all
. Die Beispiele für die Veröffentlichung eines AMI finden Sie unter EC2 ModifyImageAttribute.
- Console
-
Gehen Sie wie folgt vor, um eine neue AMI-Verteilungskonfiguration zu erstellen in AWS Management Console:
-
Öffnen Sie die EC2 Image Builder Builder-Konsole unter https://console.aws.amazon.com/imagebuilder/.
-
Wählen Sie im Navigationsbereich Verteilungseinstellungen aus. Daraufhin wird eine Liste der Verteilungskonfigurationen angezeigt, die unter Ihrem Konto erstellt wurden.
-
Wählen Sie oben im Bereich Verteilungseinstellungen die Option Verteilungseinstellungen erstellen aus.
-
Wählen Sie im Abschnitt Image-Typ den Ausgabetyp Amazon Machine Image (AMI) aus.
-
Geben Sie im Abschnitt Allgemein einen Namen für Ihre Distributionskonfiguration und optional eine Beschreibung ein.
-
Geben Sie im Abschnitt Regionseinstellungen die folgenden Details für jede Region ein, in der Sie Ihr AMI verteilen:
-
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.
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.
-
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 OUs Entitäten gehören AWS Konten.
-
Organisation — Gewähren Sie Zugriff auf Ihre AWS Organizations und alle untergeordneten Entitäten. Zu den untergeordneten OUs Entitäten gehören 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 verschiedene Typen eingeben.
-
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.
-
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.
-
Sie können den Abschnitt SSM-Parameterkonfigurationen erweitern, um einen SSM-Parameter zu konfigurieren, der die Ausgabe-AMI-ID für das Image speichert, das an die Zielregion verteilt wird. Sie können optional ein Vertriebskonto in der Region angeben.
Parametername — Geben Sie den Namen für Ihren Parameter ein. Zum Beispiel /output/image/param
.
Datentyp — Behalten Sie den Standardwert (AWS EC2 Image
) bei. Dadurch wird Systems Manager angewiesen, den Parameterwert zu überprüfen, um sicherzustellen, dass es sich um eine gültige AMI-ID handelt.
-
Um Verteilungseinstellungen für eine andere Region hinzuzufügen, wählen Sie Region hinzufügen.
-
Wählen Sie Einstellungen erstellen, wenn Sie fertig sind.
- AWS CLI
-
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.
-
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:
Beispiel 1: Verteilen an AWS-Konten
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"
]
}
}
}
]
}
Beispiel 2: An Organizations verteilen und 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"
]
}
}
}
]
}
Beispiel 3: Speichern Sie die Ausgabe-AMI-ID in einem SSM-Parameter
In diesem Beispiel wird die Ausgabe-AMI-ID in einem AWS Systems Manager Parameter Store-Parameter in der Verteilungsregion gespeichert.
{
"name": "SSMParameterOutputAMI
",
"description": "Updates an SSM parameter with the output AMI ID for the distribution.
",
"distributions": [
{
"region": "us-west-2
",
"amiDistributionConfiguration": {
"name": "Name {{ imagebuilder:buildDate }}"
},
"ssmParameterConfigurations": [
{
"amiAccountId": "111122223333
",
"parameterName": "/output/image/param
",
"dataType": "aws:ec2:image
"
}
]
}
]
}
-
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
-
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, während Linux und macOS den Schrägstrich (/) verwenden.
Ausführlichere Informationen finden Sie create-distribution-configuration in der AWS CLI Befehlsreferenz.
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.
- AWS Management Console
-
Gehen Sie wie folgt vor, um eine AMI-Verteilungskonfiguration zu erstellen in AWS Management Console:
-
Öffnen Sie die EC2 Image Builder Builder-Konsole unter https://console.aws.amazon.com/imagebuilder/.
-
Wählen Sie im Navigationsbereich Verteilungseinstellungen aus. Daraufhin wird eine Liste der Verteilungskonfigurationen angezeigt, die unter Ihrem Konto erstellt wurden.
-
Um Details anzuzeigen oder eine Verteilungskonfiguration zu aktualisieren, wählen Sie den Link „Konfigurationsname“. Dadurch wird die Detailansicht für die Verteilungseinstellungen geöffnet.
Sie können auch das Kontrollkästchen neben dem Namen der Konfiguration aktivieren und dann Details anzeigen auswählen.
-
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.
-
Wählen Sie abschließend Änderungen speichern aus.
- 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 verwenden AWS CLI.
-
Erstellen einer CLI-Eingabe-JSON-Datei
Verwenden Sie ein Tool zur Dateibearbeitung, um eine JSON-Datei mit den im folgenden Beispiel gezeigten Schlüsseln und 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"
]
}
}
}
]
}
-
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
-
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, während Linux und macOS den Schrägstrich (/) verwenden.
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.
Erstellen Sie Verteilungseinstellungen, um EC2 Fast Launch für die Ausgabe zu aktivieren AMIs
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.
Image Builder unterstützt keine kontoübergreifende Verteilung, wenn EC2 Fast Launch vorab aktiviert ist. AMIs EC2 Fast Launch muss vom Zielkonto aus aktiviert werden.
-
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
}]
}]
}
Sie können launchTemplateName
statt des launchTemplateId
im launchTemplate
Abschnitt 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.json
-
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, während Linux und macOS den Schrägstrich (/) verwenden.
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.
-
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.
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, und den 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 der VM die Import/Export Berechtigung erteilt, Bilder in Ihren S3-Bucket zu exportieren.
-
diskImageFormat(string, erforderlich) — Exportieren Sie 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 VMware ESX- und VMware vSphere-Versionen 4, 5 und 6.
-
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.json
-
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, während Linux und macOS den Schrägstrich (/) verwenden.
Ausführlichere Informationen finden Sie create-distribution-configuration in der AWS CLI Befehlsreferenz.