Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Verwendung eines benutzerdefinierten AMI für mehr Flexibilität bei der Amazon EMR-Clusterkonfiguration

Fokusmodus
Verwendung eines benutzerdefinierten AMI für mehr Flexibilität bei der Amazon EMR-Clusterkonfiguration - Amazon EMR

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.

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.

Wenn Sie Amazon EMR 5.7.0 oder höher verwenden, können Sie für Amazon EMR ein benutzerdefiniertes Amazon Linux AMI anstelle des standardmäßigen Amazon Linux AMI angeben. Ein benutzerdefiniertes AMI ist nützlich, wenn Sie Folgendes durchführen möchten:

  • Installieren Sie Anwendungen vorab und führen Sie weitere Anpassungen aus, statt Bootstrap-Aktionen zu verwenden. Dies kann die Cluster-Startzeit verbessern und den Startup-Workflow optimieren. Weitere Informationen sowie ein Beispiel finden Sie unter Erstellen eines benutzerdefinierten Amazon-Linux-AMI aus einer vorkonfigurierten Instance.

  • Implementierung komplexerer Cluster- und Knoten-Konfigurationen als von Bootstrap-Aktionen zugelassen.

  • Verschlüsseln Sie die EBS-Root-Geräte-Volumes (Boot-Volumes) der EC2 Instances in Ihrem Cluster, wenn Sie eine Amazon EMR-Version unter 5.24.0 verwenden. Wie beim Standard-AMI beträgt die Mindestgröße des Root-Volumes für ein benutzerdefiniertes AMI 10 GiB für die Amazon-EMR-Versionen 6.9 und niedriger sowie 15 GiB für die Amazon-EMR-Versionen 6.10 und höher. Weitere Informationen finden Sie unter Erstellen eines benutzerdefinierten AMI mit einem verschlüsselten Amazon-EBS-Root-Gerät-Datenträger.

    Anmerkung

    Ab Amazon EMR Version 5.24.0 können Sie eine Sicherheitskonfigurationsoption verwenden, um EBS-Root-Geräte und Speichervolumes zu verschlüsseln, wenn Sie dies als Ihren Schlüsselanbieter angeben AWS KMS . Weitere Informationen finden Sie unter Verschlüsselung lokaler Datenträger.

Ein benutzerdefiniertes AMI muss in derselben AWS Region vorhanden sein, in der Sie den Cluster erstellen. Es sollte auch der EC2 Instance-Architektur entsprechen. Eine m5.xlarge-Instance hat beispielsweise eine x86_64-Architektur. Um ein m5.xlarge mithilfe eines benutzerdefinierten AMI bereitzustellen, sollte Ihr benutzerdefiniertes AMI daher auch über eine x86_64-Architektur verfügen. Ebenso sollte Ihr benutzerdefiniertes AMI eine arm64-Architektur haben, um eine m6g.xlarge-Instance bereitzustellen, die über eine arm64-Architektur verfügt. Weitere Informationen zur Identifizierung eines Linux-AMI für Ihren Instance-Typ finden Sie unter Suchen Sie ein Linux-AMI im EC2 Amazon-Benutzerhandbuch.

Wichtig

EMR-Cluster, auf denen Amazon Linux oder Amazon Linux 2 Amazon Machine Images (AMIs) ausgeführt werden, verwenden das Standardverhalten von Amazon Linux und laden wichtige und kritische Kernel-Updates, die einen Neustart erfordern, nicht automatisch herunter und installieren sie. Dies ist dasselbe Verhalten wie bei anderen EC2 Amazon-Instances, auf denen das standardmäßige Amazon Linux-AMI ausgeführt wird. Wenn neue Amazon-Linux-Softwareupdates, die einen Neustart erfordern (wie Kernel-, NVIDIA- und CUDA-Updates), nach der Veröffentlichung einer Amazon-EMR-Version verfügbar werden, laden EMR-Cluster-Instances, die das Standard-AMI ausführen, diese Updates nicht automatisch herunter und installieren sie. Um Kernel-Updates zu erhalten, können Sie Ihr Amazon-EMR-AMI so anpassen, dass es das neueste Amazon-Linux-AMI verwendet.

