View a markdown version of this page

Modifizieren von Instance-Metadatenoptionen für vorhandene 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.

Modifizieren von Instance-Metadatenoptionen für vorhandene Instances

Sie können die Instance-Metadatenoptionen für vorhandene Instances ändern.

Sie können auch eine IAM-Richtlinie erstellen, die verhindert, dass Benutzer die Instance-Metadatenoptionen für vorhandene Instances ändern. Um zu steuern, welche Benutzer die Optionen für Instanzmetadaten ändern können, geben Sie eine Richtlinie an, die verhindert, dass alle Benutzer außer Benutzern mit einer bestimmten Rolle die ModifyInstanceMetadataOptions API verwenden. Die IAM-Beispielrichtlinie finden Sie unter Arbeiten mit Instance-Metadaten.

Anmerkung

Wenn zur Konfiguration der Instance-Metadatenoptionen eine deklarative Richtlinie verwendet wurde, können Sie diese nicht direkt im Konto ändern. Weitere Informationen finden Sie unter Deklarative Richtlinien im AWS Organizations -Benutzerhandbuch.

Erzwingen der Verwendung von IMDSv2

Verwenden Sie eine der folgenden Methoden, um die Instance-Metadatenoptionen für eine bestehende Instance zu ändern, um zu erzwingen, dass beim Anfordern von Instance-Metadaten IMDSv2 verwendet wird. Wenn IMDSv2 erforderlich ist, kann IMDSv1 nicht verwendet werden.

Anmerkung

Bevor Sie verlangen, dass IMDSv2 verwendet wird, stellen Sie sicher, dass die Instance keine IMDSv1-Aufrufe tätigt. Die MetadataNoToken CloudWatch Metrik verfolgt IMDSv1-Aufrufe. Wenn MetadataNoToken keine IMDSv1-Nutzung für eine Instance registriert, ist die Instance bereit, IMDSv2 zu benötigen.

Console
So erzwingen Sie die Verwendung von IMDSv2 auf einer vorhandenen Instance
  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie Ihre Instance aus.

  4. Wählen Sie Aktionen, Instance-Einstellungen und Instance-Metadata-Optionen ändern.

  5. Führen Sie im Dialogfeld Instance-Metadatenoptionen ändern Folgendes aus:

    1. Für den Instance-Metadatenservice wählen Sie die Option Aktivieren.

    2. Wählen Sie für IMDSv2 die Option Erforderlich aus.

    3. Wählen Sie Speichern.

AWS CLI
So erzwingen Sie die Verwendung von IMDSv2 auf einer vorhandenen Instance

Verwenden Sie den CLI-Befehl modify-instance-metadata-options und setzen Sie den Parameter http-tokens auf required. Wenn Sie einen Wert für http-tokens angeben, müssen Sie auch http-endpoint auf enabled einstellen.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-tokens required \ --http-endpoint enabled
PowerShell
So erzwingen Sie die Verwendung von IMDSv2 auf einer vorhandenen Instance

Verwenden Sie das Edit-EC2InstanceMetadataOption Cmdlet und legen Sie den Parameter auf fest. HttpTokens required Wenn Sie einen Wert für HttpTokens angeben, müssen Sie auch HttpEndpoint auf enabled einstellen.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpTokens required ` -HttpEndpoint enabled).InstanceMetadataOptions

Die Verwendung von IMDSv1 wieder herstellen

Wenn IMDSv2 für eine Instanz erforderlich ist, schlägt die Verwendung einer IMDSv1-Anforderung fehl. Wenn IMDSv2 optional ist, funktionieren sowohl IMDSv2 als auch IMDSv1. Um IMDSv1 wiederherzustellen, setzen Sie IMDSv2 daher mit einer der folgenden Methoden auf optional ()httpTokens = optional.

Die httpTokensEnforced IMDS-Eigenschaft verhindert auch Versuche, IMDSv1 auf einer vorhandenen Instanz zu aktivieren. Wenn sie für ein Konto in einer Region aktiviert ist, optional führt der Versuch, auf einzustellenhttpTokens, zu einer Ausnahme. UnsupportedOperation Weitere Informationen finden Sie unterFehlerbehebung.

Wichtig

Wenn Ihre Instance-Starts aufgrund der IMDSv2-Durchsetzung fehlschlagen, haben Sie zwei Möglichkeiten, um erfolgreiche Starts zu ermöglichen:

  • Instances starten als IMDSv2-only — Wenn die auf den Instances ausgeführte Software nur IMDSv2 verwendet (keine Abhängigkeit von IMDSv1), können Sie die Instances nur als IMDSv2 starten. Konfigurieren Sie dazu IMDSv2 nur, indem Sie httpTokens = required entweder die Startparameter oder die Metadaten-Standardeinstellungen für das Konto in der Region festlegen.

  • Durchsetzung deaktivieren — Wenn Ihre Software immer noch von IMDSv1 abhängt, stellen Sie disabled für das Konto in der Region den httpTokensEnforced Wert auf ein. Weitere Informationen finden Sie unter Erzwingen Sie IMDSv2 auf Kontoebene.

Console
So stellen Sie die Verwendung von IMDSv1 auf einer Instance wieder her
  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie Ihre Instance aus.

  4. Wählen Sie Aktionen, Instance-Einstellungen und Instance-Metadata-Optionen ändern.

  5. Führen Sie im Dialogfeld Instance-Metadatenoptionen ändern Folgendes aus:

    1. Vergewissern Sie sich, dass für den Instance-Metadatenservice die Option Aktivieren ausgewählt ist.

    2. Wählen Sie für IMDSv2 die Option Optional.

    3. Wählen Sie Speichern.

AWS CLI
So stellen Sie die Verwendung von IMDSv1 auf einer Instance wieder her

Sie können den CLI-Befehl modify-instance-metadata-options verwenden, wobei http-tokens auf optional gesetzt ist, um die Verwendung von IMDSv1 beim Anfordern von Instance-Metadaten wiederherzustellen.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-tokens optional \ --http-endpoint enabled
PowerShell
So stellen Sie die Verwendung von IMDSv1 auf einer Instance wieder her

Sie können das Edit-EC2InstanceMetadataOption Cmdlet mit der HttpTokens Einstellung auf verwenden, optional um die Verwendung von IMDSv1 beim Anfordern von Instance-Metadaten wiederherzustellen.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpTokens optional ` -HttpEndpoint enabled).InstanceMetadataOptions

