Konfigurieren der Instance-Metadaten-Optionen - 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 der Instance-Metadaten-Optionen

Der Instanz-Metadatendienst (IMDS) wird lokal auf jeder EC2-Instance ausgeführt. Die Optionen für Instance-Metadaten beziehen sich auf eine Reihe von Konfigurationen, die den Zugriff und das Verhalten des IMDS auf einer EC2-Instance steuern.

Sie können die folgenden Optionen für Instance-Metadaten für jede Instance konfigurieren:

Dienst für Instanz-Metadaten (IMDS): | enabled disabled

Sie können den IMDS auf einer Instanz aktivieren oder deaktivieren. Wenn diese Option deaktiviert ist, können Sie oder ein anderer Code nicht auf die Instanz-Metadaten auf der Instanz zugreifen.

Das IMDS hat zwei Endpunkte auf einer Instance: IPv4 (169.254.169.254) und IPv6 (). [fd00:ec2::254] Wenn Sie das IMDS aktivieren, wird der IPv4-Endpunkt automatisch aktiviert. Wenn Sie den IPv6-Endpunkt aktivieren möchten, müssen Sie dies explizit tun.

IMDS IPv6-Endpunkt: | enabled disabled

Sie können den IPv6-IMDS-Endpunkt auf einer Instanz explizit aktivieren. Wenn der IPv6-Endpunkt aktiviert ist, bleibt der IPv4-Endpunkt aktiviert. Der IPv6-Endpunkt wird nur auf Instances unterstützt, die auf dem AWS Nitro-System basieren, und in einem IPv6-unterstützten Subnetz (Dual Stack oder nur IPv6).

Version der Metadaten: | IMDSv1 or IMDSv2 (token optional) IMDSv2 only (token required)

Bei der Anforderung von Instanz-Metadaten benötigen IMDSv2-Aufrufe ein Token. IMDSv1-Aufrufe benötigen kein Token. Sie können eine Instanz so konfigurieren, dass sie entweder IMDSv1- oder IMDSv2-Aufrufe (wobei ein Token optional ist) oder nur IMDSv2-Aufrufe erlaubt (für die ein Token erforderlich ist).

Limit für den Antwort-Hop für Metadaten: — 1 64

Das Hop-Limit ist die Anzahl der Netzwerk-Hops, die die PUT-Antwort ausführen darf. Sie können das Hop-Limit auf ein Minimum von 1 und ein Maximum von festlegen64. In einer Containerumgebung empfehlen wir, das Hop-Limit auf festzulegen2. Weitere Informationen finden Sie unter Überlegungen.

Zugriff auf Tags in Instanzmetadaten: enabled | disabled

Sie können den Zugriff auf die Tags der Instanz über die Metadaten einer Instanz aktivieren oder deaktivieren. Weitere Informationen finden Sie unter Arbeiten mit Instance-Tags in Instance-Metadaten.

Wo können die Optionen für Instanz-Metadaten konfiguriert werden

Die Optionen für Instanz-Metadaten können wie folgt auf verschiedenen Ebenen konfiguriert werden:

  • Konto — Sie können Standardwerte für die Instanz-Metadatenoptionen auf Kontoebene für jede Option festlegen AWS-Region. Wenn eine Instance gestartet wird, werden die Optionen für die Instance-Metadaten automatisch auf die Werte auf Kontoebene festgelegt. Sie können diese Werte beim Start ändern. Standardwerte auf Kontoebene wirken sich nicht auf bestehende Instances aus.

  • AMI — Sie können den imds-support Parameter auf festlegen, v2.0 wenn Sie ein AMI registrieren oder ändern. Wenn eine Instance mit diesem AMI gestartet wird, wird die Version der Instance-Metadaten automatisch auf IMDSv2 und das Hop-Limit auf 2 gesetzt.

  • Instance — Sie können alle Optionen für Instance-Metadaten einer Instance beim Start ändern und dabei die Standardeinstellungen außer Kraft setzen. Sie können die Optionen für Instance-Metadaten auch nach dem Start einer laufenden oder angehaltenen Instance ändern. Beachten Sie, dass Änderungen möglicherweise durch eine IAM- oder SCP-Richtlinie eingeschränkt werden.

Weitere Informationen finden Sie unter Konfigurieren von Instance-Metadatenoptionen für neue Instances und Modifizieren von Instance-Metadatenoptionen für vorhandene Instances.

Rangfolge der Optionen für Instanz-Metadaten

