View a markdown version of this page

Mengkonfigurasi opsi Layanan Metadata Instance - Amazon Elastic Compute Cloud

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

Mengkonfigurasi opsi Layanan Metadata Instance

Instance Metadata Service (IMDS) berjalan secara lokal pada setiap instans EC2. Opsi metadata instans mengacu pada sekumpulan konfigurasi yang mengontrol aksesibilitas dan perilaku IMDS pada instans EC2.

Anda dapat mengonfigurasi opsi metadata instance berikut pada setiap instance:

Layanan metadata instans (IMDS): | enabled disabled

Anda dapat mengaktifkan atau menonaktifkan IMDS pada instance. Saat dinonaktifkan, Anda atau kode apa pun tidak akan dapat mengakses metadata instans pada instans.

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. Jika Anda ingin mengaktifkan titik akhir IPv6, Anda harus melakukannya secara eksplisit.

Titik akhir IPv6 IMDS: | enabled disabled

Anda dapat secara eksplisit mengaktifkan titik akhir IPv6 IMDS pada sebuah instance. Ketika titik akhir IPv6 diaktifkan, titik akhir IPv4 tetap diaktifkan. Titik akhir IPv6 hanya didukung pada Nitro-based instance di IPv6-supported subnet (dual stack atau IPv6 saja).

Versi metadata: IMDSv1 or IMDSv2 (token optional) | IMDSv2 only (token required)

Saat meminta metadata instans, panggilan IMDSv2 memerlukan token. Panggilan IMDSv1 tidak memerlukan token. Anda dapat mengonfigurasi instance untuk mengizinkan panggilan IMDSv1 atau IMDSv2 (di mana token bersifat opsional), atau untuk hanya mengizinkan panggilan IMDSv2 (jika token diperlukan).

Batas hop respons metadata: 164

Batas hop adalah jumlah lompatan jaringan yang diizinkan untuk dilakukan oleh respons PUT. Anda dapat mengatur batas hop ke minimum 1 dan maksimum64. Dalam lingkungan wadah, batas hop 1 dapat menyebabkan masalah. Untuk informasi tentang cara mengurangi masalah ini, lihat informasi tentang lingkungan kontainer di bawahPertimbangan akses metadata instance.

Akses ke tag dalam metadata contoh: enabled | disabled

Anda dapat mengaktifkan atau menonaktifkan akses ke tag instans dari metadata instans. Untuk informasi selengkapnya, lihat Lihat tag untuk instans EC2 Anda menggunakan metadata instans.

Untuk melihat konfigurasi instans saat ini, lihatMengueri opsi metadata instans untuk instans yang ada.

Tempat mengonfigurasi opsi metadata instance

Opsi metadata instans dapat dikonfigurasi pada tingkat yang berbeda, sebagai berikut:

  • Akun — Anda dapat menetapkan nilai default untuk opsi metadata instans di tingkat akun untuk masing-masing Wilayah AWS. Saat instance diluncurkan, opsi metadata instance secara otomatis disetel ke nilai tingkat akun. Anda dapat mengubah nilai-nilai ini saat peluncuran. Account-level nilai default tidak mempengaruhi instance yang ada.

  • AMI — Anda dapat mengatur imds-support parameter ke v2.0 saat Anda mendaftar atau memodifikasi AMI. Ketika sebuah instance diluncurkan dengan AMI ini, versi metadata instance secara otomatis disetel ke IMDSv2 dan batas hop diatur ke 2.

  • Inst ance — Anda dapat mengubah semua opsi metadata instance pada instance saat diluncurkan, mengesampingkan pengaturan default. Anda juga dapat mengubah opsi metadata instance setelah diluncurkan pada instance yang sedang berjalan atau dihentikan. Perhatikan bahwa perubahan mungkin dibatasi oleh kebijakan IAM atau SCP.

Untuk informasi selengkapnya, lihat Mengonfigurasi opsi metadata instans untuk instans baru dan Mengonfigurasi opsi metadata instans untuk instans yang ada.

Urutan prioritas misalnya opsi metadata

Nilai untuk setiap opsi metadata instance ditentukan saat peluncuran instance, mengikuti urutan prioritas hierarkis. Hirarki, dengan prioritas tertinggi di atas, adalah sebagai berikut:

  • Prioritas 1: Konfigurasi instans saat peluncuran — Nilai dapat ditentukan baik di template peluncuran atau dalam konfigurasi instance. Setiap nilai yang ditentukan di sini menggantikan nilai yang ditentukan pada tingkat akun atau di AMI.

  • Prioritas 2: Pengaturan akun — Jika nilai tidak ditentukan saat peluncuran instance, maka itu ditentukan oleh pengaturan tingkat akun (yang ditetapkan untuk masing-masing). Wilayah AWS Account-levelpengaturan termasuk nilai untuk setiap opsi metadata, atau menunjukkan tidak ada preferensi sama sekali.

  • Prioritas 3: Konfigur asi AMI — Jika nilai tidak ditentukan saat peluncuran instance atau di tingkat akun, maka itu ditentukan oleh konfigurasi AMI. Ini hanya berlaku untuk HttpTokens danHttpPutResponseHopLimit.

