

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
<a name="configuring-IMDS-new-instances"></a>

Sie können die folgenden Instance-Metadatenoptionen für neue Instances konfigurieren.

**Topics**
+ [Erzwingen der Verwendung von IMDSv2](#configure-IMDS-new-instances)
+ [IMDS-IPv4- und IPv6-Endpunkte aktivieren](#configure-IMDS-new-instances-ipv4-ipv6-endpoints)
+ [Deaktivieren des Zugriffs auf Instance-Metadaten](#configure-IMDS-new-instances--turn-off-instance-metadata)
+ [Zulassen des Zugriffs auf Tags in Instance-Metadaten](#configure-IMDS-new-instances-tags-in-instance-metadata)

**Anmerkung**  
Diese Einstellung wird auf Kontoebene konfiguriert, entweder direkt im Konto oder mithilfe einer deklarativen Richtlinie. Sie müssen in jeder AWS-Region konfiguriert werden, in der Sie die Optionen für Instance-Metadaten konfigurieren möchten. Mithilfe einer deklarativen Richtlinie können Sie die Einstellung auf mehrere Regionen gleichzeitig, sowie auf mehrere Konten gleichzeitig anwenden. Wenn eine deklarative Richtlinie verwendet wird, können Sie die Einstellung nicht direkt in einem Konto ändern. In diesem Thema wird beschrieben, wie Sie die Einstellung direkt in einem Konto konfigurieren. Informationen zur Verwendung deklarativer Richtlinien finden Sie unter [Deklarative Richtlinien](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) im *AWS Organizations -Benutzerhandbuch*.

## Erzwingen der Verwendung von IMDSv2
<a name="configure-IMDS-new-instances"></a>

Verwenden Sie eine der folgenden Methoden, um die Verwendung von IMDSv2 für Ihre Instances erforderlich zu machen.

**Topics**
+ [Legen Sie IMDSv2 als Standard für das Konto fest](#set-imdsv2-account-defaults)
+ [Erzwingen Sie IMDSv2 auf Kontoebene](#enforce-imdsv2-at-the-account-level)
+ [Konfigurieren der Instance beim Start](#configure-IMDS-new-instances-instance-settings)
+ [Konfigurieren des AMI](#configure-IMDS-new-instances-ami-configuration)
+ [Verwenden einer IAM-Richtlinie](#configure-IMDS-new-instances-iam-policy)

### Legen Sie IMDSv2 als Standard für das Konto fest
<a name="set-imdsv2-account-defaults"></a>

Sie können die Standardversion für den Instanzmetadatendienst (IMDS) jeweils auf Kontoebene festlegen. AWS-Region Das heißt, wenn Sie eine *neue* Instance starten, wird die Instance-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 Instance-Metadaten](configuring-instance-metadata-options.md#instance-metadata-options-order-of-precedence).

**Anmerkung**  
*Durch das Festlegen der Standardeinstellung auf Kontoebene werden bestehende Instances nicht zurückgesetzt.* Wenn Sie beispielsweise den Standard auf Kontoebene auf IMDSv2 festlegen, sind alle vorhandenen Instances, 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 Instance-Metadatenversion auf IMDSv2 festlegen, sodass alle *neuen* Instances beim Kontostart mit IMDSv2 erforderlich sind und IMDSv1 deaktiviert wird. Bei diesem standardmäßigen Konto gelten beim Start 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 `required` gesetzt und `HttpPutResponseHopLimit` ist auf `2` gesetzt. 

**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 Pfad zur Anforderung IMDSv2](instance-metadata-transition-to-version-2.md#recommended-path-for-requiring-imdsv2).

------
#### [ Console ]

**So legen Sie IMDSv2 als Standard für das Konto für die angegebene Region fest**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

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

1. Wählen Sie im Navigationsbereich **Dashboard (Dashboard)**.

1. Wählen Sie auf der ** Karte ** Kontoattribute unter ** Einstellungen die Option ** Datenschutz ** und Sicherheit aus. **

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

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

   1. Für den **Instance-Metadaten-Services** wählen Sie die Option **Aktivieren**.

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

   1. Geben Sie für **Metadaten-Antwort-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 wird, ist der Wert beim Start standardmäßig **2**, wenn das AMI die Einstellung `ImdsSupport: v2.0` hat; andernfalls ist er standardmäßig **1**.

   1. Wählen Sie **Aktualisieren** aus.

------
#### [ AWS CLI ]

**So legen Sie IMDSv2 als Standard für das Konto für die angegebene Region fest**  
Verwenden Sie den Befehl [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) und geben Sie die Region an, in der die Einstellungen auf IMDS-Kontoebene geändert werden sollen. Schließen Sie die Einstellung `--http-tokens` auf `required` ein und legen Sie `--http-put-response-hop-limit` auf `2` fest, wenn Ihre Instances Container hosten werden. Geben Sie andernfalls `-1` an, dass keine Präferenz angegeben werden soll. Wenn `-1` (keine Präferenz) angegeben wird, ist der Wert beim Start standardmäßig `2`, wenn das AMI die Einstellung `ImdsSupport: v2.0` hat; andernfalls ist er standardmäßig `1`.

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

Es folgt eine Beispielausgabe.

```
{
    "Return": true
}
```

**So zeigen Sie die Standard-Kontoeinstellungen für die Instance-Metadatenoptionen für die angegebene Region an**  
Verwenden Sie den Befehl [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html) und geben Sie die Region an.

```
aws ec2 get-instance-metadata-defaults --region {{us-east-1}}
```

Es folgt eine Beispielausgabe.

```
{
    "AccountLevel": {
        "HttpTokens": "required",
        "HttpPutResponseHopLimit": 2
    },
    "ManagedBy": "account"
}
```

Das `ManagedBy`-Feld gibt die Entität an, die die Einstellung konfiguriert hat. `account` zeigt in diesem Beispiel an, dass die Einstellung direkt im Konto konfiguriert wurde. Ein Wert von `declarative-policy` würde bedeuten, dass die Einstellung durch eine deklarative Richtlinie konfiguriert wurde. Weitere Informationen finden Sie unter [Deklarative Richtlinien](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) im *AWS Organizations -Benutzerhandbuch*.

**So legen Sie IMDSv2 als Standard für das Konto für alle Regionen fest**  
Verwenden Sie den Befehl [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) um die Einstellungen auf IMDS-Kontoebene für alle Regionen zu ändern. Schließen Sie die Einstellung `--http-tokens` auf `required` ein und legen Sie `--http-put-response-hop-limit` auf `2` fest, wenn Ihre Instances Container hosten werden. Geben Sie andernfalls `-1` an, dass keine Präferenz angegeben werden soll. Wenn `-1` (keine Präferenz) angegeben wird, ist der Wert beim Start standardmäßig `2`, wenn das AMI die Einstellung `ImdsSupport: v2.0` hat; andernfalls ist er standardmäßig `1`.

```
echo -e "Region          \t Modified" ; \
echo -e "--------------  \t ---------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 modify-instance-metadata-defaults \
            --region $region \
            --http-tokens required \
            --http-put-response-hop-limit {{2}} \
            --output text)
        echo -e "$region        \t $output"
    );
done
```

Es folgt eine Beispielausgabe.

```
Region                   Modified
--------------           ---------
ap-south-1               True
eu-north-1               True
eu-west-3                True
...
```

**So zeigen Sie die Standard-Kontoeinstellungen für die Instance-Metadatenoptionen für alle Regionen an**  
Verwenden Sie den Befehl [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html).

```
echo -e "Region   \t Level          Hops    HttpTokens" ; \
echo -e "-------------- \t ------------   ----    ----------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 get-instance-metadata-defaults \
            --region $region \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

Es folgt eine Beispielausgabe.

```
Region           Level          Hops    HttpTokens
--------------   ------------   ----    ----------
ap-south-1       ACCOUNTLEVEL   2       required
eu-north-1       ACCOUNTLEVEL   2       required
eu-west-3        ACCOUNTLEVEL   2       required
...
```

------
#### [ PowerShell ]

**So legen Sie IMDSv2 als Standard für das Konto für die angegebene Region fest**  
Verwenden Sie das [ Edit-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html) Cmdlet und geben Sie die Region an, in der die Einstellungen auf IMDS-Kontoebene geändert werden sollen. Schließen Sie die Einstellung `-HttpToken` auf `required` ein und legen Sie `-HttpPutResponseHopLimit` auf `2` fest, wenn Ihre Instances Container hosten werden. Geben Sie andernfalls `-1` an, dass keine Präferenz angegeben werden soll. Wenn `-1` (keine Präferenz) angegeben wird, ist der Wert beim Start standardmäßig `2`, wenn das AMI die Einstellung `ImdsSupport: v2.0` hat; andernfalls ist er standardmäßig `1`.

```
Edit-EC2InstanceMetadataDefault `
    -Region {{us-east-1}} `
    -HttpToken required `
    -HttpPutResponseHopLimit {{2}}
```

Es folgt eine Beispielausgabe.

```
True
```

**So zeigen Sie die Standard-Kontoeinstellungen für die Instance-Metadatenoptionen für die angegebene Region an**  
Verwenden Sie das [ Get-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceMetadataDefault.html) Cmdlet und geben Sie die Region an.

```
Get-EC2InstanceMetadataDefault -Region {{us-east-1}} | Format-List
```

Es folgt eine Beispielausgabe.

```
HttpEndpoint            : 
HttpPutResponseHopLimit : {{2}}
HttpTokens              : required
InstanceMetadataTags    :
```

**So legen Sie IMDSv2 als Standard für das Konto für alle Regionen fest**  
Verwenden Sie das [ Edit-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html) Cmdlet, um die Einstellungen auf IMDS-Kontoebene für alle Regionen zu ändern. Schließen Sie die Einstellung `-HttpToken` auf `required` ein und legen Sie `-HttpPutResponseHopLimit` auf `2` fest, wenn Ihre Instances Container hosten werden. Geben Sie andernfalls `-1` an, dass keine Präferenz angegeben werden soll. Wenn `-1` (keine Präferenz) angegeben wird, ist der Wert beim Start standardmäßig `2`, wenn das AMI die Einstellung `ImdsSupport: v2.0` hat; andernfalls ist er standardmäßig `1`.

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region   = $_
        Modified = (Edit-EC2InstanceMetadataDefault `
                -Region $_ `
                -HttpToken required `
                -HttpPutResponseHopLimit {{2}})
    } 
} | `
Format-Table Region, Modified -AutoSize
```

Erwartete Ausgabe

```
Region         Modified
------         --------
ap-south-1         True
eu-north-1         True
eu-west-3          True
...
```

**So zeigen Sie die Standard-Kontoeinstellungen für die Instance-Metadatenoptionen für alle Regionen an**  
Verwenden Sie das cmdlet [Get-EC2InstanceMetadataDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceMetadataDefault.html).

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region = $_
        HttpPutResponseHopLimit = (Get-EC2InstanceMetadataDefault -Region $_).HttpPutResponseHopLimit
        HttpTokens              = (Get-EC2InstanceMetadataDefault -Region $_).HttpTokens
    }
} | `
Format-Table -AutoSize
```

Beispielausgabe

```
Region         HttpPutResponseHopLimit HttpTokens
------         ----------------------- ----------
ap-south-1                           2 required
eu-north-1                           2 required
eu-west-3                            2 required                    
...
```

------

### Erzwingen Sie IMDSv2 auf Kontoebene
<a name="enforce-imdsv2-at-the-account-level"></a>

Sie können die Verwendung von IMDSv2 auf Kontoebene für jedes Konto erzwingen. AWS-Region Wenn dies erzwungen wird, können Instances nur gestartet werden, wenn sie so konfiguriert sind, dass IMDSv2 erforderlich ist. Diese Durchsetzung gilt unabhängig davon, wie die Instance oder das AMI konfiguriert ist.

**Anmerkung**  
Bevor Sie die IMDSv2-Durchsetzung auf Kontoebene aktivieren, stellen Sie sicher, dass Ihre Anwendungen und AMIs IMDSv2 unterstützen. Weitere Informationen finden Sie unter [Empfohlener Pfad zur Anforderung IMDSv2](instance-metadata-transition-to-version-2.md#recommended-path-for-requiring-imdsv2). 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 ist, schlägt der Instance-Start fehl. Informationen zur Problembehebung finden Sie unter [Das Starten einer IMDSv1 -fähigen Instance schlägt fehl](troubleshooting-launch.md#launching-an-imdsv1-enabled-instance-fails).

**Anmerkung**  
Diese Einstellung ändert nicht die IMDS-Version vorhandener Instances, blockiert jedoch die Aktivierung von IMDSv1 auf vorhandenen Instances, für die IMDSv1 derzeit deaktiviert ist.

------
#### [ Console ]

**Um IMDSv2 für das Konto in der angegebenen Region durchzusetzen**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

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

1. Wählen Sie im Navigationsbereich **Dashboard (Dashboard)**.

1. Wählen Sie auf der ** Karte ** Kontoattribute unter ** Einstellungen ** die Option ** Datenschutz und Sicherheit ** aus.

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

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

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

   1. Wählen Sie für ** Enforce IMDSv2 die Option ** Aktiviert aus**. **

   1. Wählen Sie **Aktualisieren** aus.

------
#### [ AWS CLI ]

**Um IMDSv2 für das Konto in der angegebenen Region durchzusetzen**  
 Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) modify-instance-metadata-defaults und geben Sie die Region an, in der IMDSv2 erzwungen werden soll. 

```
aws ec2 modify-instance-metadata-defaults \
    --region {{us-east-1}} \
    --http-tokens required \
    --http-tokens-enforced enabled
```

Es folgt eine Beispielausgabe.

```
{
"Return": true
}
```

**Um die IMDSv2-Erzwingungseinstellung für das Konto in einer bestimmten Region anzuzeigen**  
Verwenden Sie den Befehl [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html) und geben Sie die Region an.

```
aws ec2 get-instance-metadata-defaults --region {{us-east-1}}
```

Es folgt eine Beispielausgabe.

```
{
    "AccountLevel": {
        "HttpTokens": "required",
        "HttpTokensEnforced": "enabled"
    },
    "ManagedBy": "account"
}
```

Das `ManagedBy`-Feld gibt die Entität an, die die Einstellung konfiguriert hat. `account` zeigt in diesem Beispiel an, dass die Einstellung direkt im Konto konfiguriert wurde. Ein Wert von `declarative-policy` würde bedeuten, dass die Einstellung durch eine deklarative Richtlinie konfiguriert wurde. Weitere Informationen finden Sie unter [ Deklarative Richtlinien ](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) im *AWS Organizations User Guide. *

**Um IMDSv2 für das Konto für alle Regionen durchzusetzen**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) modify-instance-metadata-defaults, um IMDSv2 in allen Regionen durchzusetzen.

```
echo -e "Region          \t Modified" ; \
echo -e "--------------  \t ---------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 modify-instance-metadata-defaults \
            --region $region \
            --http-tokens-enforced enabled \
            --output text)
        echo -e "$region        \t $output"
    );
done
```

Es folgt eine Beispielausgabe.

```
Region                   Modified
--------------           ---------
ap-south-1               True
eu-north-1               True
eu-west-3                True
...
```

**Um die IMDSv2-Erzwingungseinstellungen für das Konto in allen Regionen anzuzeigen**  
Verwenden Sie den Befehl [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html).

```
echo -e "Region   \t Level           HttpTokensEnforced" ; \
echo -e "-------------- \t ------------   ----------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 get-instance-metadata-defaults \
            --region $region \
            --query 'AccountLevel.HttpTokensEnforced' \           
            --output text)
        echo -e "$region \t ACCOUNTLEVEL $output" 
    );
done
```

Es folgt eine Beispielausgabe.

```
Region           Level          HttpTokensEnforced
--------------   ------------   ------------------
ap-south-1       ACCOUNTLEVEL   enabled
eu-north-1       ACCOUNTLEVEL   enabled
eu-west-3        ACCOUNTLEVEL   enabled
...
```

------
#### [ PowerShell ]

**Um IMDSv2 für das Konto in der angegebenen Region durchzusetzen**  
Verwenden Sie das [ Edit-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html) Cmdlet und geben Sie die Region an, in der IMDSv2 erzwungen werden soll. 

```
Edit-EC2InstanceMetadataDefault `
    -Region {{us-east-1}} `
    -HttpToken required `
    -HttpPutResponseHopLimit 2
```

Es folgt eine Beispielausgabe.

```
@{
    Return = $true
}
```

**Um die IMDSv2-Erzwingungseinstellung für das Konto in einer bestimmten Region anzuzeigen**  
Verwenden Sie den Get-EC2InstanceMetadataDefault Befehl und geben Sie die Region an.

```
Get-EC2InstanceMetadataDefault -Region {{us-east-1}}
```

Es folgt eine Beispielausgabe.

```
@{
    AccountLevel = @{
        HttpTokens = "required"
        HttpTokensEnforced = "enabled"
    }
    ManagedBy = "account"
}
```

Das `ManagedBy`-Feld gibt die Entität an, die die Einstellung konfiguriert hat. `account` zeigt in diesem Beispiel an, dass die Einstellung direkt im Konto konfiguriert wurde. Ein Wert von `declarative-policy` würde bedeuten, dass die Einstellung durch eine deklarative Richtlinie konfiguriert wurde. Weitere Informationen finden Sie unter [ Deklarative Richtlinien ](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) im *AWS Organizations User Guide*.

**Um IMDSv2 für das Konto für alle Regionen durchzusetzen**  
Verwenden Sie den Befehl [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) modify-instance-metadata-defaults, um IMDSv2 in allen Regionen durchzusetzen.

```
echo -e "Region          \t Modified" ; \
echo -e "--------------  \t ---------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 modify-instance-metadata-defaults \
            --region $region \
            --http-tokens-enforced enabled \
            --output text)
        echo -e "$region        \t $output"
    );
done
```

Es folgt eine Beispielausgabe.

```
Region                   Modified
--------------           ---------
ap-south-1               True
eu-north-1               True
eu-west-3                True
...
```

**So legen Sie IMDSv2 als Standard für das Konto für alle Regionen fest**  
Verwenden Sie das Cmdlet, um die Einstellungen auf IMDS-Kontoebene für [ Edit-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html) alle Regionen zu ändern. Schließen Sie die Einstellung `-HttpToken` auf `required` ein und legen Sie `-HttpPutResponseHopLimit` auf `2` fest, wenn Ihre Instances Container hosten werden. Geben Sie andernfalls `-1` an, dass keine Präferenz angegeben werden soll. Wenn `-1` (keine Präferenz) angegeben wird, ist der Wert beim Start standardmäßig `2`, wenn das AMI die Einstellung `ImdsSupport: v2.0` hat; andernfalls ist er standardmäßig `1`.

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region   = $_
        Modified = (Edit-EC2InstanceMetadataDefault `
                -Region $_ `
                -HttpToken required `
                -HttpPutResponseHopLimit {{2}})
    } 
} | `
Format-Table Region, Modified -AutoSize
```

Erwartete Ausgabe

```
Region         Modified
------         --------
ap-south-1         True
eu-north-1         True
eu-west-3          True
...
```

**So zeigen Sie die Standard-Kontoeinstellungen für die Instance-Metadatenoptionen für alle Regionen an**  
Verwenden Sie das cmdlet [Get-EC2InstanceMetadataDefault](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceMetadataDefault.html).

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region = $_
        HttpPutResponseHopLimit = (Get-EC2InstanceMetadataDefault -Region $_).HttpPutResponseHopLimit
        HttpTokens              = (Get-EC2InstanceMetadataDefault -Region $_).HttpTokens
    }
} | `
Format-Table -AutoSize
```

Beispielausgabe

```
Region         HttpPutResponseHopLimit HttpTokens
------         ----------------------- ----------
ap-south-1                           2 required
eu-north-1                           2 required
eu-west-3                            2 required                    
...
```

------

### Konfigurieren der Instance beim Start
<a name="configure-IMDS-new-instances-instance-settings"></a>

Wenn Sie [eine Instance starten](ec2-launch-instance-wizard.md), 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 Container-Umgebung, wenn IMDSv2 erfordert ist, empfehlen wir, das Hop-Limit auf `2` festzulegen. Weitere Informationen finden Sie unter [Überlegungen zum Instance-Zugriff auf Instance-Metadaten](instancedata-data-retrieval.md#imds-considerations).

------
#### [ 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 für **Metadata-Antwort-Hop-Limit** den Wert **2** aus.

  Weitere Informationen finden Sie unter [Erweiterte Details](ec2-instance-launch-parameters.md#liw-advanced-details).

------
#### [ AWS CLI ]

**So erzwingen Sie die Verwendung von IMDSv2 für eine neue Instance**  
Im folgenden Beispiel für [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 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.

In einer Container-Umgebung, wenn IMDSv2 erfordert ist, empfehlen wir, das Hop-Limit auf `2` mit `HttpPutResponseHopLimit=2` festzulegen.

```
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-EC2Instance ](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) Cmdlet-Beispiel startet eine `c6i.large` Instanz mit `MetadataOptions_HttpEndpoint` set to und dem Parameter to`enabled`. `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
```

------
#### [ CloudFormation ]

Informationen zur Angabe der Metadatenoptionen für eine Instance finden Sie unter der LaunchTemplate MetadataOptions [ Eigenschaft ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html) AWS: :EC2:: im Benutzerhandbuch. CloudFormation*AWS CloudFormation *

------

### Konfigurieren des AMI
<a name="configure-IMDS-new-instances-ami-configuration"></a>

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 **Metadatenversion** auf **Nur V2 (Token erforderlich)** (Konsole) eingestellt, oder `HttpTokens` ist auf `required` eingestellt (AWS CLI). 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](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html)-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-EC2Image ](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) Cmdlet-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.

```
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](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html) ä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-0abcdef1234567890}} \
    --imds-support v2.0
```

------
#### [ PowerShell ]

Das folgende [ Edit-EC2ImageAttribute ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html) Cmdlet-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
<a name="configure-IMDS-new-instances-iam-policy"></a>

Sie können eine IAM-Richtlinie erstellen, die eine der folgenden Aktionen ausführt:
+ Verhindert, dass Benutzer neue Instances starten, es sei denn, sie benötigen IMDSv2 auf der neuen Instance.
+ Hindert Benutzer daran, die ModifyInstanceMetadataOptions API aufzurufen, um die Metadatenoptionen einer laufenden Instance zu ändern. Beschränken Sie den Zugriff auf die Eigenschaft ModifyInstanceMetadataOptions HttpTokens, um unbeabsichtigte Aktualisierungen laufender Instanzen zu verhindern.
+ Verhindern Sie, dass Benutzer die ModifyInstanceMetadataDefaults API aufrufen, um die Kontostandardeinstellungen von HttpTokens und http zu ändern. TokensEnforced Durch die Beschränkung des Zugriffs auf diese beiden Eigenschaften wird sichergestellt, dass nur autorisierte Rollen die Kontostandardwerte ändern können.

**So erzwingen Sie die Verwendung von IMDSv2 auf allen neuen Instances mit einer IAM-Richtlinie**  
Gehen Sie wie folgt vor, um sicherzustellen, dass Benutzer nur Instances starten können, für die beim Anfordern von Instance-Metadaten die Verwendung von IMDSv2 erforderlich ist:
+ Beschränken Sie den Zugriff `ModifyInstanceMetadataOptions` sowohl auf die `ModifyInstanceMetadataDefaults` and-API als auch auf die Eigenschaften `httpTokens` und`httpTokensEnforced`.
+ Stellen Sie dann den Standardkontonamen auf `httpTokens = required` und ein`httpTokensEnforced = enabled`.

  Die IAM-Beispielrichtlinie finden Sie unter [Arbeiten mit Instance-Metadaten](ExamplePolicies_EC2.md#iam-example-instance-metadata).

## IMDS-IPv4- und IPv6-Endpunkte aktivieren
<a name="configure-IMDS-new-instances-ipv4-ipv6-endpoints"></a>

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 IPv6-only Subnetz starten. 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**
+ Der ausgewählte Instance-Typ ist eine [ Nitro-based Instance. ](instance-types.md#instance-hypervisor-type)
+ Das ausgewählte Subnetz unterstützt IPv6, wobei es sich bei dem Subnetz entweder um ein [Dual-Stack-Subnetz oder nur um IPv6](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-ip-address-range) handelt.

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

------
#### [ Console ]

**So aktivieren Sie den IMDS-IPv6-Endpunkt beim Start einer Instance**
+ [Starten Sie die Instance](ec2-launch-instance-wizard.md) 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](ec2-instance-launch-parameters.md#liw-advanced-details).

------
#### [ AWS CLI ]

**So aktivieren Sie den IMDS-IPv6-Endpunkt beim Start einer Instance**  
Das folgende [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html)-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 ]

**So aktivieren Sie den IMDS-IPv6-Endpunkt beim Start einer Instance**  
Das folgende [ New-EC2Instance ](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) Cmdlet-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
<a name="configure-IMDS-new-instances--turn-off-instance-metadata"></a>

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](configuring-IMDS-existing-instances.md#enable-instance-metadata-on-existing-instances).

**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.

------
#### [ Console ]

**So deaktivieren Sie den Zugriff auf Instance-Metadaten beim Start**
+ [Starten Sie die Instance](ec2-launch-instance-wizard.md) 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](ec2-instance-launch-parameters.md#liw-advanced-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**  
Im folgenden [ New-EC2Instance ](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) Cmdlet-Beispiel wird eine Instanz mit dem Wert auf gestartet. `MetadataOptions_HttpEndpoint` `disabled`

```
New-EC2Instance `
    -ImageId {{ami-0abcdef1234567890}} `
    -InstanceType {{c6i.large}} `
    -MetadataOptions_HttpEndpoint disabled
```

------
#### [ CloudFormation ]

Informationen zur Angabe der Metadatenoptionen für eine Instance mithilfe CloudFormation finden Sie unter der LaunchTemplate MetadataOptions [ Eigenschaft ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html) AWS: :EC2:: im Benutzerhandbuch. *CloudFormation * 

------

## Zulassen des Zugriffs auf Tags in Instance-Metadaten
<a name="configure-IMDS-new-instances-tags-in-instance-metadata"></a>

Standardmäßig gibt es keinen Zugriff auf Instance-Tags in den Instance-Metadaten. 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](work-with-tags-in-IMDS.md#allow-access-to-tags-in-IMDS).