Der Wert für jede Instance-Metadatenoption wird beim Start der Instance in einer hierarchischen Rangfolge festgelegt. Die Hierarchie mit der höchsten Priorität an der Spitze sieht wie folgt aus:

  • Priorität 1: Instanzkonfiguration beim Start — Werte können entweder in der Startvorlage oder in der Instanzkonfiguration angegeben werden. Alle hier angegebenen Werte haben Vorrang vor Werten, die auf Kontoebene oder im AMI angegeben wurden.

  • Priorität 2: Kontoeinstellungen — Wenn beim Start der Instance kein Wert angegeben wird, wird er durch die Einstellungen auf Kontoebene bestimmt (die für jede Instanz festgelegt sind). AWS-Region Einstellungen auf Kontoebene enthalten entweder einen Wert für jede Metadatenoption oder geben an, dass überhaupt keine Präferenz ausgewählt wird.

  • Priorität 3: AMI-Konfiguration — Wenn beim Start der Instanz oder auf Kontoebene kein Wert angegeben wird, wird er durch die AMI-Konfiguration bestimmt. Dies gilt nur für HttpTokens und HttpPutResponseHopLimit.

Jede Metadatenoption wird separat bewertet. Die Instance kann mit einer Mischung aus direkter Instance-Konfiguration, Standardeinstellungen auf Kontoebene und der Konfiguration aus dem AMI konfiguriert werden.

Sie können den Wert jeder Metadatenoption nach dem Start einer laufenden oder angehaltenen Instance ändern, sofern die Änderungen nicht durch eine IAM- oder SCP-Richtlinie eingeschränkt sind.

Ermitteln Sie Werte für Metadatenoptionen — Beispiel 1

In diesem Beispiel wird eine EC2-Instance in einer Region gestartet, für die 1 auf Kontoebene festgelegt HttpPutResponseHopLimit ist. Das angegebene AMI wurde auf ImdsSupport eingestelltv2.0. Beim Start werden keine Metadatenoptionen direkt auf der Instance angegeben. Die Instance wird mit den folgenden Metadatenoptionen gestartet:

