View a markdown version of this page

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

Der Instance Metadata Service (IMDS) wird lokal auf jeder EC2-Instance ausgeführt. Die Instance-Metadatenoptionen beziehen sich auf eine Reihe von Konfigurationen, welche die Zugänglichkeit 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:

Instance Metadata Service (IMDS): enabled | disabled

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

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. 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 Instance explizit aktivieren. Wenn der IPv6-Endpunkt aktiviert ist, bleibt der IPv4-Endpunkt aktiviert. Der IPv6-Endpunkt wird nur auf Nitro-based Instances in IPv6-supported Subnetzen unterstützt (nur Dual-Stack oder IPv6).

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

Bei der Abfrage von Instance-Metadaten ist bei IMDSv2-Aufrufen ein Token erforderlich. IMDSv1-Aufrufe erfordern kein Token. Sie können eine Instance 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).

Metadaten-Antwort-Hop-Limits: 1   – 64

Das Hop-Limit ist die Anzahl der Netzwerk-Hops, die PUT-Antwort ausführen darf. Sie können das Hop-Limit auf ein Minimum von 1 und ein Maximum von 64 festlegen. In einer Container-Umgebung kann ein Hop-Limit von 1 zu Problemen führen. Informationen zur Behebung dieser Probleme finden Sie in den Informationen zu Containerumgebungen unter Überlegungen zum Instance-Zugriff auf Instance-Metadaten.

Zugriffs auf Tags in Instance-Metadaten: enabled | disabled

Sie können den Zugriff auf die Tags der Instance in den Metadaten der Instance aktivieren oder deaktivieren. Weitere Informationen finden Sie unter Tags für Ihre EC2-Instances mithilfe von Instance-Metadaten anzeigen.

Informationen zum Anzeigen der aktuellen Konfiguration einer Instance finden Sie unter Abfragen von Instance-Metadatenoptionen für vorhandene Instances.

Konfigurieren der Instance-Metadaten-Optionen

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

  • Konto – Sie können Standardwerte für die Instance-Metadatenoptionen auf Kontoebene für jede AWS-Region festlegen. 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. Account-level Standardwerte wirken sich nicht auf bestehende Instanzen aus.

  • AMI – Wenn Sie ein neues AMI registrieren oder ein vorhandenes AMI ändern, können Sie den Parameter imds-support auf v2.0 setzen. 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 überschreiben. Sie können auch nach dem Start auf einer ausgeführten oder angehaltenen Instance die Instance-Metadaten-Optionen ändern. Beachten Sie, dass Änderungen möglicherweise durch eine IAM- oder SCP-Richtlinie eingeschränkt werden.

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

Rangfolge der Optionen für Instance-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 oberster Stelle sieht wie folgt aus:

  • Priorität 1: Instance-Konfiguration beim Start – Werte können entweder in der Startvorlage oder in der Instance-Konfiguration 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 werden). AWS-Region Account-levelDie Einstellungen enthalten entweder einen Wert für jede Metadatenoption oder geben überhaupt keine Präferenz an.

  • Priorität 3: AMI-Konfiguration – Wenn beim Start der Instance 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.

Anmerkung

Die IMDSv2-Erzwingungseinstellung auf Kontoebene wird ausgewertet, nachdem die IMDS-Einstellungen der Instanz anhand der Rangfolge festgelegt wurden. Wenn die IMDSv2-Erzwingung aktiviert ist, schlagen Instances, die mit IMDSv1 aktiviert wurden, fehl. Weitere Informationen zur Durchsetzung finden Sie unter. Erzwingen Sie IMDSv2 auf Kontoebene

Warnung

Wenn die IMDSv2-Erzwingung aktiviert httpTokens ist und weder required in der Instance-Konfiguration beim Start noch in den Kontoeinstellungen noch in der AMI-Konfiguration auf diese Option gesetzt wurde, schlägt Ihr Start fehl.

Beispiel 1 — Ermitteln Sie Werte für Metadatenoptionen

In diesem Beispiel wird eine EC2-Instance in einer Region gestartet, für die das HttpPutResponseHopLimit auf 1 auf Kontoebene festgelegt ist. Das angegebene AMI hat ImdsSupport auf v2.0 eingestellt. 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 wurde der HttpPutResponseHopLimit auf 1 gesetzt.

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

Beispiel 2 — Ermitteln Sie Werte für Metadatenoptionen

In diesem Beispiel wird die EC2-Instance mit den gleichen Einstellungen wie im vorherigen Beispiel 1 gestartet, allerdings HttpTokens mit der 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 ImdsSupport: v2.0 konfiguriert war (mit anderen Worten HttpTokens ist aufrequired gesetzt), hatte der Wert, der beim Start auf der Instance angegeben wurde (HttpTokens gesetzt auf optional), Vorrang.

Beispiel 3 — Ermitteln Sie Werte für Metadatenoptionen mit HttpTokensEnforced aktivierter Option

In diesem Beispiel hat das Konto in der Region HttpTokens = required undHttpTokensEnforced = enabled.

Ziehen Sie die folgenden Startversuche für EC2-Instances in Betracht:

  • Startversuch mit HttpTokens Einstellung auf optional — Der Start schlägt fehl, weil die Durchsetzung auf Kontoebene aktiviert ist (HttpTokensEnforced = enabled) und der Startparameter Vorrang vor dem Kontostandard hat.

  • Startversuch mit der HttpTokens Einstellung auf required — Der Start ist erfolgreich, da er den Anforderungen der Durchsetzung auf Kontoebene entspricht.

  • Startversuch ohne Angabe eines HttpTokens Werts — Der Start ist erfolgreich, da der Standardwert auf den Kontoeinstellungen required basiert.

Version der Instance-Metadaten festlegen

Wenn eine Instance gestartet wird, lautet der Wert für die Instance-Metadatenversion entweder IMDSv1 oder IMDSv2 (Token optional) () oder nur IMDSv2 (Token erforderlichhttpTokens=optional) (). httpTokens=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 sich dafür entscheiden, den Wert nicht manuell anzugeben, wird er durch eine Kombination von Standardeinstellungen bestimmt.

Das folgende Flussdiagramm zeigt, wie die Metadatenversion für eine Instance beim Start durch die Einstellungen auf den verschiedenen Ebenen der Konfiguration bestimmt wird und wo die Durchsetzung bewertet wird. Die folgende Tabelle enthält die spezifischen Einstellungen auf jeder Ebene.

Ein Flussdiagramm, das die Bewertungspunkte für die Version der Instanz-Metadaten und die IMDSv2-Durchsetzung zeigt.

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 den höchsten Vorrang 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 Standard-AMI Resultierende Instance-Konfiguration
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 Instance-Metadaten einzuschränken

Sie können auch IAM-Bedingungsschlüssel in einer IAM-Richtlinie oder 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.