Erstellen eines benutzerdefinierten Amazon-Linux-AMI aus einer vorkonfigurierten Instance

Die grundlegenden Schritte für das Vorinstallieren von Software und das Ausführen weiterer Konfigurationen zur Erstellung eines benutzerdefinierten Amazon-Linux-AMI für Amazon EMR sind:

  • Starten Sie eine Instance über das Amazon-Linux-Basis-AMI.

  • Stellen Sie eine Verbindung mit der Instance her, um Software zu installieren und andere Anpassungen vorzunehmen.

  • Erstellen Sie ein neues Abbild (AMI-Snapshot) der Instance, die Sie konfiguriert haben.

Nachdem Sie das Abbild auf der Grundlage Ihrer benutzerdefinierten Instance erstellt haben, können Sie es auf ein verschlüsseltes Ziel kopieren, wie im Abschnitt Erstellen eines benutzerdefinierten AMI mit einem verschlüsselten Amazon-EBS-Root-Gerät-Datenträger beschrieben.

Tutorial: Erstellen eines AMI aus einer Instance mit installierter eigener Software

Um eine EC2 Instance zu starten, die auf dem neuesten Amazon Linux AMI basiert
  1. Verwenden Sie den AWS CLI , um den folgenden Befehl auszuführen, der eine Instance aus einem vorhandenen AMI erstellt. MyKeyNameErsetzen Sie durch das key pair, das Sie für die Verbindung MyAmiId mit der Instance verwenden, und durch die ID eines entsprechenden Amazon Linux AMI. Das neueste AMI finden Sie IDs unter Amazon Linux AMI.

    Anmerkung

    Linux-Zeilenfortsetzungszeichen (\) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

    aws ec2 run-instances --image-id MyAmiID \ --count 1 --instance-type m5.xlarge \ --key-name MyKeyName --region us-west-2

    Der Ausgabewert InstanceId wird im nächsten Schritt als MyInstanceId verwendet.

  2. Führen Sie den folgenden Befehl aus:

    aws ec2 describe-instances --instance-ids MyInstanceId

    Der Ausgabewert PublicDnsName wird im nächsten Schritt verwendet, um eine Verbindung mit der Instance herzustellen.

So stellen Sie eine Verbindung mit der Instance her und installieren Software
  1. Verwenden Sie eine SSH-Verbindung, mit der Sie Shell-Befehle auf Ihrer Linux-Instance ausführen können. Weitere Informationen finden Sie unter Herstellen einer Verbindung zu Ihrer Linux-Instance mithilfe von SSH im EC2 Amazon-Benutzerhandbuch.

  2. Führen Sie alle erforderlichen Anpassungen durch. Zum Beispiel:

    sudo yum install MySoftwarePackage sudo pip install MySoftwarePackage
So erstellen Sie einen Snapshot vom benutzerdefinierten Abbild

So verwenden Sie ein benutzerdefiniertes AMI in einem Amazon-EMR-Cluster

Sie können ein benutzerdefiniertes AMI verwenden, um einen Amazon-EMR-Cluster auf zwei Arten bereitzustellen:

  • Verwenden Sie ein einziges benutzerdefiniertes AMI für alle EC2 Instances im Cluster.

  • Verwenden Sie unterschiedliche benutzerdefinierte AMIs Einstellungen für die verschiedenen EC2 Instance-Typen, die im Cluster verwendet werden.

Sie können bei der Bereitstellung eines EMR-Clusters nur eine der beiden Optionen verwenden, und Sie können sie nicht mehr ändern, nachdem der Cluster gestartet wurde.

Überlegungen zur Verwendung eines einzelnen oder mehrerer benutzerdefinierter Elemente AMIs in einem Amazon EMR-Cluster
Überlegungen Einfaches benutzerdefiniertes AMI Mehrfach benutzerdefiniert AMIs

Verwenden Sie sowohl x86- als auch Graviton2-Prozessoren mit Custom AMIs im selben Cluster

Nicht unterstützt

Wird unterstützt

Die AMI-Anpassung variiert je nach Instance-Typ

Nicht unterstützt

Wird unterstützt

Ändern Sie die benutzerdefinierte Version AMIs , wenn Sie eine neue Task-Instanz hinzufügen. groups/fleets to a running cluster. Note: you cannot change the custom AMI of existing instance groups/fleets