"MetadataOptions": { ... "HttpTokens": "required", "HttpPutResponseHopLimit": 1, ...

Diese Werte wurden wie folgt bestimmt:

  • Beim Start wurden keine Metadatenoptionen angegeben: Beim Start der Instance wurden weder in den Instance-Startparametern noch in der Startvorlage spezifische Werte für die Metadatenoptionen angegeben.

  • Kontoeinstellungen haben als Nächstes Vorrang: Wenn beim Start keine spezifischen Werte angegeben wurden, haben die Einstellungen auf Kontoebene innerhalb der Region Vorrang. Das bedeutet, dass die auf Kontoebene konfigurierten Standardwerte angewendet werden. In diesem Fall HttpPutResponseHopLimit wurde der auf gesetzt1.

  • AMI-Einstellungen haben letzten Vorrang: Wenn beim Start oder auf Kontoebene kein bestimmter Wert angegeben wurde HttpTokens (die Instance-Metadatenversion), wird die AMI-Einstellung angewendet. In diesem Fall wurde anhand der AMI-Einstellung ImdsSupport: v2.0 festgelegt, dass dies auf eingestellt HttpTokens warrequired. Beachten Sie, dass die AMI-Einstellung zwar für die Einstellung vorgesehen ImdsSupport: v2.0 istHttpPutResponseHopLimit: 2, sie jedoch durch die Einstellung auf Kontoebene, die höhere Priorität hatHttpPutResponseHopLimit: 1, außer Kraft gesetzt wurde.

Ermitteln Sie Werte für Metadatenoptionen — Beispiel 2

In diesem Beispiel wird die EC2-Instance mit den gleichen Einstellungen wie im vorherigen Beispiel 1 gestartet, allerdings mit der HttpTokens Einstellung optional direkt auf der Instance beim Start. Die Instance wird mit den folgenden Metadatenoptionen gestartet:

"MetadataOptions": { ... "HttpTokens": "optional", "HttpPutResponseHopLimit": 1, ...

Der Wert für HttpPutResponseHopLimit wird auf die gleiche Weise wie in Beispiel 1 bestimmt. Der Wert für HttpTokens wird jedoch wie folgt bestimmt: Metadatenoptionen, die beim Start auf der Instance konfiguriert wurden, haben Vorrang. Obwohl das AMI mit konfiguriert war ImdsSupport: v2.0 (mit anderen Worten auf gesetzt HttpTokens istrequired), hatte der Wert, der beim Start auf der Instance angegeben wurde (HttpTokensgesetzt aufoptional), Vorrang.

Legen Sie die Version der Instance-Metadaten fest

Wenn eine Instanz gestartet wird, ist der Wert für die Version der Instanz-Metadaten entweder IMDSv1 or IMDSv2 (token optional) oderIMDSv2 only (token required).

Beim Start der Instance können Sie den Wert für die Metadatenversion entweder manuell angeben oder den Standardwert verwenden. Wenn Sie den Wert manuell angeben, überschreibt er alle Standardwerte. Wenn Sie den Wert nicht manuell angeben möchten, wird er durch eine Kombination von Standardeinstellungen bestimmt, wie in der folgenden Tabelle beschrieben.

Die Tabelle zeigt, wie die Metadatenversion für eine Instance beim Start (angezeigt durch Resultierende Instance-Konfiguration in Spalte 4) durch die Einstellungen auf den verschiedenen Konfigurationsebenen bestimmt wird. Die Rangfolge erfolgt von links nach rechts, wobei die erste Spalte die höchste Priorität hat, und zwar wie folgt:

  • Spalte 1: Startparameter — Stellt die Einstellung für die Instance dar, die Sie beim Start manuell angeben.

  • Spalte 2: Standard auf Kontoebene — Stellt die Einstellung für das Konto dar.

  • Spalte 3: AMI-Standard — Stellt die Einstellung auf dem AMI dar.

Startparameter Standard auf Kontoebene AMI-Standard Resultierende Instanzkonfiguration
Nur V2 (Token erforderlich) Keine Präferenz Nur V2 Nur V2
Nur V2 (Token erforderlich) Nur V2 Nur V2 Nur V2
Nur V2 (Token erforderlich) V1 oder V2 Nur V2 Nur V2
V1 oder V2 (Token optional) Keine Präferenz Nur V2 V1 oder V2
V1 oder V2 (Token optional) Nur V2 Nur V2 V1 oder V2
V1 oder V2 (Token optional) V1 oder V2 Nur V2 V1 oder V2
Nicht gesetzt Keine Präferenz Nur V2 Nur V2
Nicht gesetzt Nur V2 Nur V2 Nur V2
Nicht gesetzt V1 oder V2 Nur V2 V1 oder V2
Nur V2 (Token erforderlich) Keine Präferenz Null Nur V2
Nur V2 (Token erforderlich) Nur V2 Null Nur V2
Nur V2 (Token erforderlich) V1 oder V2 Null Nur V2
V1 oder V2 (Token optional) Keine Präferenz Null V1 oder V2
V1 oder V2 (Token optional) Nur V2 Null V1 oder V2
V1 oder V2 (Token optional) V1 oder V2 Null V1 oder V2
Nicht gesetzt Keine Präferenz Null V1 oder V2
Nicht gesetzt Nur V2 Null Nur V2
Nicht gesetzt V1 oder V2 Null V1 oder V2

Verwenden Sie IAM-Bedingungsschlüssel, um die Optionen für Instanz-Metadaten einzuschränken

Sie können IAM-Bedingungsschlüssel in einer IAM-Richtlinie oder einem SCP wie folgt verwenden:

  • Zulassen, dass eine Instance nur gestartet wird, wenn sie so konfiguriert ist, dass sie die Verwendung von IMDSv2 erzwingt

  • Beschränken der Anzahl der zulässigen Hops

  • Deaktivieren des Zugriffs auf Instance-Metadaten

Anmerkung

Sie sollten vorsichtig vorgehen und sorgfältige Tests durchführen, bevor Sie Änderungen vornehmen. Beachten Sie die folgenden Punkte:

  • Wenn Sie die Verwendung von IMDSv2 erzwingen, werden Anwendungen oder Agenten, die IMDSv1 für Instance-Metadatenzugriffe verwenden, unterbrochen.

  • Wenn Sie den gesamten Zugriff auf Instance-Metadaten deaktivieren, werden Anwendungen oder Agenten, die auf Instance-Metadaten angewiesen sind, den Zugriff auf die Funktion verlieren.

  • Für IMDSv2 müssen Sie /latest/api/token beim Abrufen des Tokens nutzen.

  • (Nur Windows) Wenn Ihre PowerShell Version älter als 4.0 ist, müssen Sie auf Windows Management Framework 4.0 aktualisieren, um die Verwendung von IMDSv2 zu erfordern.