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 kontrollieren, welche Benutzer die Optionen für Instanz-Metadaten ändern können, geben Sie eine Richtlinie an, die verhindert, dass alle Benutzer außer Benutzern mit einer bestimmten Rolle die ModifyInstanceMetadataOptionsAPI 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.

Erfordern die Verwendung von IMDSv2

Verwenden Sie eine der folgenden Methoden, um die Optionen für Instanzmetadaten auf einer vorhandenen Instanz so zu ändern, dass diese Option bei der Anforderung von Instanz-Metadaten erforderlich IMDSv2 ist. Wann IMDSv2 ist erforderlich, IMDSv1 kann nicht verwendet werden.

Anmerkung

Bevor Sie verlangen, dass dies verwendet IMDSv2 wird, stellen Sie sicher, dass die Instanz keine IMDSv1 Aufrufe tätigt. Die MetadataNoToken CloudWatch Metrik verfolgt IMDSv1 Anrufe. Wenn für eine Instance keine IMDSv1 Nutzung MetadataNoToken aufgezeichnet wird, ist die Instance bereit, sie zu nutzen IMDSv2.

Console
Um die Verwendung von IMDSv2 auf einer vorhandenen Instanz vorzuschreiben
  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 IMDSv2die Option Erforderlich aus.

    3. Wählen Sie Speichern.

AWS CLI
Um die Verwendung von IMDSv2 auf einer vorhandenen Instanz zu verlangen

Verwenden Sie den modify-instance-metadata-optionsCLI-Befehl und setzen Sie den http-tokens Parameter aufrequired. 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
Um die Verwendung von IMDSv2 auf einer vorhandenen Instanz zu verlangen

Verwenden Sie das Edit-EC2InstanceMetadataOptionCmdlet und setzen Sie den HttpTokens Parameter auf. 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

Stellen Sie die Verwendung von wieder her IMDSv1

Wenn dies für eine Instanz erforderlich IMDSv2 ist, schlägt die Verwendung einer IMDSv1 Anfrage fehl. Wann IMDSv2 ist optional, dann IMDSv1 funktionieren IMDSv2 sowohl als auch. Setzen Sie daher zum Wiederherstellen IMDSv1 IMDSv2 den Wert auf optional (httpTokens = optional). Verwenden Sie dazu eine der folgenden Methoden.

Die httpTokensEnforced IMDS-Eigenschaft verhindert auch Versuche, die Aktivierung IMDSv1 auf einer vorhandenen Instanz durchzuführen. Wenn die Option für ein Konto in einer Region aktiviert ist, führt der Versuch, den Wert httpTokens auf zu optional setzen, zu einer UnsupportedOperation Ausnahme. Weitere Informationen finden Sie unterFehlerbehebung.

Wichtig

Wenn Ihre Instance-Starts aufgrund von IMDSv2 Zwangsmaßnahmen fehlschlagen, haben Sie zwei Möglichkeiten, um sicherzustellen, dass Starts erfolgreich sind:

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

  • Erzwingung deaktivieren — Wenn Ihre Software weiterhin davon abhängt IMDSv1, legen Sie disabled für httpTokensEnforced das Konto in der Region die Einstellung auf fest. Weitere Informationen finden Sie unter IMDSv2 Auf Kontoebene durchsetzen.

Console
Um die Nutzung von IMDSv1 auf einer Instanz wiederherzustellen
  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 IMDSv2Sie für Optional.

    3. Wählen Sie Speichern.

AWS CLI
Um die Verwendung von IMDSv1 auf einer Instanz wiederherzustellen

Sie können den modify-instance-metadata-optionsCLI-Befehl mit http-tokens set to verwenden, optional um die Verwendung von IMDSv1 bei der Anforderung von Instance-Metadaten wiederherzustellen.

aws ec2 modify-instance-metadata-options \ --instance-id i-1234567890abcdef0 \ --http-tokens optional \ --http-endpoint enabled
PowerShell
Um die Verwendung von IMDSv1 auf einer Instanz wiederherzustellen

Sie können das Edit-EC2InstanceMetadataOptionCmdlet mit der HttpTokens Einstellung auf verwenden, optional um die Verwendung von IMDSv1 bei der Anforderung von Instanzmetadaten 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 AWS SDKs unterstützen nur die AWS CLI und die Änderung des PUT-Antwort-Hop-Limits.

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

Verwenden Sie den modify-instance-metadata-optionsCLI-Befehl und setzen Sie den http-put-response-hop-limit Parameter auf die erforderliche 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-EC2InstanceMetadataOptionCmdlet und setzen Sie den HttpPutResponseHopLimit Parameter auf die erforderliche Anzahl von Hops. 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

Aktivieren Sie das IMDS und die Endpoints IPv4 IPv6

Das IMDS hat zwei Endpunkte auf einer Instanz: IPv4 (169.254.169.254) und (). IPv6 [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 Subnetz starten, das IPv6 nur für das Subnetz zuständig ist. 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

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

AWS CLI
Um den IPv6 IMDS-Endpunkt für Ihre Instance zu aktivieren

Verwenden Sie den modify-instance-metadata-optionsCLI-Befehl und setzen Sie den http-protocol-ipv6 Parameter aufenabled. 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
Um den IPv6 IMDS-Endpunkt für Ihre Instance zu aktivieren

Verwenden Sie das Edit-EC2InstanceMetadataOptionCmdlet und setzen Sie den HttpProtocolIpv6 Parameter auf. 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 modify-instance-metadata-optionsCLI-Befehl und setzen Sie den http-endpoint Parameter aufenabled.

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-EC2InstanceMetadataOptionCmdlet und setzen Sie den HttpEndpoint Parameter auf. 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 modify-instance-metadata-optionsCLI-Befehl und setzen Sie den http-endpoint Parameter aufdisabled.

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-EC2InstanceMetadataOptionCmdlet und setzen Sie den HttpEndpoint Parameter auf. 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 mit IMDSv1 -enabled schlägt fehl

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 bestehende Instance so zu ändern, dass sie IMDSv1 aktiviert wird (httpTokens = optional) in einem Konto, 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 Durchsetzung zu deaktivieren, stellen Sie HttpTokensEnforced auf eindisabled. Weitere Informationen finden Sie ModifyInstanceMetadataDefaultsin der Amazon EC2 API-Referenz. Wenn Sie diese Einstellung lieber über die Konsole konfigurieren möchten, finden Sie weitere Informationen unterIMDSv2 Auf Kontoebene durchsetzen.

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