Konfigurieren von Instance-Metadatenoptionen für neue Instances - Amazon Elastic Compute Cloud

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.

Konfigurieren von Instance-Metadatenoptionen für neue Instances

Sie können die folgenden Optionen für Instanzmetadaten für neue Instanzen konfigurieren.

Erzwingen der Verwendung von IMDSv2

Sie können die folgenden Methoden verwenden, um die Verwendung von IMDSv2 auf Ihren neuen Instanzen vorzuschreiben.

Legen Sie IMDSv2 als Standard für das Konto fest

Sie können die Standardversion für den Instanz-Metadatendienst (IMDS) jeweils auf Kontoebene festlegen. AWS-Region Das heißt, wenn Sie eine neue Instance starten, wird die Instanz-Metadatenversion automatisch auf den Standard auf Kontoebene gesetzt. Sie können den Wert jedoch beim Start oder nach dem Start manuell überschreiben. Weitere Informationen darüber, wie sich Einstellungen auf Kontoebene und manuelle Überschreibungen auf eine Instance auswirken, finden Sie unter. Rangfolge der Optionen für Instanz-Metadaten

Anmerkung

Durch das Festlegen der Standardeinstellung auf Kontoebene werden bestehende Instanzen nicht zurückgesetzt. Wenn Sie beispielsweise den Standard auf Kontoebene auf IMDSv2 festlegen, sind alle vorhandenen Instanzen, die auf IMDSv1 festgelegt sind, nicht betroffen. Wenn Sie den Wert für bestehende Instances ändern möchten, müssen Sie den Wert für die Instances selbst manuell ändern.

Sie können den Kontostandard für die Instanz-Metadatenversion auf IMDSv2 festlegen, sodass alle neuen Instances beim Kontostart mit IMDSv2 erforderlich sind und IMDSv1 deaktiviert wird. Wenn Sie diesen Kontostandard verwenden, gelten beim Starten einer Instance die folgenden Standardwerte für die Instance:

  • Konsole: Die Metadatenversion ist nur auf V2 festgelegt (Token erforderlich) und das Limit für den Metadaten-Response-Hop ist auf 2 festgelegt.

  • AWS CLI: HttpTokens ist auf gesetzt required und HttpPutResponseHopLimit ist auf gesetzt2.

Anmerkung

Bevor Sie den Kontostandard auf IMDSv2 setzen, stellen Sie sicher, dass Ihre Instances nicht von IMDSv1 abhängig sind. Weitere Informationen finden Sie unter Empfohlener Weg zur Erzwingung von IMDSv2.

Console
Um IMDSv2 als Standard für das Konto für die angegebene Region festzulegen
  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

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

  3. Wählen Sie im Navigationsbereich EC2 Dashboard (EC2-Dashboard) aus.

  4. Wählen Sie unter Kontoattribute die Option Datenschutz und Sicherheit aus.

  5. Wählen Sie neben IMDS-Standardeinstellungen die Option Verwalten aus.

  6. Gehen Sie auf der Seite IMDS-Standardwerte verwalten wie folgt vor:

    1. Wählen Sie für Instance-Metadaten-Service die Option Aktiviert aus.

    2. Wählen Sie für Metadatenversion die Option Nur V2 (Token erforderlich) aus.

    3. Geben Sie für Metadata Response Hop Limit den Wert 2 an, wenn Ihre Instances Container hosten sollen. Wählen Sie andernfalls Keine Präferenz aus. Wenn keine Präferenz angegeben ist, wird der Wert beim Start standardmäßig auf 2 gesetzt, wenn das AMI IMDSv2 benötigt; andernfalls wird der Standardwert auf 1 gesetzt.

    4. Wählen Sie Aktualisieren.

AWS CLI
Um IMDSv2 als Standard für das Konto für die angegebene Region festzulegen