Ändern des PUT-Antwort-Hop-Limits

Für bestehende Instances können Sie die Einstellungen für das PUT-Antwort-Hop-Limit ändern.

Derzeit unterstützen nur die AWS SDKs AWS CLI und das Ändern des PUT-Antwort-Hop-Limits.

AWS CLI
So ändern Sie das PUT-Antwort-Hop-Limit

Verwenden Sie den CLI-Befehl modify-instance-metadata-options und setzen Sie den Parameter http-put-response-hop-limit auf die gewünschte Anzahl von Hops. Im folgenden Beispiel wird das Hop-Limit auf 3 gesetzt. Beachten Sie, dass Sie beim Angeben eines Werts für http-put-response-hop-limit auch http-endpoint auf enabled setzen müssen.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-put-response-hop-limit 3 \ --http-endpoint enabled
PowerShell
So ändern Sie das PUT-Antwort-Hop-Limit

Verwenden Sie das Edit-EC2InstanceMetadataOption Cmdlet und legen Sie den HttpPutResponseHopLimit Parameter auf die erforderliche Anzahl von Hops fest. Im folgenden Beispiel wird das Hop-Limit auf 3 gesetzt. Beachten Sie, dass Sie beim Angeben eines Werts für HttpPutResponseHopLimit auch HttpEndpoint auf enabled setzen müssen.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpPutResponseHopLimit 3 ` -HttpEndpoint enabled).InstanceMetadataOptions

IMDS-IPv4- und IPv6-Endpunkte aktivieren

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

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

Anforderungen für die Aktivierung des IPv6-Endpunkts

Derzeit unterstützen nur die AWS SDKs AWS CLI und die Aktivierung des IMDS-IPv6-Endpunkts nach dem Start der Instanz.

AWS CLI
So aktivieren Sie den IMDS IPv6-Endpunkt für Ihre Instance

Verwenden Sie den CLI-Befehl modify-instance-metadata-options und setzen Sie den Parameter http-protocol-ipv6 auf enabled. Beachten Sie, dass Sie beim Angeben eines Werts für http-protocol-ipv6 auch http-endpoint auf enabled setzen müssen.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-protocol-ipv6 enabled \ --http-endpoint enabled
PowerShell
So aktivieren Sie den IMDS IPv6-Endpunkt für Ihre Instance

Verwenden Sie das Edit-EC2InstanceMetadataOption Cmdlet und legen Sie den Parameter auf fest. HttpProtocolIpv6 enabled Beachten Sie, dass Sie beim Angeben eines Werts für HttpProtocolIpv6 auch HttpEndpoint auf enabled setzen müssen.

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpProtocolIpv6 enabled ` -HttpEndpoint enabled).InstanceMetadataOptions

Aktivieren des Zugriffs auf Instance-Metadaten

Sie können den Zugriff auf Instance-Metadaten aktivieren, indem Sie den HTTP-Endpunkt des IMDS auf Ihrer Instance aktivieren, unabhängig davon, welche Version des IMDS Sie verwenden. Sie können diese Änderung jederzeit rückgängig machen, indem Sie den HTTP-Endpunkt deaktivieren.

Verwenden Sie eine der folgenden Methoden, um den Zugriff auf Instance-Metadaten für eine Instance zu aktivieren.