Setiap opsi metadata dievaluasi secara terpisah. Instans dapat dikonfigurasi dengan campuran konfigurasi instans langsung, default tingkat akun, dan konfigurasi dari AMI.

Anda dapat mengubah nilai opsi metadata apa pun setelah diluncurkan pada instans yang sedang berjalan atau dihentikan, kecuali perubahan dibatasi oleh kebijakan IAM atau SCP.

catatan

Setelan penegakan IMDSv2 tingkat akun dievaluasi setelah urutan prioritas menentukan pengaturan IMDS instans. Ketika penegakan IMDSv2 diaktifkan, instans yang diaktifkan dengan IMDSv1 akan gagal. Untuk informasi lebih lanjut tentang penegakan hukum, lihatMenerapkan IMDSv2 di tingkat akun.

Awas

Jika penegakan IMDSv2 diaktifkan dan httpTokens belum disetel ke required konfigurasi instans saat peluncuran, pengaturan akun, atau konfigurasi AMI, peluncuran Anda akan gagal.

Contoh 1 — Tentukan nilai untuk opsi metadata

Dalam contoh ini, instance EC2 diluncurkan ke Wilayah yang HttpPutResponseHopLimit disetel ke 1 tingkat akun. AMI yang ImdsSupport ditentukan telah disetel kev2.0. Tidak ada opsi metadata yang ditentukan langsung pada instance saat peluncuran. Instance diluncurkan dengan opsi metadata berikut:

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

Nilai-nilai ini ditentukan sebagai berikut:

  • Tidak ada opsi metadata yang ditentukan saat peluncuran: Selama peluncuran instance, nilai spesifik untuk opsi metadata tidak disediakan baik dalam parameter peluncuran instance atau dalam template peluncuran.

  • Pengaturan akun diutamakan berikutnya: Jika tidak ada nilai tertentu yang ditentukan saat peluncuran, pengaturan di tingkat akun dalam Wilayah akan diutamakan. Ini berarti bahwa nilai default yang dikonfigurasi pada tingkat akun diterapkan. Dalam hal ini, HttpPutResponseHopLimit ditetapkan ke1.

  • Pengaturan AMI diutamakan terakhir: Jika tidak ada nilai tertentu yang ditentukan saat peluncuran atau pada tingkat akun untuk HttpTokens (versi metadata instance), pengaturan AMI diterapkan. Dalam hal ini, pengaturan AMI ImdsSupport: v2.0 menentukan yang HttpTokens disetel kerequired. Perhatikan bahwa meskipun pengaturan AMI ImdsSupport: v2.0 dirancang untuk disetelHttpPutResponseHopLimit: 2, pengaturan ini diganti oleh pengaturan tingkat akunHttpPutResponseHopLimit: 1, yang memiliki prioritas lebih tinggi.

Contoh 2 — Tentukan nilai untuk opsi metadata

Dalam contoh ini, instance EC2 diluncurkan dengan pengaturan yang sama seperti pada Contoh 1 sebelumnya, tetapi dengan disetel ke HttpTokens optional langsung pada instance saat peluncuran. Instance diluncurkan dengan opsi metadata berikut:

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

Nilai untuk HttpPutResponseHopLimit ditentukan dengan cara yang sama seperti pada Contoh 1. Namun, nilai untuk HttpTokens ditentukan sebagai berikut: Opsi metadata yang dikonfigurasi pada instance saat peluncuran diutamakan terlebih dahulu. Meskipun AMI dikonfigurasi dengan ImdsSupport: v2.0 (dengan kata lain, disetel kerequired), HttpTokens nilai yang ditentukan pada instance saat peluncuran (HttpTokensdisetel keoptional) diutamakan.

Contoh 3 — Tentukan nilai untuk opsi metadata dengan HttpTokensEnforced diaktifkan

Dalam contoh ini, akun di Wilayah memiliki HttpTokens = required danHttpTokensEnforced = enabled.

Pertimbangkan upaya peluncuran instance EC2 berikut:

  • Upaya peluncuran dengan HttpTokens set ke optional — Peluncuran gagal karena penegakan tingkat akun diaktifkan (HttpTokensEnforced = enabled) dan parameter peluncuran diutamakan daripada default akun.

  • Upaya peluncuran dengan HttpTokens set ke required — Peluncuran berhasil karena sesuai dengan penegakan tingkat akun.

  • Upaya peluncuran tanpa HttpTokens nilai yang ditentukan — Peluncuran berhasil karena nilai default required berdasarkan pengaturan akun.

