Mengonfigurasi opsi metadata instans untuk instans baru - Amazon Elastic Compute Cloud

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

Anda dapat mengonfigurasi opsi metadata instance berikut untuk instance baru.

Mengharuskan penggunaan IMDSv2

Anda dapat menggunakan metode berikut untuk meminta penggunaan IMDSv2 pada instance baru Anda.

Tetapkan IMDSv2 sebagai default untuk akun

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

catatan

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

Anda dapat mengatur default akun untuk versi metadata instans ke IMDSv2 sehingga semua instance 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 diatur ke required dan HttpPutResponseHopLimit diatur ke2.

catatan

Sebelum menyetel default akun ke IMDSv2, pastikan instans Anda tidak bergantung pada IMDSv1. Untuk informasi selengkapnya, lihat Jalur yang disarankan untuk mengharuskan 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/.

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

  3. Di panel navigasi, pilih Dasbor EC2.

  4. Di bawah Atribut akun, pilih Perlindungan dan keamanan data.

  5. Di samping default IMDS, pilih Kelola.

  6. Pada halaman Kelola default IMDS, lakukan hal berikut:

    1. Untuk layanan metadata Instance, pilih Diaktifkan.

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

    3. 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 ke 2 jika AMI memerlukan ImDSv2; jika tidak maka defaultnya menjadi 1.

    4. Pilih Perbarui.

AWS CLI
Untuk mengatur IMDSv2 sebagai default untuk akun untuk Wilayah yang ditentukan

Gunakan modify-instance-metadata-defaultsperintah dan tentukan Wilayah untuk memodifikasi pengaturan tingkat akun IMDS. Sertakan --http-tokens set ke required dan --http-put-response-hop-limit atur ke 2 jika instance Anda akan meng-host kontainer. Jika tidak, tentukan -1 untuk menunjukkan tidak ada preferensi. Ketika -1 (tidak ada preferensi) ditentukan, saat peluncuran, nilai default ke 2 jika AMI memerlukan ImDSv2; jika tidak maka defaultnya. 1

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

Output yang diharapkan

{ "Return": true }
Untuk melihat pengaturan akun default untuk opsi metadata instance untuk Wilayah yang ditentukan

Gunakan get-instance-metadata-defaultsperintah dan tentukan Wilayah.

aws ec2 get-instance-metadata-defaults --region us-east-1

Contoh Output

{ "AccountLevel": { "HttpTokens": "required", "HttpPutResponseHopLimit": 2 } }
PowerShell
Untuk mengatur IMDSv2 sebagai default untuk akun untuk Wilayah yang ditentukan

Gunakan Edit-EC2InstanceMetadataDefaultperintah dan tentukan Wilayah untuk memodifikasi pengaturan tingkat akun IMDS. Sertakan -HttpToken set ke required dan -HttpPutResponseHopLimit atur ke 2 jika instance Anda akan meng-host kontainer. Jika tidak, tentukan -1 untuk menunjukkan tidak ada preferensi. Ketika -1 (tidak ada preferensi) ditentukan, saat peluncuran, nilai default ke 2 jika AMI memerlukan ImDSv2; jika tidak maka defaultnya. 1

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

Output yang diharapkan

True
Untuk melihat pengaturan akun default untuk opsi metadata instance untuk Wilayah yang ditentukan

Gunakan Get-EC2InstanceMetadataDefaultperintah dan tentukan Wilayah.

Get-EC2InstanceMetadataDefault -Region us-east-1 | Format-List

Contoh Output

HttpEndpoint : HttpPutResponseHopLimit : 2 HttpTokens : required InstanceMetadataTags :

Konfigurasikan instans saat peluncuran

Saat meluncurkan instans, 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 untuk mengatur batas hop ke. 2 Untuk informasi selengkapnya, lihat Pertimbangan.

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

Old console
Untuk mengharuskan penggunaan IMDSv2 pada instans baru
  • Saat meluncurkan instans baru di konsol Amazon EC2, pilih opsi berikut di halaman Konfigurasikan Detail Instans:

    • Pada Detail Tingkat Lanjut, untuk Metadata yang dapat diakses, pilih Diaktifkan.

    • Untuk Versi metadata, pilih V2 (token diperlukan).