Console
So aktivieren Sie den Zugriff auf Instance-Metadaten
  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie Ihre Instance aus.

  4. Wählen Sie Aktionen, Instance-Einstellungen und Instance-Metadata-Optionen ändern.

  5. Führen Sie im Dialogfeld Instance-Metadatenoptionen ändern Folgendes aus:

    1. Für den Instance-Metadatenservice wählen Sie die Option Aktivieren.

    2. Wählen Sie Speichern.

AWS CLI
So aktivieren Sie den Zugriff auf Instance-Metadaten

Verwenden Sie den CLI-Befehl modify-instance-metadata-options und setzen Sie den Parameter http-endpoint auf enabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-endpoint enabled
PowerShell
So aktivieren Sie den Zugriff auf Instance-Metadaten

Verwenden Sie das Edit-EC2InstanceMetadataOption Cmdlet und legen Sie den Parameter auf fest. HttpEndpoint enabled

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpEndpoint enabled).InstanceMetadataOptions

Deaktivieren des Zugriffs auf Instance-Metadaten

Sie können den Zugriff auf Instance-Metadaten deaktivieren, indem Sie den HTTP-Endpunkt des IMDS auf Ihrer Instance deaktivieren, unabhängig davon, welche Version des IMDS Sie verwenden. Sie können diese Änderung jederzeit rückgängig machen, indem Sie den HTTP-Endpunkt aktivieren.

Verwenden Sie eine der folgenden Methoden, um den Zugriff auf Instance-Metadaten für eine Instance zu deaktivieren.

Console
So deaktivieren Sie den Zugriff auf Instance-Metadaten
  1. Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie Ihre Instance aus.

  4. Wählen Sie Aktionen, Instance-Einstellungen und Instance-Metadata-Optionen ändern.

  5. Führen Sie im Dialogfeld Instance-Metadatenoptionen ändern Folgendes aus:

    1. Für den Instance-Metadatenservice entfernen Sie die Option Aktivieren.

    2. Wählen Sie Speichern.

AWS CLI
So deaktivieren Sie den Zugriff auf Instance-Metadaten

Verwenden Sie den CLI-Befehl modify-instance-metadata-options und setzen Sie den Parameter http-endpoint auf disabled.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-endpoint disabled
PowerShell
So deaktivieren Sie den Zugriff auf Instance-Metadaten

Verwenden Sie das Edit-EC2InstanceMetadataOption Cmdlet und legen Sie den Parameter auf fest. HttpEndpoint disabled

(Edit-EC2InstanceMetadataOption ` -InstanceId i-1234567890abcdef0 ` -HttpEndpoint disabled).InstanceMetadataOptions

Zulassen des Zugriffs auf Tags in Instance-Metadaten

Sie können den Zugriff auf Tags in den Instance-Metadaten einer laufenden oder angehaltenen Instance erlauben. Sie müssen den Zugriff für jede Instance explizit zulassen. Wenn der Zugriff erlaubt ist, müssen die Instance-Tag-Schlüssel bestimmten Zeichenbeschränkungen entsprechen, andernfalls schlägt der Instance-Start fehl. Weitere Informationen finden Sie unter Zugriff auf Tags in Instance-Metadaten ermöglichen.

Fehlerbehebung

Das Ändern einer Instanz schlägt fehl IMDSv1-enabled

Description

Sie erhalten die folgende Fehlermeldung:

You can't launch instances with IMDSv1 because httpTokensEnforced is enabled for this account. Either launch the instance with httpTokens=required or contact your account owner to disable httpTokensEnforced using the ModifyInstanceMetadataDefaults API or the account settings in the EC2 console.

Ursache

Dieser Fehler wird ausgelöst, wenn Sie versuchen, eine vorhandene Instance so zu ändern, dass IMDSv1 (httpTokens = optional) in einem Konto aktiviert wird, für das die EC2-Kontoeinstellungen oder eine deklarative AWS Organisationsrichtlinie die Verwendung von IMDSv2 () erzwingen. httpTokensEnforced = enabled

Lösung

Wenn Sie IMDSv1-Unterstützung für bestehende Instances benötigen, müssen Sie die IMDSv2-Durchsetzung für das Konto in der Region deaktivieren. Um die IMDSv2-Erzwingung zu deaktivieren, setzen Sie auf. HttpTokensEnforced disabled Weitere Informationen finden Sie ModifyInstanceMetadataDefaults in der Amazon EC2-API-Referenz. Wenn Sie diese Einstellung lieber über die Konsole konfigurieren möchten, finden Sie unterErzwingen Sie IMDSv2 auf Kontoebene.

Wir empfehlen, nur IMDSv2 () httpTokens=required zu verwenden. Weitere Informationen finden Sie unter Übergang zur Verwendung von Instance-Metadatenservice Version 2.