Mengatur versi metadata instance

Saat sebuah instance diluncurkan, nilai untuk versi metadata instans adalah IMDSv1 atau IMDSv2 (token opsional) () atau hanya IMDSv2 (token requiredhttpTokens=optional) (). httpTokens=required

Saat peluncuran instance, Anda dapat secara manual menentukan nilai untuk versi metadata, atau menggunakan nilai default. Jika Anda menentukan nilai secara manual, nilainya akan menggantikan default apa pun. Jika Anda memilih untuk tidak menentukan nilai secara manual, itu akan ditentukan oleh kombinasi pengaturan default.

Diagram alir berikut menunjukkan bagaimana versi metadata untuk instance saat peluncuran ditentukan oleh pengaturan pada tingkat konfigurasi yang berbeda dan di mana penegakan dievaluasi. Tabel berikut menyediakan pengaturan spesifik di setiap level.

Diagram alir yang menunjukkan titik evaluasi untuk versi metadata instance dan penegakan IMDSv2.

Tabel menunjukkan bagaimana versi metadata untuk instance saat peluncuran (ditunjukkan oleh Konfigurasi instance yang dihasilkan di kolom 4) ditentukan oleh pengaturan pada tingkat konfigurasi yang berbeda. Urutan prioritas adalah dari kiri ke kanan, di mana kolom pertama mengambil prioritas tertinggi, sebagai berikut:

  • Kolom 1: Parameter peluncuran — Merupakan pengaturan pada instance yang Anda tentukan secara manual saat peluncuran.

  • Kolom 2: Standar tingkat akun — Merupakan pengaturan untuk akun.

  • Kolom 3: AMI default - Merupakan pengaturan pada AMI.

Parameter luncurkan Tingkat akun default AMI default Konfigurasi instance yang dihasilkan
Hanya V2 (diperlukan token) Tidak ada preferensi Hanya V2 Hanya V2
Hanya V2 (diperlukan token) Hanya V2 Hanya V2 Hanya V2
Hanya V2 (diperlukan token) V1 atau V2 Hanya V2 Hanya V2
V1 atau V2 (token opsional) Tidak ada preferensi Hanya V2 V1 atau V2
V1 atau V2 (token opsional) Hanya V2 Hanya V2 V1 atau V2
V1 atau V2 (token opsional) V1 atau V2 Hanya V2 V1 atau V2
Tidak disetel Tidak ada preferensi Hanya V2 Hanya V2
Tidak disetel Hanya V2 Hanya V2 Hanya V2
Tidak disetel V1 atau V2 Hanya V2 V1 atau V2
Hanya V2 (diperlukan token) Tidak ada preferensi null Hanya V2
Hanya V2 (diperlukan token) Hanya V2 null Hanya V2
Hanya V2 (diperlukan token) V1 atau V2 null Hanya V2
V1 atau V2 (token opsional) Tidak ada preferensi null V1 atau V2
V1 atau V2 (token opsional) Hanya V2 null V1 atau V2
V1 atau V2 (token opsional) V1 atau V2 null V1 atau V2
Tidak disetel Tidak ada preferensi null V1 atau V2
Tidak disetel Hanya V2 null Hanya V2
Tidak disetel V1 atau V2 null V1 atau V2

Gunakan kunci kondisi IAM untuk membatasi opsi metadata instance

Anda dapat menggunakan kunci kondisi IAM dalam kebijakan IAM atau SCP sebagai berikut:

  • Izinkan sebuah instans untuk diluncurkan hanya jika instans tersebut dikonfigurasi untuk mengharuskan penggunaan IMDSv2

  • Batasi jumlah hop yang diizinkan

  • Nonaktifkan akses untuk metadata instans

catatan

Anda harus melanjutkan dengan hati-hati dan melakukan pengujian yang cermat sebelum membuat perubahan apa pun. Perhatikan hal-hal berikut ini:

  • Jika Anda memaksakan penggunaan IMDSv2, aplikasi atau agen yang menggunakan IMDSv1 untuk akses metadata instans akan rusak.

  • Jika Anda menonaktifkan semua akses ke metadata instans, aplikasi atau agen yang mengandalkan akses metadata instans ke fungsi akan rusak.

  • Untuk IMDSv2, Anda harus menggunakan /latest/api/token saat mengambil token.

  • (Hanya Windows) Jika PowerShell versi Anda lebih awal dari 4.0, Anda harus memperbarui ke Windows Management Framework 4.0 untuk memerlukan penggunaan IMDSv2.