Untuk informasi selengkapnya, lihat Langkah 3: Konfigurasikan Detail Instans.

AWS CLI
Untuk mengharuskan penggunaan IMDSv2 pada instans baru

Contoh run-instances 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 untuk menyetel 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-EC2InstanceCmdlet berikut meluncurkan c6i.large instance dengan MetadataOptions_HttpEndpoint set to enabled dan parameter ke. MetadataOptions_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.

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

Untuk menentukan opsi metadata untuk instance yang digunakan AWS CloudFormation, lihat AWS::EC2::LaunchTemplate MetadataOptionsproperti di AWS CloudFormation Panduan Pengguna.

Konfigurasikan AMI

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 diatur ke V2 saja (token diperlukan) (konsol) atau HttpTokens diatur 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 mengonfigurasi AMI baru untuk IMDSv2.

AWS CLI

Contoh register-image 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-EC2ImageCmdlet 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.

Import-Module AWS.Tools.EC2 # Required for Amazon.EC2.Model object creation. 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

modify-image-attributeContoh 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-0123456789example \ --imds-support v2.0
PowerShell

Contoh Edit-EC2ImageAttributeCmdlet 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

Anda juga dapat membuat kebijakan IAM yang mencegah pengguna meluncurkan instans baru, kecuali mereka mengharuskan IMDSv2 pada instans baru.

Untuk menegakkan penggunaan IMDSv2 pada semua instans baru dengan menggunakan kebijakan IAM

Untuk memastikan bahwa pengguna IAM hanya dapat meluncurkan instans yang mengharuskan penggunaan IMDSv2 saat meminta metadata instans, Anda dapat menentukan bahwa kondisi yang mengharuskan IMDSv2 harus dipenuhi sebelum instans dapat diluncurkan. Untuk contoh kebijakan IAM, lihat Cara menggunakan metadata instans.

Aktifkan titik akhir IMDS IPv4 dan IPv6

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 diaktifkan secara otomatis. Titik akhir IPv6 tetap dinonaktifkan bahkan jika Anda meluncurkan instance ke subnet khusus IPv6. Untuk mengaktifkan titik akhir IPv6, Anda perlu melakukannya secara eksplisit. Saat Anda mengaktifkan titik akhir IPv6, titik akhir IPv4 tetap diaktifkan.

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

Persyaratan untuk mengaktifkan titik akhir IPv6
  • Jenis instance yang dipilih dibangun di atas Sistem AWS Nitro.

  • Subnet yang dipilih mendukung IPv6, di mana subnet adalah dual stack atau IPv6 saja.

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

New console
Untuk mengaktifkan titik akhir IMDS IPv6 saat peluncuran instans
  • Luncurkan instans di konsol Amazon EC2 dengan menentukan hal-hal berikut ini pada Detail lanjutan:

    • Untuk titik akhir Metadata IPv6, pilih Diaktifkan.

Untuk informasi selengkapnya, lihat Detail lanjutan.

AWS CLI
Untuk mengaktifkan titik akhir IMDS IPv6 saat peluncuran instans

Contoh run-instances 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 IMDS IPv6 saat peluncuran instans

Contoh New-EC2InstanceCmdlet 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

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.

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.

New console
Untuk menonaktifkan akses ke metadata instans saat peluncuran
  • Luncurkan instans 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.

Old console
Untuk menonaktifkan akses ke metadata instans saat peluncuran
  • Luncurkan instans di konsol Amazon EC2 dengan pilih opsi berikut di halaman Konfigurasikan Detail Instans:

    • Pada Detail Tingkat Lanjut, untuk Metadata yang dapat diakses, pilih Dinonaktifkan.

Untuk informasi selengkapnya, lihat Langkah 3: Konfigurasikan Detail Instans.

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-EC2InstanceCmdlet berikut meluncurkan instance dengan MetadataOptions_HttpEndpoint set ke. disabled

New-EC2Instance ` -ImageId ami-0abcdef1234567890 ` -InstanceType c6i.large ` -MetadataOptions_HttpEndpoint disabled
AWS CloudFormation

Untuk menentukan opsi metadata untuk instance yang digunakan AWS CloudFormation, lihat AWS::EC2::LaunchTemplate MetadataOptionsproperti di AWS CloudFormation Panduan Pengguna.