

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**
+ [Erfordert die Verwendung von IMDSv2](#configure-IMDS-new-instances)
+ [Aktivieren Sie das IMDS IPv4 und die Endpoints IPv6](#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*.

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

Sie können die folgenden Methoden verwenden, um die Verwendung von IMDSv2 auf Ihren neuen Instances vorzuschreiben.

**Topics**
+ [IMDSv2 Als Standard für das Konto festlegen](#set-imdsv2-account-defaults)
+ [IMDSv2 Auf Kontoebene durchsetzen](#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)

### IMDSv2 Als Standard für das Konto festlegen
<a name="set-imdsv2-account-defaults"></a>

Sie können die Standardversion für den Instanz-Metadaten-Service (IMDS) jeweils AWS-Region auf Kontoebene festlegen. 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 die Standardeinstellung auf Kontoebene auf festlegen, sind alle vorhandenen Instanzen IMDSv2, die auf festgelegt sind, nicht betroffen IMDSv1 . 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 Version der Instanz-Metadaten auf festlegen, IMDSv2 sodass alle *neuen* Instances im Konto mit IMDSv2 erforderlich gestartet werden und deaktiviert IMDSv1 werden. 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 festlegen IMDSv2, stellen Sie sicher, dass Ihre Instances nicht von abhängig sind IMDSv1. Weitere Informationen finden Sie unter [Empfohlener Pfad zur Anforderung IMDSv2](instance-metadata-transition-to-version-2.md#recommended-path-for-requiring-imdsv2).

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

**Um es IMDSv2 als Standard für das Konto für die angegebene Region festzulegen**

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

1. Um das 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 ]

**Um es IMDSv2 als Standard für das Konto für die angegebene Region festzulegen**  
Verwenden Sie den [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html)Befehl 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 [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html)Befehl 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*.

**Um es IMDSv2 als Standard für das Konto für alle Regionen festzulegen**  
Verwenden Sie den [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html)Befehl, 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 ]

**Um es IMDSv2 als Standard für das Konto für die angegebene Region festzulegen**  
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    :
```

**Um es IMDSv2 als Standard für das Konto für alle Regionen festzulegen**  
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                    
...
```

------

### IMDSv2 Auf Kontoebene durchsetzen
<a name="enforce-imdsv2-at-the-account-level"></a>

Sie können die Verwendung von jeweils IMDSv2 auf Kontoebene durchsetzen AWS-Region. Wenn diese Option erzwungen wird, können Instances nur gestartet werden, wenn sie so konfiguriert sind, dass sie dies erfordernIMDSv2. 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 Ihr AMIs Support IMDSv2 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 oder in der AMI-Konfiguration auf festgelegt 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 IMDSv1 vorhandener Instances, die derzeit IMDSv1 deaktiviert sind.

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

**Um dies 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 das 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 „**Erzwingen IMDSv2**“ die Option **Aktiviert** aus.

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

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

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

```
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 Erzwingungseinstellungen für das Konto in einer bestimmten Region anzuzeigen**  
Verwenden Sie den [get-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html)Befehl 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 [Declarative Policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) im *AWS Organizations User Guide*.

**Um das Konto IMDSv2 für alle Regionen durchzusetzen**  
Verwenden Sie den [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html)Befehl, um die Durchsetzung 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 Durchsetzungseinstellungen für das Konto in allen Regionen einzusehen**  
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 die Durchsetzung 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 die Durchsetzung erfolgen soll. IMDSv2 

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

Es folgt eine Beispielausgabe.

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

**Um die IMDSv2 Durchsetzungseinstellungen 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 [Declarative Policies](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) im *AWS Organizations User Guide*.

**Um das Konto IMDSv2 für alle Regionen durchzusetzen**  
Verwenden Sie den [modify-instance-metadata-defaults](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html)Befehl, um die Durchsetzung 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 es IMDSv2 als Standard für das Konto für alle Regionen festzulegen**  
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                    
...
```

------

### 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 die Instance so konfigurieren, dass die Verwendung von erforderlich ist, IMDSv2 indem Sie die folgenden Felder konfigurieren:
+ 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 dies erforderlich IMDSv2 ist, müssen Sie auch den IMDS-Endpunkt (Instance Metadata Service) aktivieren, indem Sie **Metadaten zugänglich** auf **Aktiviert** (Konsole) oder `HttpEndpoint` auf `enabled` (AWS CLI) setzen.

In einer Container-Umgebung empfehlen wir, IMDSv2 das Hop-Limit auf zu `2` setzen, sofern dies erforderlich ist. Weitere Informationen finden Sie unter [Überlegungen zum Instance-Zugriff auf Instance-Metadaten](instancedata-data-retrieval.md#imds-considerations).

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

**Um die Verwendung von IMDSv2 auf einer neuen Instance zu verlangen**
+ 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 ]

**Um die Verwendung von IMDSv2 auf einer neuen Instanz zu verlangen**  
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 Secure-Token-Header auf `required` für Anfragen zum Abrufen von Metadaten eingestellt ist, muss die Instanz IMDSv2 bei der Anforderung von Instanz-Metadaten verwendet werden.

In einer Containerumgebung empfehlen wir, IMDSv2 das Hop-Limit auf `2` with `HttpPutResponseHopLimit=2` zu setzen, sofern dies erforderlich ist.

```
aws ec2 run-instances \
    --image-id {{ami-0abcdef1234567890}} \
    --instance-type {{c6i.large}} \
	...
    --metadata-options "HttpEndpoint=enabled,HttpTokens=required,HttpPutResponseHopLimit=2"
```

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

**Um die Verwendung von IMDSv2 auf einer neuen Instance zu verlangen**  
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 `enabled` und dem `MetadataOptions_HttpTokens` Parameter to. `required` Wenn Sie einen Wert für `HttpTokens` angeben, müssen Sie auch `HttpEndpoint` auf `enabled` einstellen. Da der Secure-Token-Header auf `required` für Anfragen zum Abrufen von Metadaten festgelegt ist, muss die Instanz ihn IMDSv2 bei der Anforderung von Instanzmetadaten verwenden.

```
New-EC2Instance `
    -ImageId {{ami-0abcdef1234567890}} `
    -InstanceType {{c6i.large}} `
    -MetadataOptions_HttpEndpoint enabled `
    -MetadataOptions_HttpTokens required
```

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

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

------

### 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). Bei diesen Einstellungen setzt die Instanz voraus, dass diese bei der Anforderung von Instanz-Metadaten verwendet IMDSv2 wird.

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 ihn unterstütztIMDSv2. 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.

**Um ein neues AMI zu konfigurieren für IMDSv2**  
Verwenden Sie eine der folgenden Methoden, um ein neues AMI für zu konfigurierenIMDSv2.

------
#### [ 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` den `imds-support` Parameter so an, dass Instances, die über dieses AMI gestartet werden, diesen benötigen, IMDSv2 wenn Instance-Metadaten angefordert werden.

```
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` den `ImdsSupport` Parameter so an, dass Instances, die über dieses AMI gestartet werden, diesen benötigen, IMDSv2 wenn Instance-Metadaten angefordert werden.

```
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 vorhandenes AMI für IMDSv2**  
Verwenden Sie eine der folgenden Methoden, um ein vorhandenes AMI für zu konfigurierenIMDSv2.

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

Im folgenden [modify-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html)Beispiel wird ein vorhandenes AMI IMDSv2 nur für geändert. Geben Sie `v2.0` den `imds-support` Parameter so an, dass Instances, die über dieses AMI gestartet werden, diesen benötigen, IMDSv2 wenn Instance-Metadaten angefordert werden.

```
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` den `imds-support` Parameter so an, dass Instances, die über dieses AMI gestartet werden, diesen benötigen, IMDSv2 wenn Instance-Metadaten angefordert werden.

```
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:
+ Hindert Benutzer daran, neue Instances zu starten, es sei denn, sie benötigen IMDSv2 die neue Instance.
+ Hindert Benutzer daran, die ModifyInstanceMetadataOptions API aufzurufen, um die Metadatenoptionen einer laufenden Instanz 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 zu ändern. httpTokensEnforced Durch die Beschränkung des Zugriffs auf diese beiden Eigenschaften wird sichergestellt, dass nur autorisierte Rollen die Kontostandardwerte ändern können.

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

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

## Aktivieren Sie das IMDS IPv4 und die Endpoints IPv6
<a name="configure-IMDS-new-instances-ipv4-ipv6-endpoints"></a>

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**
+ Der ausgewählte Instance-Typ ist eine [Nitro-basierte 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-Netzwerk oder IPv6 ](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-ip-address-range) um ein reines Subnetz handelt.

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

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

**Um den IPv6 IMDS-Endpunkt beim Start der Instanz zu aktivieren**
+ [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 den ** IPv6 Metadaten-Endpunkt** die Option **Aktiviert** aus.

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

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

**Um den IPv6 IMDS-Endpunkt beim Start der Instanz zu aktivieren**  
Im folgenden [Run-Instance-Beispiel wird eine `c6i.large` Instance](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) gestartet, bei der der IPv6 Endpunkt für das IMDS aktiviert ist. Um den IPv6 Endpunkt zu aktivieren, geben Sie für den `--metadata-options` Parameter Folgendes an. `HttpProtocolIpv6=enabled` 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 ]

**Um den IPv6 IMDS-Endpunkt beim Start der Instanz zu aktivieren**  
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. Um den IPv6 Endpunkt zu aktivieren, geben Sie as an. `MetadataOptions_HttpProtocolIpv6` `enabled` 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**  
Das folgende [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html)Cmdlet-Beispiel startet eine Instanz mit der `MetadataOptions_HttpEndpoint` Einstellung auf. `disabled`

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

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

Informationen zum Angeben der Metadatenoptionen für eine Instanz, die Sie verwenden CloudFormation, finden Sie in der [AWS::EC2::LaunchTemplate MetadataOptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html)entsprechenden Eigenschaft im *CloudFormation Benutzerhandbuch*. 

------

## 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).