Verwenden Sie den Befehl modify-instance-metadata-defaults und geben Sie die Region an, in der die Einstellungen auf IMDS-Kontoebene geändert werden sollen. Schließen --http-tokens Sie die Einstellung auf ein und legen Sie fest, ob Ihre Instances Container required hosten werden. --http-put-response-hop-limit 2 Geben Sie andernfalls -1 an, dass keine Präferenz angegeben werden soll. Wenn -1 (keine Präferenz) angegeben ist, wird beim Start standardmäßig der Wert verwendet, 2 ob das AMI IMDSv2 benötigt; andernfalls ist der Standardwert. 1

aws ec2 modify-instance-metadata-defaults \ --region us-east-1 \ --http-tokens required \ --http-put-response-hop-limit 2

Erwartete Ausgabe

{ "Return": true }
Um die Standardkontoeinstellungen für die Instance-Metadatenoptionen für die angegebene Region anzuzeigen

Verwenden Sie den get-instance-metadata-defaults Befehl und geben Sie die Region an.

aws ec2 get-instance-metadata-defaults --region us-east-1

Beispielausgabe

{ "AccountLevel": { "HttpTokens": "required", "HttpPutResponseHopLimit": 2 } }

Konfigurieren der Instance beim Start

Wenn Sie eine Instance starten, können Sie sie so konfigurieren, dass die Verwendung von IMDSv2 erzwungen wird. Dazu konfigurieren Sie die folgenden Felder:

  • Amazon-EC2-Konsole: Stellen Sie Metadata version (Metadatenversion) auf V2 only (token required) (Nur V2 (Token erforderlich)) ein.

  • AWS CLI: Stellen Sie HttpTokens auf required ein.

Wenn Sie angeben, dass IMDSv2 erforderlich ist, müssen Sie auch den Endpunkt des Instance Metadata Service (IMDS) aktivieren, indem Sie Metadatazugriff auf Aktiviert (Konsole) oder HttpEndpoint auf enabled (AWS CLI) einstellen.

In einer Containerumgebung, in der IMDSv2 erforderlich ist, empfehlen wir, das Hop-Limit auf festzulegen. 2 Weitere Informationen finden Sie unter Überlegungen.

New console
So erzwingen Sie die Verwendung von IMDSv2 für eine neue Instance
  • Wenn Sie eine neue Instance in der Amazon-EC2-Konsole starten, erweitern Sie Erweiterte Details wie folgt:

    • Für Metadaten zugänglich wählen Sie Aktiviert.

    • Wählen Sie für Metadatenversion die Option Nur V2 (Token erforderlich) aus.

    • (Container-Umgebung) Wählen Sie unter „Metadata Response Hop Limit“ den Wert 2 aus.

    Weitere Informationen finden Sie unter Erweiterte Details.

Old console
So erzwingen Sie die Verwendung von IMDSv2 für eine neue Instance
  • Wenn Sie eine neue Instance in der Amazon EC2-Konsole starten, wählen Sie auf der Seite Instance-Details konfigurieren die folgenden Optionen aus:

    • Wählen Sie unter Erweiterte Details für Metadaten verfügbar die Option Aktiviert aus.

    • Wählen Sie für Metadatenversion die Option V2 (Token erforderlich) aus.

Weitere Informationen finden Sie unter Schritt 3: Konfigurieren der Instance-Details.

AWS CLI
So erzwingen Sie die Verwendung von IMDSv2 für eine neue Instance

Im folgenden Beispiel für run-instances wird eine c6i.large-Instance gestartet, bei der --metadata-options auf HttpTokens=required gesetzt ist. Wenn Sie einen Wert für HttpTokens angeben, müssen Sie auch HttpEndpoint auf enabled einstellen. Da der sichere Token-Header für Anforderungen zum Abruf von Metadaten auf required eingestellt ist, muss die Instance beim Anfordern von Instance-Metadaten IMDSv2 verwenden.

Wenn in einer Container-Umgebung IMDSv2 erforderlich ist, empfehlen wir, das Hop-Limit auf with zu 2 setzen. HttpPutResponseHopLimit=2

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c6i.large \ ... --metadata-options "HttpEndpoint=enabled,HttpTokens=required,HttpPutResponseHopLimit=2"
PowerShell
So erzwingen Sie die Verwendung von IMDSv2 für eine neue Instance