Nicht unterstützt

Wird unterstützt

Verwenden Sie die AWS Konsole, um einen Cluster zu starten

Wird unterstützt

Nicht unterstützt

Wird verwendet AWS CloudFormation , um einen Cluster zu starten

Wird unterstützt

Wird unterstützt

Ein einzelnes benutzerdefiniertes AMI in einem EMR-Cluster verwenden

Verwenden Sie eine der folgenden Optionen, um eine benutzerdefinierte AMI-ID anzugeben, wenn Sie einen Cluster erstellen:

Amazon EMR console
So geben Sie ein einzelnes benutzerdefiniertes AMI über die Konsole an
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon EMR-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMR on die Option Clusters und dann Create cluster aus.

  3. Suchen Sie unter Name und Anwendungen nach Betriebssystemoptionen. Wählen Sie Benutzerdefiniertes AMI und geben Sie Ihre AMI-ID in das Feld Benutzerdefiniertes AMI ein.

  4. Wählen Sie alle anderen Optionen aus, die für Ihren Cluster gelten.

  5. Um Ihren Cluster jetzt zu starten, wählen Sie Cluster erstellen aus.

AWS CLI
Um ein einzelnes benutzerdefiniertes AMI anzugeben mit dem AWS CLI
  • Verwenden Sie den Parameter --custom-ami-id zum Angeben der AMI-ID, wenn Sie den Befehl aws emr create-cluster ausführen.

    Im folgenden Beispiel wird ein Cluster angegeben, der ein einzelnes benutzerdefiniertes AMI mit einem 20 GiB-Boot-Volume verwendet. Weitere Informationen finden Sie unter Anpassen des Root-Geräte-Volumes in Amazon EBS.

    Anmerkung

    Linux-Zeilenfortsetzungszeichen (\) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

    aws emr create-cluster --name "Cluster with My Custom AMI" \ --custom-ami-id MyAmiID --ebs-root-volume-size 20 \ --release-label emr-5.7.0 --use-default-roles \ --instance-count 2 --instance-type m5.xlarge
So geben Sie ein einzelnes benutzerdefiniertes AMI über die Konsole an
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die Amazon EMR-Konsole unter https://console.aws.amazon.com/emr.

  2. Wählen Sie EC2 im linken Navigationsbereich unter EMR on die Option Clusters und dann Create cluster aus.

  3. Suchen Sie unter Name und Anwendungen nach Betriebssystemoptionen. Wählen Sie Benutzerdefiniertes AMI und geben Sie Ihre AMI-ID in das Feld Benutzerdefiniertes AMI ein.

  4. Wählen Sie alle anderen Optionen aus, die für Ihren Cluster gelten.

  5. Um Ihren Cluster jetzt zu starten, wählen Sie Cluster erstellen aus.

Verwenden Sie mehrere benutzerdefinierte AMIs in einem Amazon EMR-Cluster

Um einen Cluster mit mehreren benutzerdefinierten Clustern zu erstellen AMIs, verwenden Sie eine der folgenden Optionen:

Die AWS Management Console unterstützt derzeit nicht die Erstellung eines Clusters mit mehreren benutzerdefinierten Clustern AMIs.

Beispiel - Verwenden Sie die AWS CLI, um einen Instanzgruppen-Cluster mit mehreren benutzerdefinierten zu erstellen AMIs

Mit der AWS CLI-Version 1.20.21 oder höher können Sie dem gesamten Cluster ein einzelnes benutzerdefiniertes AMI zuweisen, oder Sie können jedem Instance-Knoten in Ihrem Cluster mehrere benutzerdefinierte AMIs zuweisen.

