

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengonfigurasi opsi metadata instans untuk instans baru
<a name="configuring-IMDS-new-instances"></a>

Anda dapat mengonfigurasi opsi metadata instance berikut untuk instans baru.

**Topics**
+ [Mengharuskan penggunaan IMDSv2](#configure-IMDS-new-instances)
+ [Aktifkan titik akhir IPv4 dan IPv6 IMDS](#configure-IMDS-new-instances-ipv4-ipv6-endpoints)
+ [Nonaktifkan akses untuk metadata instans](#configure-IMDS-new-instances--turn-off-instance-metadata)
+ [Mengizinkan akses ke tanda dalam metadata instans](#configure-IMDS-new-instances-tags-in-instance-metadata)

**catatan**  
Pengaturan untuk opsi ini dikonfigurasi di tingkat akun, baik secara langsung di akun atau dengan menggunakan kebijakan deklaratif. Mereka harus dikonfigurasi di setiap Wilayah AWS tempat Anda ingin mengonfigurasi opsi metadata instance. Menggunakan kebijakan deklaratif memungkinkan Anda menerapkan pengaturan di beberapa Wilayah secara bersamaan, serta di beberapa akun secara bersamaan. Saat kebijakan deklaratif digunakan, Anda tidak dapat mengubah pengaturan secara langsung di dalam akun. Topik ini menjelaskan cara mengonfigurasi pengaturan secara langsung di dalam akun. Untuk informasi tentang penggunaan kebijakan deklaratif, lihat Kebijakan [ deklaratif ](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) di Panduan *AWS Organizations Pengguna. *

## Mengharuskan penggunaan IMDSv2
<a name="configure-IMDS-new-instances"></a>

Anda dapat menggunakan metode berikut untuk mewajibkan penggunaan IMDSv2 pada instans baru Anda.

**Topics**
+ [Setel IMDSv2 sebagai default untuk akun](#set-imdsv2-account-defaults)
+ [Menerapkan IMDSv2 di tingkat akun](#enforce-imdsv2-at-the-account-level)
+ [Konfigurasikan instans saat peluncuran](#configure-IMDS-new-instances-instance-settings)
+ [Konfigurasikan AMI](#configure-IMDS-new-instances-ami-configuration)
+ [Gunakan kebijakan IAM](#configure-IMDS-new-instances-iam-policy)

### Setel IMDSv2 sebagai default untuk akun
<a name="set-imdsv2-account-defaults"></a>

Anda dapat mengatur versi default untuk layanan metadata instans (IMDS) di tingkat akun untuk masing-masing Wilayah AWS. Ini berarti bahwa ketika Anda meluncurkan * instance * baru, versi metadata instans secara otomatis disetel ke default tingkat akun. Namun, Anda dapat mengganti nilai secara manual saat peluncuran atau setelah peluncuran. Untuk informasi selengkapnya tentang bagaimana pengaturan tingkat akun dan penggantian manual memengaruhi instance, lihat. [Urutan prioritas misalnya opsi metadata](configuring-instance-metadata-options.md#instance-metadata-options-order-of-precedence)

**catatan**  
Menyetel default tingkat akun tidak mengatur ulang instans * yang ada*. Misalnya, jika Anda menyetel default tingkat akun ke IMDSv2, instans yang ada yang disetel ke IMDsv1 tidak terpengaruh. Jika Anda ingin mengubah nilai pada instance yang ada, Anda harus mengubah nilai pada instans itu sendiri secara manual.

Anda dapat mengatur default akun untuk versi metadata instans ke IMDSv2 sehingga semua * instans * baru dalam peluncuran akun dengan IMDSv2 diperlukan, dan IMDSv1 akan dinonaktifkan. Dengan default akun ini, saat Anda meluncurkan instance, berikut ini adalah nilai default untuk instance:
+ Konsol: Versi ** metadata ** diatur ke ** V2 saja (diperlukan token) ** dan batas hop respons ** Metadata ** diatur ke ** 2**.
+ AWS CLI: `HttpTokens` disetel ke `required` dan `HttpPutResponseHopLimit` disetel ke`2`. 

**catatan**  
Sebelum menyetel default akun ke IMDSv2, pastikan instans Anda tidak bergantung pada IMDSv1. Untuk informasi selengkapnya, lihat [Jalur yang direkomendasikan untuk membutuhkan IMDSv2](instance-metadata-transition-to-version-2.md#recommended-path-for-requiring-imdsv2).

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

**Untuk mengatur IMDSv2 sebagai default untuk akun untuk Wilayah yang ditentukan**

1. Buka konsol Amazon EC2 di [ https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Untuk mengubah Wilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.

1. Di panel navigasi, pilih **Dasbor**.

1. Pada ** kartu Atribut ** Akun, di bawah ** Pengaturan**, pilih ** Perlindungan dan keamanan data**.

1. Di samping ** IMDS default**, pilih ** Kelola. **

1. Pada ** halaman ** Kelola default IMDS, lakukan hal berikut:

   1. Untuk layanan metadata ** contoh**, pilih Di ** aktifkan**.

   1. Untuk **Versi metadata**, pilih **V2 saja (token diperlukan)**.

   1. Untuk batas hop respons ** Metadata**, tentukan ** 2 ** jika instance Anda akan meng-host container. Jika tidak, pilih ** Tidak ada preferensi**. Ketika tidak ada preferensi yang ditentukan, saat peluncuran, nilai default menjadi ** 2 ** jika AMI memiliki pengaturan`ImdsSupport: v2.0`; jika tidak, default ke ** 1. **

   1. Pilih **Perbarui**.

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

**Untuk mengatur IMDSv2 sebagai default untuk akun untuk Wilayah yang ditentukan**  
Gunakan [ perintah ](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) modify-instance-metadata-dedefault dan tentukan Wilayah tempat untuk memodifikasi pengaturan tingkat akun IMDS. Sertakan `--http-tokens` disetel ke `required` dan `--http-put-response-hop-limit` setel ke `2` jika instans Anda akan meng-host kontainer. Jika tidak, tent `-1` ukan untuk menunjukkan tidak ada preferensi. Ketika `-1` (tidak ada preferensi) ditentukan, saat peluncuran, nilai default adalah `2` jika AMI memiliki pengaturan`ImdsSupport: v2.0`; jika tidak maka defaultnya menjadi. `1`

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

Berikut ini adalah output contoh.

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

**Untuk melihat pengaturan akun default untuk opsi metadata instans untuk Wilayah yang ditentukan**  
Gunakan perintah [ get-instance-metadata- ](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html) dedefault dan tentukan Wilayah.

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

Berikut ini adalah output contoh.

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

Bid `ManagedBy` ang menunjukkan entitas yang mengkonfigurasi pengaturan. Dalam contoh ini, `account` menunjukkan bahwa pengaturan dikonfigurasi langsung di akun. Nilai berarti `declarative-policy` pengaturan dikonfigurasi oleh kebijakan deklaratif. Untuk informasi selengkapnya, lihat [ Kebijakan deklaratif ](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) di Panduan *AWS Organizations * Pengguna.

**Untuk mengatur IMDSv2 sebagai default untuk akun untuk semua Wilayah**  
Gunakan [ perintah ](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) modify-instance-metadata-dedefault untuk mengubah pengaturan tingkat akun IMDS untuk semua Wilayah. Sertakan `--http-tokens` disetel ke `required` dan `--http-put-response-hop-limit` setel ke `2` jika instans Anda akan meng-host kontainer. Jika tidak, tent `-1` ukan untuk menunjukkan tidak ada preferensi. Ketika `-1` (tidak ada preferensi) ditentukan, saat peluncuran, nilai default adalah `2` jika AMI memiliki pengaturan`ImdsSupport: v2.0`; jika tidak maka defaultnya menjadi. `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
```

Berikut ini adalah output contoh.

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

**Untuk melihat pengaturan akun default untuk opsi metadata instans untuk semua Wilayah**  
Gunakan perintah [ get-instance-metadata-dedefault](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
```

Berikut ini adalah output contoh.

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

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

**Untuk mengatur IMDSv2 sebagai default untuk akun untuk Wilayah yang ditentukan**  
Gunakan [ Edit-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html) cmdlet dan tentukan Wilayah tempat memodifikasi pengaturan tingkat akun IMDS. Sertakan `-HttpToken` disetel ke `required` dan `-HttpPutResponseHopLimit` setel ke `2` jika instans Anda akan meng-host kontainer. Jika tidak, tent `-1` ukan untuk menunjukkan tidak ada preferensi. Ketika `-1` (tidak ada preferensi) ditentukan, saat peluncuran, nilai default adalah `2` jika AMI memiliki pengaturan`ImdsSupport: v2.0`; jika tidak maka defaultnya menjadi. `1`

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

Berikut ini adalah output contoh.

```
True
```

**Untuk melihat pengaturan akun default untuk opsi metadata instans untuk Wilayah yang ditentukan**  
Gunakan [ Get-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceMetadataDefault.html) cmdlet dan tentukan Wilayah.

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

Berikut ini adalah output contoh.

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

**Untuk mengatur IMDSv2 sebagai default untuk akun untuk semua Wilayah**  
Gunakan [ Edit-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html) cmdlet untuk mengubah pengaturan tingkat akun IMDS untuk semua Wilayah. Sertakan `-HttpToken` disetel ke `required` dan `-HttpPutResponseHopLimit` setel ke `2` jika instans Anda akan meng-host kontainer. Jika tidak, tent `-1` ukan untuk menunjukkan tidak ada preferensi. Ketika `-1` (tidak ada preferensi) ditentukan, saat peluncuran, nilai default adalah `2` jika AMI memiliki pengaturan`ImdsSupport: v2.0`; jika tidak maka defaultnya menjadi. `1`

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

Output yang diharapkan

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

**Untuk melihat pengaturan akun default untuk opsi metadata instans untuk semua Wilayah**  
Gunakan [ Get-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceMetadataDefault.html) cmdlet.

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

Contoh Output

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

------

### Menerapkan IMDSv2 di tingkat akun
<a name="enforce-imdsv2-at-the-account-level"></a>

Anda dapat menerapkan penggunaan IMDSv2 di tingkat akun untuk masing-masing. Wilayah AWS Saat diterapkan, instance hanya dapat diluncurkan jika dikonfigurasi untuk memerlukan IMDSv2. Penegakan ini berlaku terlepas dari bagaimana instance atau AMI dikonfigurasi.

**catatan**  
Sebelum mengaktifkan penegakan IMDSv2 di tingkat akun, pastikan aplikasi dan AMI Anda mendukung IMDSv2. Untuk informasi selengkapnya, lihat [Jalur yang direkomendasikan untuk membutuhkan IMDSv2](instance-metadata-transition-to-version-2.md#recommended-path-for-requiring-imdsv2). Jika penegakan IMDSv2 diaktifkan dan `httpTokens` tidak disetel ke `required` konfigurasi instans saat peluncuran, pengaturan akun, atau konfigurasi AMI, peluncuran instance akan gagal. Untuk informasi pemecahan masalah, lihat [Meluncurkan instance IMDSv1 -enabled gagal](troubleshooting-launch.md#launching-an-imdsv1-enabled-instance-fails).

**catatan**  
Pengaturan ini tidak mengubah versi IMDS dari instans yang ada, tetapi memblokir pengaktifan IMDsv1 pada instans yang ada yang saat ini menonaktifkan IMDSv1.

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

**Untuk menerapkan IMDSv2 untuk akun di Wilayah yang ditentukan**

1. Buka konsol Amazon EC2 di [ https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Untuk mengubah Wilayah AWS, gunakan pemilih Wilayah di sudut kanan atas halaman.

1. Di panel navigasi, pilih **Dasbor**.

1. Pada ** kartu Atribut ** Akun, di bawah ** Pengaturan**, pilih ** Perlindungan dan keamanan data**.

1. Di samping ** IMDS default**, pilih ** Kelola. **

1. Pada ** halaman ** Kelola default IMDS, lakukan hal berikut:

   1. Untuk **Versi metadata**, pilih **V2 saja (token diperlukan)**.

   1. Untuk Men ** egakkan IMDSv2**, pilih Diaktifkan. ** **

   1. Pilih **Perbarui**.

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

**Untuk menerapkan IMDSv2 untuk akun di Wilayah yang ditentukan**  
 Gunakan [ perintah ](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) modify-instance-metadata-dedefault dan tentukan Wilayah untuk menerapkan IMDSv2. 

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

Berikut ini adalah output contoh.

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

**Untuk melihat setelan penegakan IMDSv2 untuk akun di Wilayah tertentu**  
Gunakan perintah [ get-instance-metadata- ](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-metadata-defaults.html) dedefault dan tentukan Wilayah.

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

Berikut ini adalah output contoh.

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

Bid `ManagedBy` ang menunjukkan entitas yang mengkonfigurasi pengaturan. Dalam contoh ini, `account` menunjukkan bahwa pengaturan dikonfigurasi langsung di akun. Nilai berarti `declarative-policy` pengaturan dikonfigurasi oleh kebijakan deklaratif. Untuk informasi selengkapnya, [ lihat Kebijakan Deklaratif ](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) di Panduan *AWS * Pengguna Organisasi.

**Untuk menerapkan IMDSv2 untuk akun untuk semua Wilayah**  
Gunakan perintah [ modify-instance-metadata-de ](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) default untuk menerapkan IMDSv2 di semua Wilayah.

```
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
```

Berikut ini adalah output contoh.

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

**Untuk melihat pengaturan penegakan IMDSv2 untuk akun di semua Wilayah**  
Gunakan perintah [ get-instance-metadata-dedefault](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
```

Berikut ini adalah output contoh.

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

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

**Untuk menerapkan IMDSv2 untuk akun di Wilayah yang ditentukan**  
Gunakan [ Edit-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html) cmdlet dan tentukan Wilayah untuk menerapkan IMDSv2. 

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

Berikut ini adalah output contoh.

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

**Untuk melihat setelan penegakan IMDSv2 untuk akun di Wilayah tertentu**  
Gunakan Get-EC2InstanceMetadataDefault perintah dan tentukan Wilayah.

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

Berikut ini adalah output contoh.

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

Bid `ManagedBy` ang menunjukkan entitas yang mengkonfigurasi pengaturan. Dalam contoh ini, `account` menunjukkan bahwa pengaturan dikonfigurasi langsung di akun. Nilai berarti `declarative-policy` pengaturan dikonfigurasi oleh kebijakan deklaratif. Untuk informasi selengkapnya, [ lihat Kebijakan Deklaratif ](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) di Panduan *AWS * Pengguna Organisasi.

**Untuk menerapkan IMDSv2 untuk akun untuk semua Wilayah**  
Gunakan perintah [ modify-instance-metadata-de ](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-metadata-defaults.html) default untuk menerapkan IMDSv2 di semua Wilayah.

```
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
```

Berikut ini adalah output contoh.

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

**Untuk mengatur IMDSv2 sebagai default untuk akun untuk semua Wilayah**  
Gunakan [ Edit-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceMetadataDefault.html) cmdlet untuk mengubah pengaturan tingkat akun IMDS untuk semua Wilayah. Sertakan `-HttpToken` disetel ke `required` dan `-HttpPutResponseHopLimit` setel ke `2` jika instans Anda akan meng-host wadah. Jika tidak, tent `-1` ukan untuk menunjukkan tidak ada preferensi. Ketika `-1` (tidak ada preferensi) ditentukan, saat peluncuran, nilai default adalah `2` jika AMI memiliki pengaturan`ImdsSupport: v2.0`; jika tidak maka defaultnya menjadi. `1`

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

Output yang diharapkan

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

**Untuk melihat pengaturan akun default untuk opsi metadata instans untuk semua Wilayah**  
Gunakan [ Get-EC2InstanceMetadataDefault ](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceMetadataDefault.html) cmdlet.

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

Contoh Output

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

------

### Konfigurasikan instans saat peluncuran
<a name="configure-IMDS-new-instances-instance-settings"></a>

Saat [meluncurkan instans](ec2-launch-instance-wizard.md), Anda dapat mengonfigurasi instans agar memerlukan penggunaan IMDSv2 dengan mengonfigurasi bidang berikut:
+ Konsol Amazon EC2: Atur **Versi metadata** ke **V2 saja (diperlukan token)**. 
+ AWS CLI: Atur `HttpTokens` ke `required`.

Jika Anda menentukan bahwa IMDSv2 diperlukan, Anda juga harus mengaktifkan titik akhir Layanan Metadata Instans (IMDS) dengan menyetel **Metadata yang dapat diakses** ke **Diaktifkan** (konsol) atau `HttpEndpoint` ke `enabled` (AWS CLI).

Dalam lingkungan kontainer, ketika IMDSv2 diperlukan, kami sarankan mengatur batas hop ke. `2` Untuk informasi selengkapnya, lihat [Pertimbangan akses metadata instance](instancedata-data-retrieval.md#imds-considerations).

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

**Untuk mengharuskan penggunaan IMDSv2 pada instans baru**
+ Saat meluncurkan instans baru di konsol Amazon EC2, perluas **Detail lanjutan**, dan lakukan hal berikut:
  + Untuk **Metadata yang dapat diakses**, pilih **Diaktifkan**.
  + Untuk **Versi metadata**, pilih **V2 saja (token diperlukan)**.
  + (Lingkungan kontainer) Untuk batas hop respons ** Metadata**, pilih ** 2**.

  Untuk informasi selengkapnya, lihat [Detail lanjutan](ec2-instance-launch-parameters.md#liw-advanced-details).

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

**Untuk mengharuskan penggunaan IMDSv2 pada instans baru**  
Contoh [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) berikut meluncurkan instans `c6i.large` dengan `--metadata-options` yang diatur ke `HttpTokens=required`. Jika Anda menetapkan nilai untuk `HttpTokens`, maka Anda juga harus mengatur `HttpEndpoint` ke `enabled`. Karena header token aman diatur ke `required` untuk permintaan pengambilan metadata, header tersebut mengharuskan instans untuk menggunakan IMDSv2 saat meminta metadata instans.

Dalam lingkungan kontainer, ketika IMDSv2 diperlukan, kami sarankan mengatur batas hop ke with. `2` `HttpPutResponseHopLimit=2`

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

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

**Untuk mengharuskan penggunaan IMDSv2 pada instans baru**  
Contoh [ New-EC2Instance ](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet berikut meluncurkan `c6i.large` instance dengan `MetadataOptions_HttpEndpoint` set ke `enabled` dan `MetadataOptions_HttpTokens` parameter ke. `required` Jika Anda menetapkan nilai untuk `HttpTokens`, maka Anda juga harus mengatur `HttpEndpoint` ke `enabled`. Karena header token aman diatur ke `required` untuk permintaan pengambilan metadata, header tersebut mengharuskan instans untuk menggunakan IMDSv2 saat meminta metadata instans.

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

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

Untuk menentukan opsi metadata untuk instance yang menggunakan CloudFormation, lihat LaunchTemplate MetadataOptions [ properti ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html) AWS: :EC2:: di Panduan *AWS CloudFormation Pengguna. *

------

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

Saat Anda mendaftarkan AMI baru atau memodifikasi AMI yang ada, Anda dapat mengatur parameter `imds-support` ke `v2.0`. Instans yang diluncurkan dari AMI ini akan memiliki versi ** ** Metadata yang disetel ke ** V2 saja (token diperlukan) ** (konsol) atau `HttpTokens` disetel ke `required` (AWS CLI). Dengan pengaturan ini, instans mengharuskan penggunaan IMDSv2 saat meminta metadata instans.

Perhatikan bahwa jika Anda mengatur `imds-support` ke `v2.0`, instans yang diluncurkan dari AMI ini juga akan memiliki **Batas hop tanggapan Metadata** (konsol) atau `http-put-response-hop-limit` (AWS CLI) diatur ke **2**.

**penting**  
Jangan gunakan parameter ini kecuali perangkat lunak AMI Anda mendukung IMDSv2. Setelah Anda mengatur nilainya ke `v2.0`, Anda tidak dapat membatalkannya. Satu-satunya cara untuk “mengatur ulang” AMI Anda adalah dengan membuat AMI baru dari snapshot dasar.

**Untuk mengonfigurasi AMI baru untuk IMDSv2**  
Gunakan salah satu metode berikut untuk mengkonfigurasi AMI baru untuk IMDSv2.

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

Contoh [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) berikut mendaftarkan AMI menggunakan snapshot yang ditentukan dari volume root EBS sebagai perangkat `/dev/xvda`. Tentukan `v2.0` untuk parameter `imds-support`, sehingga instans yang diluncurkan dari AMI ini akan mengharuskan penggunaan IMDSv2 saat meminta metadata instans.

```
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 ]

Contoh [ Register-EC2Image ](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) cmdlet berikut mendaftarkan AMI menggunakan snapshot yang ditentukan dari volume root EBS sebagai perangkat. `/dev/xvda` Tentukan `v2.0` untuk parameter `ImdsSupport`, sehingga instans yang diluncurkan dari AMI ini akan mengharuskan penggunaan IMDSv2 saat meminta metadata instans.

```
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
```

------

**Untuk mengonfigurasi AMI yang ada untuk IMDSv2**  
Gunakan salah satu metode berikut untuk mengonfigurasi AMI yang ada untuk IMDSv2.

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

Contoh [modify-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html) berikut memodifikasi AMI yang ada hanya untuk IMDSv2. Tentukan `v2.0` untuk parameter `imds-support`, sehingga instans yang diluncurkan dari AMI ini akan mengharuskan penggunaan IMDSv2 saat meminta metadata instans.

```
aws ec2 modify-image-attribute \
    --image-id {{ami-0abcdef1234567890}} \
    --imds-support v2.0
```

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

Contoh [ Edit-EC2ImageAttribute ](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html) cmdlet berikut memodifikasi AMI yang ada hanya untuk IMDSv2. Tentukan `v2.0` untuk parameter `imds-support`, sehingga instans yang diluncurkan dari AMI ini akan mengharuskan penggunaan IMDSv2 saat meminta metadata instans.

```
Edit-EC2ImageAttribute `
    -ImageId {{ami-0abcdef1234567890}} `
    -ImdsSupport 'v2.0'
```

------

### Gunakan kebijakan IAM
<a name="configure-IMDS-new-instances-iam-policy"></a>

Anda dapat membuat kebijakan IAM yang melakukan salah satu hal berikut:
+ Mencegah pengguna meluncurkan instans baru kecuali mereka memerlukan IMDSv2 pada instance baru.
+ Mencegah pengguna memanggil ModifyInstanceMetadataOptions API untuk mengubah opsi metadata dari instance yang sedang berjalan. Batasi akses ke properti ModifyInstanceMetadataOptions HttpTokens untuk mencegah pembaruan instans yang sedang berjalan yang tidak diinginkan.
+ Mencegah pengguna memanggil ModifyInstanceMetadataDefaults API untuk mengubah pengaturan default akun dari HttpTokens dan http. TokensEnforced Membatasi akses ke dua properti ini akan memastikan bahwa hanya peran resmi yang dapat mengubah default akun.

**Untuk menegakkan penggunaan IMDSv2 pada semua instans baru dengan menggunakan kebijakan IAM**  
Untuk memastikan bahwa pengguna hanya dapat meluncurkan instans yang memerlukan penggunaan IMDSv2 saat meminta metadata instans, lakukan hal berikut:
+ Batasi akses ke keduanya `ModifyInstanceMetadataOptions` dan `ModifyInstanceMetadataDefaults` API, dan lebih khusus lagi `httpTokens` `httpTokensEnforced` properti dan.
+ Kemudian, atur default akun ke `httpTokens = required` dan`httpTokensEnforced = enabled`.

  Untuk contoh kebijakan IAM, lihat [Cara menggunakan metadata instans](ExamplePolicies_EC2.md#iam-example-instance-metadata).

## Aktifkan titik akhir IPv4 dan IPv6 IMDS
<a name="configure-IMDS-new-instances-ipv4-ipv6-endpoints"></a>

IMDS memiliki dua titik akhir pada sebuah instance: IPv4 (`169.254.169.254`) dan IPv6 (). `[fd00:ec2::254]` Saat Anda mengaktifkan IMDS, titik akhir IPv4 secara otomatis diaktifkan. Titik akhir IPv6 tetap dinonaktifkan bahkan jika Anda meluncurkan instance ke IPv6-only subnet. Untuk mengaktifkan titik akhir IPv6, Anda harus melakukannya secara eksplisit. Saat Anda mengaktifkan titik akhir IPv6, titik akhir IPv4 tetap diaktifkan.

Anda dapat mengaktifkan titik akhir IPv6 saat peluncuran instance atau setelahnya.

**Persyaratan untuk mengaktifkan titik akhir IPv6**
+ Jenis instance yang dipilih adalah [ Nitro-based instance](instance-types.md#instance-hypervisor-type).
+ Subnet yang dipilih mendukung IPv6, di mana subnet berupa [ dual stack atau IPv6 saja. ](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html#subnet-ip-address-range)

Gunakan salah satu metode berikut untuk meluncurkan instance dengan titik akhir IPv6 IMDS diaktifkan.

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

**Untuk mengaktifkan titik akhir IPv6 IMDS saat peluncuran instance**
+ [Luncurkan instans](ec2-launch-instance-wizard.md) di konsol Amazon EC2 dengan menentukan hal-hal berikut ini pada **Detail lanjutan**:
  + Untuk titik akhir IPv6 ** Metadata**, pilih Di ** aktifkan**.

Untuk informasi selengkapnya, lihat [Detail lanjutan](ec2-instance-launch-parameters.md#liw-advanced-details).

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

**Untuk mengaktifkan titik akhir IPv6 IMDS saat peluncuran instance**  
Contoh [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) berikut meluncurkan instans `c6i.large` dengan titik akhir IPv6 yang diaktifkan untuk IMDS. Untuk mengaktifkan titik akhir IPv6, pada parameter `--metadata-options`, tentukan `HttpProtocolIpv6=enabled`. Jika Anda menetapkan nilai untuk `HttpProtocolIpv6`, maka Anda juga harus mengatur `HttpEndpoint` ke `enabled`.

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

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

**Untuk mengaktifkan titik akhir IPv6 IMDS saat peluncuran instance**  
Contoh [ New-EC2Instance ](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet berikut meluncurkan `c6i.large` instance dengan titik akhir IPv6 diaktifkan untuk IMDS. Untuk mengaktifkan titik akhir IPv6, tentukan `MetadataOptions_HttpProtocolIpv6` sebagai `enabled`. Jika Anda menetapkan nilai untuk `MetadataOptions_HttpProtocolIpv6`, maka Anda juga harus mengatur `MetadataOptions_HttpEndpoint` ke `enabled`.

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

------

## Nonaktifkan akses untuk metadata instans
<a name="configure-IMDS-new-instances--turn-off-instance-metadata"></a>

Anda dapat menonaktifkan akses ke metadata instans dengan menonaktifkan IMDS saat Anda meluncurkan instans. Anda dapat mengaktifkan akses nanti dengan mengaktifkan kembali IMDS. Untuk informasi selengkapnya, lihat [Aktifkan akses ke metadata instans](configuring-IMDS-existing-instances.md#enable-instance-metadata-on-existing-instances).

**penting**  
Anda dapat memilih untuk menonaktifkan IMDS saat peluncuran atau setelah peluncuran. Jika Anda menonaktifkan IMDS *saat peluncuran*, hal-hal berikut ini mungkin tidak berfungsi:  
Anda mungkin tidak memiliki akses SSH ke instans Anda. `public-keys/0/openssh-key`, yang merupakan kunci SSH publik instans Anda, tidak akan dapat diakses karena kunci biasanya disediakan dan diakses dari metadata instans EC2. 
Data pengguna EC2 tidak akan tersedia dan tidak akan berjalan saat instans dimulai. Data pengguna EC2 di-host di IMDS. Jika Anda menonaktifkan IMDS, Anda secara efektif mematikan akses ke data pengguna.
Untuk mengakses fungsionalitas ini, Anda dapat mengaktifkan kembali IMDS setelah peluncuran.

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

**Untuk menonaktifkan akses ke metadata instans saat peluncuran**
+ [Luncurkan instans](ec2-launch-instance-wizard.md) di konsol Amazon EC2 dengan menentukan hal-hal berikut ini pada **Detail lanjutan**:
  + Untuk **Metadata yang dapat diakses**, pilih **Diaktifkan**.

Untuk informasi selengkapnya, lihat [Detail lanjutan](ec2-instance-launch-parameters.md#liw-advanced-details).

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

**Untuk menonaktifkan akses ke metadata instans saat peluncuran**  
Luncurkan instans dengan `--metadata-options` diatur ke `HttpEndpoint=disabled`.

```
aws ec2 run-instances \
    --image-id {{ami-0abcdef1234567890}} \
    --instance-type {{c6i.large}} \
    ... 
    --metadata-options "HttpEndpoint=disabled"
```

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

**Untuk menonaktifkan akses ke metadata instans saat peluncuran**  
Contoh [ New-EC2Instance ](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) cmdlet berikut meluncurkan instance dengan `MetadataOptions_HttpEndpoint` set to. `disabled`

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

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

Untuk menentukan opsi metadata untuk instance yang menggunakan CloudFormation, lihat LaunchTemplate MetadataOptions [ properti ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html) AWS: :EC2:: di Panduan *CloudFormation Pengguna. * 

------

## Mengizinkan akses ke tanda dalam metadata instans
<a name="configure-IMDS-new-instances-tags-in-instance-metadata"></a>

Secara default, tag instance tidak dapat diakses dalam metadata instance. Untuk setiap contoh, Anda harus secara eksplisit mengizinkan akses. Jika akses diizinkan, * kunci tag instance * harus mematuhi batasan karakter tertentu, jika tidak, peluncuran instance akan gagal. Untuk informasi selengkapnya, lihat [Aktifkan akses ke tag dalam metadata contoh](work-with-tags-in-IMDS.md#allow-access-to-tags-in-IMDS).