Das folgende New-EC2InstanceCmdlet-Beispiel startet eine c6i.large Instanz mit MetadataOptions_HttpEndpoint set to enabled und dem Parameter to. MetadataOptions_HttpTokens required Wenn Sie einen Wert für HttpTokens angeben, müssen Sie auch HttpEndpoint auf enabled einstellen. Da der sichere Token-Header für Anforderungen zum Abruf von Metadaten auf required eingestellt ist, muss die Instance beim Anfordern von Instance-Metadaten IMDSv2 verwenden.

New-EC2Instance ` -ImageId ami-0abcdef1234567890 ` -InstanceType c6i.large ` -MetadataOptions_HttpEndpoint enabled ` -MetadataOptions_HttpTokens required
AWS CloudFormation

Informationen zum Angeben der Metadatenoptionen für eine Instance, die Sie verwenden AWS CloudFormation, finden Sie in der entsprechenden AWS::EC2::LaunchTemplate MetadataOptionsEigenschaft im AWS CloudFormation Benutzerhandbuch.

Konfigurieren des AMI

Wenn Sie ein neues AMI registrieren oder ein vorhandenes AMI ändern, können Sie den Parameter imds-support auf v2.0 setzen. Bei Instances, die über dieses AMI gestartet werden, ist Metadata version (Metadatenversion) auf V2 only (token required) (Nur V2 (Token erforderlich)) (Konsole) oder HttpTokens auf required (AWS CLI) eingestellt. Mit diesen Einstellungen erzwingt die Instance die Verwendung von IMDSv2, wenn Instance-Metadaten angefordert werden.

Hinweis: Wenn Sie imds-support auf v2.0 einstellen, wird bei Instances, die über dieses AMI gestartet werden, auch Metadata response hop limit (Limit für Metadaten-Antwort-Hop) (Konsole) oder http-put-response-hop-limit (AWS CLI) auf 2 eingestellt.

Wichtig

Verwenden Sie diesen Parameter nur, wenn Ihre AMI-Software IMDSv2 unterstützt. Nachdem Sie den Wert auf v2.0 gesetzt haben, können Sie das nicht mehr rückgängig machen. Die einzige Möglichkeit, Ihr AMI „zurückzusetzen“, besteht darin, ein neues AMI aus dem zugrunde liegenden Snapshot zu erstellen.

So konfigurieren Sie ein neues AMI für IMDSv2

Verwenden Sie eine der folgenden Methoden, um ein neues AMI für IMDSv2 zu konfigurieren.

AWS CLI

Das folgende register-image-Beispiel registriert ein AMI mit dem angegebenen Snapshot eines EBS-Stamm-Volumes als /dev/xvda des Geräts. Geben Sie v2.0 für den imds-support-Parameter an, sodass von diesem AMI aus gestartete Instances erzwingen, dass beim Anfordern von Instance-Metadaten IMDSv2 verwendet wird.

aws ec2 register-image \ --name my-image \ --root-device-name /dev/xvda \ --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0123456789example} \ --architecture x86_64 \ --imds-support v2.0
PowerShell

Das folgende Register-EC2ImageCmdlet-Beispiel registriert ein AMI, das den angegebenen Snapshot eines EBS-Root-Volumes als Gerät verwendet. /dev/xvda Geben Sie v2.0 für den ImdsSupport-Parameter an, sodass von diesem AMI aus gestartete Instances erzwingen, dass beim Anfordern von Instance-Metadaten IMDSv2 verwendet wird.

Import-Module AWS.Tools.EC2 # Required for Amazon.EC2.Model object creation. Register-EC2Image ` -Name 'my-image' ` -RootDeviceName /dev/xvda ` -BlockDeviceMapping ( New-Object ` -TypeName Amazon.EC2.Model.BlockDeviceMapping ` -Property @{ DeviceName = '/dev/xvda'; EBS = (New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice -Property @{ SnapshotId = 'snap-0123456789example; VolumeType = 'gp3' } ) } ) ` -Architecture X86_64 ` -ImdsSupport v2.0
So konfigurieren Sie ein bestehendes AMI für IMDSv2