Das folgende Beispiel zeigt einen einheitlichen Instance-Gruppen-Cluster, der mit zwei Instance-Typen (m5.xlarge) erstellt wurde, die für alle Knotentypen (Primär, Core, Aufgabe) verwendet werden. Jeder Knoten hat mehrere benutzerdefinierte Knoten. AMIs Das Beispiel veranschaulicht mehrere Features der Konfiguration mit mehreren benutzerdefinierten AMIs:

  • Auf Cluster-Ebene ist kein benutzerdefiniertes AMI zugewiesen. Dadurch sollen Konflikte zwischen mehreren benutzerdefinierten AMIs und einem einzelnen benutzerdefinierten AMI vermieden werden, die dazu führen würden, dass der Clusterstart fehlschlägt.

  • Der Cluster kann mehrere benutzerdefinierte Knoten für AMIs Primär-, Kern- und einzelne Taskknoten haben. Dies ermöglicht individuelle AMI-Anpassungen, wie z. B. vorinstallierte Anwendungen, ausgefeilte Cluster-Konfigurationen und verschlüsselte Amazon EBS-Root-Geräte-Volumes.

  • Der Core-Knoten der Instance-Gruppe kann nur einen Instance-Typ und ein entsprechendes benutzerdefiniertes AMI haben. Ebenso kann der Primärknoten nur einen Instance-Typ und ein entsprechendes benutzerdefiniertes AMI haben.

  • Der Cluster kann mehrere Aufgabenknoten haben.

aws emr create-cluster --instance-groups InstanceGroupType=PRIMARY,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-123456 InstanceGroupType=CORE,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-234567 InstanceGroupType=TASK,InstanceType=m6g.xlarge,InstanceCount=1,CustomAmiId=ami-345678 InstanceGroupType=TASK,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-456789
Beispiel - Verwenden Sie die AWS CLI-Version 1.20.21 oder höher, um einem laufenden Instanzgruppen-Cluster mit mehreren Instanztypen und mehreren benutzerdefinierten Instanztypen einen Task-Knoten hinzuzufügen AMIs

Mit der AWS CLI-Version 1.20.21 oder höher können Sie einer Instanzgruppe, AMIs die Sie einem laufenden Cluster hinzufügen, mehrere benutzerdefinierte Instanzen hinzufügen. Das CustomAmiId-Argument kann zusammen mit dem add-instance-groups-Befehl verwendet werden, wie im folgenden Beispiel gezeigt. Beachten Sie, dass dieselbe mehrfache benutzerdefinierte AMI-ID (ami-123456) in mehr als einem Knoten verwendet wird.

aws emr create-cluster --instance-groups InstanceGroupType=PRIMARY,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-123456 InstanceGroupType=CORE,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-123456 InstanceGroupType=TASK,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-234567 { "ClusterId": "j-123456", ... } aws emr add-instance-groups --cluster-id j-123456 --instance-groups InstanceGroupType=Task,InstanceType=m6g.xlarge,InstanceCount=1,CustomAmiId=ami-345678
Beispiel - Verwenden Sie die AWS CLI-Version 1.20.21 oder höher, um einen Instance-Flottencluster, mehrere benutzerdefinierte AMIs, mehrere Instance-Typen, On-Demand-Primärinstanzen, On-Demand-Kern, mehrere Kern- und Taskknoten zu erstellen
aws emr create-cluster --instance-fleets InstanceFleetType=PRIMARY,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge, CustomAmiId=ami-123456}'] InstanceFleetType=CORE,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-234567},{InstanceType=m6g.xlarge, CustomAmiId=ami-345678}'] InstanceFleetType=TASK,TargetSpotCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-456789},{InstanceType=m6g.xlarge, CustomAmiId=ami-567890}']
Beispiel - Verwenden Sie die AWS CLI-Version 1.20.21 oder höher, um einem laufenden Cluster mit mehreren Instanztypen und mehreren benutzerdefinierten Task-Knoten hinzuzufügen AMIs
aws emr create-cluster --instance-fleets InstanceFleetType=PRIMARY,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge, CustomAmiId=ami-123456}'] InstanceFleetType=CORE,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-234567},{InstanceType=m6g.xlarge, CustomAmiId=ami-345678}'] { "ClusterId": "j-123456", ... } aws emr add-instance-fleet --cluster-id j-123456 --instance-fleet InstanceFleetType=TASK,TargetSpotCapacity=1,InstanceTypeConfigs=['{InstanceType=m5.xlarge,CustomAmiId=ami-234567},{InstanceType=m6g.xlarge, CustomAmiId=ami-345678}']

Verwalten von Updates für AMI-Paket-Repositorys