Verwenden Sie eine der folgenden Methoden, um ein bereits vorhandenes AMI für IMDSv2 zu konfigurieren.

AWS CLI

Das folgende Beispiel für modify-image-attribute ändert ein vorhandenes AMI nur für IMDSv2. Geben Sie v2.0 für den imds-support-Parameter an, sodass von diesem AMI aus gestartete Instances erzwingen, dass beim Anfordern von Instance-Metadaten IMDSv2 verwendet wird.

aws ec2 modify-image-attribute \ --image-id ami-0123456789example \ --imds-support v2.0
PowerShell

Das folgende Edit-EC2ImageAttributeCmdlet-Beispiel ändert ein vorhandenes AMI nur für IMDSv2. Geben Sie v2.0 für den imds-support-Parameter an, sodass von diesem AMI aus gestartete Instances erzwingen, dass beim Anfordern von Instance-Metadaten IMDSv2 verwendet wird.

Edit-EC2ImageAttribute ` -ImageId ami-0abcdef1234567890 ` -ImdsSupport 'v2.0'

Verwenden einer IAM-Richtlinie

Sie können eine IAM-Richtlinie erstellen, die verhindert, dass Benutzer neue Instances starten, es sei denn, sie benötigen IMDSv2 auf der neuen Instance.

So erzwingen Sie die Verwendung von IMDSv2 auf allen neuen Instances mit einer IAM-Richtlinie

Um sicherzustellen, dass Benutzer beim Anfordern von Instance-Metadaten nur Instances starten können, die die Verwendung von IMDSv2 erfordern, können Sie angeben, dass die Bedingung für die Anforderung von IMDSv2 erfüllt sein muss, bevor eine Instance gestartet werden kann. Die IAM-Beispielrichtlinie finden Sie unter Arbeiten mit Instance-Metadaten.

Aktivieren Sie die IMDS-IPv4- und IPv6-Endpunkte

Das IMDS hat zwei Endpunkte auf einer Instanz: IPv4 () und IPv6 (). 169.254.169.254 [fd00:ec2::254] Wenn Sie das IMDS aktivieren, wird der IPv4-Endpunkt automatisch aktiviert. Der IPv6-Endpunkt bleibt auch dann deaktiviert, wenn Sie eine Instance in einem reinen IPv6-Subnetz starten. Um den IPv6-Endpunkt zu aktivieren, müssen Sie dies explizit tun. Wenn Sie den IPv6-Endpunkt aktivieren, bleibt der IPv4-Endpunkt aktiviert.

Sie können den IPv6-Endpunkt beim Start der Instance oder danach aktivieren.

Anforderungen für die Aktivierung des IPv6-Endpunkts
  • Der ausgewählte Instanztyp basiert auf dem AWS Nitro-System.

  • Das ausgewählte Subnetz unterstützt IPv6, wobei es sich bei dem Subnetz entweder um ein Dual-Stack-Subnetz oder nur um IPv6 handelt.

Verwenden Sie eine der folgenden Methoden, um eine Instance mit aktiviertem IMDS-IPv6-Endpunkt zu starten.

New console
Um den IMDS-IPv6-Endpunkt beim Start der Instanz zu aktivieren
  • Starten Sie die Instance in der Amazon-EC2-Konsole mit den folgenden Angaben unter Advanced details (Erweiterte Details):

    • Wählen Sie für Metadaten-IPv6-Endpunkt die Option Aktiviert aus.

Weitere Informationen finden Sie unter Erweiterte Details.

AWS CLI
Um den IMDS-IPv6-Endpunkt beim Instance-Start zu aktivieren

Das folgende run-instances-Beispiel startet eine c6i.large-Instance, wobei der IPv6-Endpunkt für den IMDS aktiviert ist. Um den IPv6-Endpunkt zu aktivieren, geben Sie für den Parameter --metadata-options den Wert HttpProtocolIpv6=enabled an. Wenn Sie einen Wert für HttpProtocolIpv6 angeben, müssen Sie auch HttpEndpoint auf enabled einstellen.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c6i.large \ ... --metadata-options "HttpEndpoint=enabled,HttpProtocolIpv6=enabled"
PowerShell
Um den IMDS-IPv6-Endpunkt beim Instance-Start zu aktivieren