Beim ersten Start stellt Amazon Linux standardmäßig eine AMIs Verbindung zu Paket-Repositorys her, um Sicherheitsupdates zu installieren, bevor andere Dienste gestartet werden. Je nach Ihren Anforderungen können Sie diese Aktualisierungen deaktivieren, wenn Sie ein benutzerdefiniertes AMI für Amazon EMR angeben. Die Option zum Deaktivieren dieser Funktion steht ist nur verfügbar, wenn Sie ein benutzerdefiniertes AMI verwenden. Standardmäßig werden Amazon-Linux-Kernel-Updates und andere Softwarepakete, die einen Neustart erfordern, nicht aktualisiert. Beachten Sie, dass Ihre Netzwerkkonfiguration den HTTP- und HTTPS-Ausgang zu Amazon-Linux-Repositorys in Amazon S3 zulassen muss, da andernfalls Sicherheitsupdates nicht erfolgreich sein werden.

Warnung

Wir empfehlen dringend, dass Sie beim Neustart alle installierten Pakete aktualisieren, wenn Sie ein benutzerdefiniertes AMI angeben. Wenn Sie keine Pakete aktualisieren, entstehen zusätzliche Sicherheitsrisiken.

Mit dem AWS Management Console können Sie die Option zum Deaktivieren von Updates auswählen, wenn Sie Benutzerdefiniertes AMI wählen.

Mit dem können Sie angeben AWS CLI--repo-upgrade-on-boot NONE, --custom-ami-id wann Sie den create-cluster Befehl verwenden möchten.

Mit der Amazon EMR-API können Sie NONE den RepoUpgradeOnBootParameter angeben.

Erstellen eines benutzerdefinierten AMI mit einem verschlüsselten Amazon-EBS-Root-Gerät-Datenträger

Um den Amazon-EBS-Root-Gerät-Datenträger eines Amazon-Linux-AMI für Amazon EMR zu verschlüsseln, kopieren Sie ein Snapshot-Abbild von einem unverschlüsselten AMI zu einem verschlüsselten Ziel. Informationen zum Erstellen verschlüsselter EBS-Volumes finden Sie unter Amazon EBS-Verschlüsselung im EC2 Amazon-Benutzerhandbuch. Als Quell-AMI für den Snapshot können Sie das Amazon-Linux-Basis-AMI verwenden. Sie können auch einen Snapshot von einem AMI kopieren, das vom angepassten Amazon-Linux-AMI abgeleitet wurde.

Anmerkung

Ab Amazon EMR Version 5.24.0 können Sie eine Sicherheitskonfigurationsoption verwenden, um EBS-Root-Geräte und Speichervolumes zu verschlüsseln, wenn Sie dies als Ihren Schlüsselanbieter angeben AWS KMS . Weitere Informationen finden Sie unter Verschlüsselung lokaler Datenträger.

Sie können einen externen Schlüsselanbieter oder einen AWS KMS-Schlüssel verwenden, um das EBS-Root-Volume zu verschlüsseln. Die von Amazon EMR verwendete Servicerolle (normalerweise die Standard-EMR_DefaultRole) muss mindestens zum Verschlüsseln und Entschlüsseln des Volumes berechtigt sein, damit Amazon EMR einen Cluster mit dem AMI erstellen kann. Bei der Verwendung AWS KMS als Schlüsselanbieter bedeutet dies, dass die folgenden Aktionen zulässig sein müssen:

  • kms:encrypt

  • kms:decrypt

  • kms:ReEncrypt*

  • kms:CreateGrant

  • kms:GenerateDataKeyWithoutPlaintext"

  • kms:DescribeKey"

Hierfür fügen Sie am einfachsten die Rolle als Schlüsselbenutzer wie im folgenden Tutorial beschrieben hinzu. Die folgende Richtlinienanweisung dient als Beispiel für den Fall, dass Sie Rollenrichtlinien anpassen müssen.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EmrDiskEncryptionPolicy", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:CreateGrant", "kms:GenerateDataKeyWithoutPlaintext", "kms:DescribeKey" ], "Resource": [ "*" ] } ] }

Tutorial: Erstellen eines benutzerdefinierten AMI mit einem verschlüsselten Root-Gerät-Datenträger mithilfe eines KMS-Schlüssels