Das folgende New-EC2InstanceCmdlet-Beispiel startet eine c6i.large Instanz, bei der der IPv6-Endpunkt für das IMDS aktiviert ist. Legen Sie zum Aktivieren des IPv6-Endpunkts MetadataOptions_HttpProtocolIpv6 auf enabled fest. Wenn Sie einen Wert für MetadataOptions_HttpProtocolIpv6 angeben, müssen Sie auch MetadataOptions_HttpEndpoint auf enabled einstellen.

New-EC2Instance ` -ImageId ami-0abcdef1234567890 ` -InstanceType c6i.large ` -MetadataOptions_HttpEndpoint enabled ` -MetadataOptions_HttpProtocolIpv6 enabled

Deaktivieren des Zugriffs auf Instance-Metadaten

Sie können den Zugriff auf die Instance-Metadaten deaktivieren, indem Sie den IMDS deaktivieren, wenn Sie eine Instance starten. Sie können den Zugriff später wieder aktivieren, indem Sie den IMDS erneut aktivieren. Weitere Informationen finden Sie unter Aktivieren des Zugriffs auf Instance-Metadaten.

Wichtig

Sie können wählen, ob Sie den IMDS beim Start oder nach dem Start deaktivieren möchten. Wenn Sie den IMDS beim Start deaktivieren, funktioniert Folgendes möglicherweise nicht:

  • Möglicherweise haben Sie keinen SSH-Zugriff auf Ihre Instance. Auf den public-keys/0/openssh-key, den öffentlichen SSH-Schlüssel Ihrer Instance, kann nicht zugegriffen werden, da der Schlüssel normalerweise über die EC2-Instance-Metadaten bereitgestellt und abgerufen wird.

  • EC2-Benutzerdaten sind nicht verfügbar und werden beim Start der Instance nicht ausgeführt. EC2-Benutzerdaten werden auf dem IMDS gehostet. Wenn Sie den IMDS deaktivieren, deaktivieren Sie effektiv den Zugriff auf Benutzerdaten.

Sie können den IMDS nach dem Start wieder aktivieren, um auf diese Funktion zuzugreifen.

New console
So deaktivieren Sie den Zugriff auf Instance-Metadaten beim Start
  • Starten Sie die Instance in der Amazon-EC2-Konsole mit den folgenden Angaben unter Advanced details (Erweiterte Details):

    • Für Metadaten zugänglich wählen Sie Deaktiviert.

Weitere Informationen finden Sie unter Erweiterte Details.

Old console
So deaktivieren Sie den Zugriff auf Instance-Metadaten beim Start
  • Starten Sie die Instance in der Amazon-EC2-Konsole, wobei auf der Seite Configure Instance Details (Konfigurieren von Instance-Details) die folgende Option ausgewählt ist:

    • Wählen Sie unter Erweiterte Details für Metadaten verfügbar die Option Deaktiviert aus.

Weitere Informationen finden Sie unter Schritt 3: Konfigurieren der Instance-Details.

AWS CLI
So deaktivieren Sie den Zugriff auf Instance-Metadaten beim Start

Starten Sie die Instance, wobei --metadata-options auf HttpEndpoint=disabled eingestellt ist.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c6i.large \ ... --metadata-options "HttpEndpoint=disabled"
PowerShell
So deaktivieren Sie den Zugriff auf Instance-Metadaten beim Start

Das folgende New-EC2InstanceCmdlet-Beispiel startet eine Instanz mit der Einstellung auf. MetadataOptions_HttpEndpoint disabled

New-EC2Instance ` -ImageId ami-0abcdef1234567890 ` -InstanceType c6i.large ` -MetadataOptions_HttpEndpoint disabled
AWS CloudFormation

Informationen zum Angeben der Metadatenoptionen für eine Instanz, die Sie verwenden AWS CloudFormation, finden Sie in der AWS::EC2::LaunchTemplate MetadataOptionsentsprechenden Eigenschaft im AWS CloudFormation Benutzerhandbuch.