Im ersten Schritt dieses Beispiels muss der ARN eines KMS-Schlüssels ermittelt oder neu erstellt werden. Weitere Informationen zum Erstellen von -Schlüsseln finden Sie unter Erstellen von Schlüsseln im AWS Key Management Service -Entwicklerhandbuch. Im folgenden Verfahren wird gezeigt, wie Sie als Schlüsselbenutzer die Standard-Servicerolle EMR_DefaultRole zur Schlüsselrichtlinie hinzufügen. Notieren Sie sich den ARN-Wert für den Schlüssel, wenn Sie ihn erstellen oder bearbeiten. Sie verwenden den ARN später, wenn Sie das AMI erstellen.

Um die Servicerolle für Amazon EC2 zur Liste der Benutzer von Verschlüsselungsschlüsseln mit der Konsole hinzuzufügen
  1. Melden Sie sich bei der Konsole AWS Key Management Service (AWS KMS) an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/kms.

  2. Um das zu ändern AWS-Region, verwenden Sie die Regionsauswahl in der oberen rechten Ecke der Seite.

  3. Wählen Sie den Alias des zu verwendenden KMS-Schlüssel aus.

  4. Wählen Sie auf der Seite mit den Schlüsseldetails unter Key Users (Schlüsselbenutzer( die Option Add (Hinzufügen) aus.

  5. Wählen Sie im Dialogfeld Anfügen die Amazon-EMR-Servicerolle aus. Der Name der Standardrolle lautet EMR_DefaultRole.

  6. Wählen Sie Anfügen aus.

Um ein verschlüsseltes AMI zu erstellen mit dem AWS CLI
  • Verwenden Sie den aws ec2 copy-image Befehl von AWS CLI , um ein AMI mit einem verschlüsselten EBS-Root-Geräte-Volume und dem Schlüssel, den Sie geändert haben, zu erstellen. Ersetzen Sie den angegebenen Wert --kms-key-id durch den vollständigen ARN des Schlüssels, den Sie zuvor erstellt oder geändert haben.

    Anmerkung

    Linux-Zeilenfortsetzungszeichen (\) sind aus Gründen der Lesbarkeit enthalten. Sie können entfernt oder in Linux-Befehlen verwendet werden. Entfernen Sie sie unter Windows oder ersetzen Sie sie durch ein Caret-Zeichen (^).

    aws ec2 copy-image --source-image-id MyAmiId \ --source-region us-west-2 --name MyEncryptedEMRAmi \ --encrypted --kms-key-id arn:aws:kms:us-west-2:12345678910:key/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Die Ausgabe des Befehls enthält die ID des AMI, das Sie erstellt haben, welches Sie angeben können, wenn Sie einen Cluster erstellen. Weitere Informationen finden Sie unter Ein einzelnes benutzerdefiniertes AMI in einem EMR-Cluster verwenden. Sie können dieses AMI auch anpassen, indem Sie Software installieren und andere Konfigurationen durchführen. Weitere Informationen finden Sie unter Erstellen eines benutzerdefinierten Amazon-Linux-AMI aus einer vorkonfigurierten Instance.

Bewährte Methoden und Überlegungen

Wenn Sie ein benutzerdefiniertes AMI für Amazon EMR erstellen, sollten Sie Folgendes bedenken:

  • Die Amazon EMR 7.x-Serie basiert auf Amazon Linux 2023. Für diese Amazon EMR-Versionen müssen Sie benutzerdefinierte AMIs Images verwenden, die auf Amazon Linux 2023 basieren. Informationen zum Suchen eines benutzerdefinierten Basis-AMI finden Sie unter Suchen eines Linux-AMI.

  • Für Amazon EMR-Versionen unter 7.x wird Amazon Linux 2023 nicht AMIs unterstützt.

  • Amazon EMR 5.30.0 und höher sowie die Amazon-EMR-6.x-Serie basieren auf Amazon Linux 2. Für diese Amazon EMR-Versionen müssen Sie benutzerdefinierte AMIs Images verwenden, die auf Amazon Linux 2 basieren. Informationen zum Suchen eines benutzerdefinierten Basis-AMI finden Sie unter Suchen eines Linux-AMI.

  • Für Amazon EMR-Versionen unter 5.30.0 und 6.x wird Amazon Linux 2 AMIs nicht unterstützt.

  • Sie müssen ein 64-Bit-Amazon-Linux-AMI verwenden. Ein 32-Bit-AMI wird nicht unterstützt.

  • Amazon Linux AMIs mit mehreren Amazon EBS-Volumes wird nicht unterstützt.

  • Legen Sie Ihrer Anpassung das neueste von EBS gestützte Amazon Linux AMI zugrunde. Eine Liste von Amazon Linux AMIs und dem entsprechenden AMI IDs finden Sie unter Amazon Linux AMI.

  • Kopieren Sie keinen Snapshot einer vorhandenen Amazon-EMR-Instance, um ein benutzerdefiniertes AMI zu erstellen. Das verursacht Fehler.

  • Es werden nur die mit Amazon EMR kompatiblen HVM-Virtualisierungstypen und Instances unterstützt. Stellen Sie sicher, dass Sie während der AMI-Anpassung ein HVM-Abbild und einen Instance-Typ auswählen, das bzw. der mit Amazon EMR kompatibel ist. Kompatible Instances und Virtualisierungstypen finden Sie unter Unterstützte Instance-Typen mit Amazon EMR.

  • Die Servicerolle muss über Startberechtigungen für das AMI verfügen. Das AMI muss also entweder öffentlich sein, oder Sie müssen der Eigentümer des AMI sein, oder das AMI wurde vom Eigentümer für Sie freigegeben.

  • Wenn Sie Benutzer im AMI erstellen, deren Namen mit Anwendungsnamen übereinstimmen (z. B. hadoop, hdfs, yarn oder spark), führt das zu Fehlern.

  • Der Inhalt von /tmp, /var und /emr – sofern im AMI vorhanden – wird während des Startup entsprechend nach /mnt/tmp, /mnt/var und /mnt/emr verschoben. Dateien werden beibehalten; bei großen Mengen an Daten kann jedoch der Startup länger als erwartet dauern.

  • Wenn Sie ein benutzerdefiniertes Amazon-Linux-AMI verwenden, das auf einem Amazon-Linux-AMI mit einem Erstellungsdatum vom 8.11.2018 basiert, kann der Oozie-Server nicht gestartet werden. Wenn Sie Oozie verwenden, erstellen Sie ein benutzerdefiniertes AMI, das auf einer Amazon-Linux-AMI-ID mit einem anderen Erstellungsdatum basiert. Sie können den folgenden AWS CLI Befehl verwenden, um eine Liste mit Images IDs für alle HVM Amazon Linux AMIs mit einer Version 2018.03 zusammen mit dem Veröffentlichungsdatum zurückzugeben, sodass Sie ein geeignetes Amazon Linux-AMI als Basis auswählen können. MyRegion Ersetzen Sie es durch Ihre Regionskennung, z. B. us-west-2.

    aws ec2 --region MyRegion describe-images --owner amazon --query 'Images[?Name!=`null`]|[?starts_with(Name, `amzn-ami-hvm-2018.03`) == `true`].[CreationDate,ImageId,Name]' --output text | sort -rk1
  • In Fällen, in denen Sie eine VPC mit einem nicht standardmäßigen Domainnamen und AmazonProvided DNS verwenden, sollten Sie die rotate Option in der DNS-Konfiguration des Betriebssystems nicht verwenden.

  • Wenn Sie ein benutzerdefiniertes AMI erstellen, das den Amazon EC2 Systems Manager (SSM) -Agenten enthält, kann der aktivierte SSM-Agent einen Bereitstellungsfehler auf dem Cluster verursachen. Um dies zu vermeiden, deaktivieren Sie den SSM-Agenten, wenn Sie ein benutzerdefiniertes AMI verwenden. Um dies zu tun, deaktivieren Sie bei der Auswahl und dem Start Ihrer EC2 Amazon-Instance den SSM-Agenten, bevor Sie die Instance verwenden, um ein benutzerdefiniertes AMI zu erstellen, und anschließend Ihren EMR-Cluster erstellen.

Weitere Informationen finden Sie unter Erstellen eines Amazon EBS-gestützten Linux-AMI im EC2 Amazon-Benutzerhandbuch.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.