All Products
Search
Document Center

Elastic Compute Service:Instance metadata

Last Updated:May 16, 2026

Kueri properti instans seperti ID dan alamat IP dari dalam Instance ECS, serta terapkan mode penguatan keamanan untuk mencegah serangan SSRF.

Dapatkan instance metadata

Instance metadata mencakup atribut seperti ID instans, konfigurasi jaringan, dan kredensial akses.

Metode 1: Mode penguatan keamanan (direkomendasikan)

Dapatkan token akses sementara, lalu sertakan dalam permintaan metadata Anda.

Linux

  1. Masuk ke instans.

  2. Dapatkan token sementara.

    TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:21600"`
    Parameter X-aliyun-ecs-metadata-token-ttl-seconds menentukan TTL token dalam detik. Nilai yang valid: 1 hingga 21600.
  3. Sertakan token dalam permintaan Anda untuk mengambil metadata.

    curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/meta-data/instance-id
    Ganti instance-id dengan item metadata lain sesuai kebutuhan, seperti mac atau hostname.

    Jika berhasil, terminal hanya menampilkan string ID instans, misalnya, i-bp1******.

Windows

  1. Masuk ke instans.

  2. Dapatkan token sementara.

    $token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://100.100.100.200/latest/api/token
    Parameter X-aliyun-ecs-metadata-token-ttl-seconds menentukan TTL token dalam detik. Nilai yang valid: 1 hingga 21600.
  3. Sertakan token dalam permintaan Anda untuk mengambil metadata.

    Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/meta-data/instance-id
    Ganti instance-id dengan item metadata lain sesuai kebutuhan, seperti mac atau hostname.

    Jika berhasil, terminal hanya menampilkan string ID instans, misalnya, i-bp1******.

Metode 2: Mode Normal

Peringatan

Mode Normal tidak aman dan tidak direkomendasikan.

  • Linux:

    # Kirim permintaan GET untuk mendapatkan ID instans.
    curl http://100.100.100.200/latest/meta-data/instance-id
  • Windows:

    # Kirim permintaan GET untuk mendapatkan ID instans.
    Invoke-RestMethod -Uri http://100.100.100.200/latest/meta-data/instance-id -Method Get

Hanya aktifkan mode penguatan keamanan

Aktifkan Security Hardening Mode agar metadata hanya dapat diakses dengan token. Permintaan dalam mode normal akan mengembalikan error 403 - Forbidden. Secara default, Instance ECS mengizinkan akses tanpa token (mode normal), yang berisiko tinggi terhadap serangan SSRF.

Serangan umum mengeksploitasi fitur aplikasi seperti mengunduh gambar dari URL eksternal. Penyerang membuat permintaan yang memancing server untuk mengakses layanan metadata dan mencuri kredensial sementara peran RAM. Jika peran tersebut memiliki izin tingkat tinggi, penyerang dapat mengambil alih sumber daya cloud Anda atau seluruh akun Alibaba Cloud Anda.

Aktifkan mode penguatan keamanan untuk instans baru

Konsol

Saat Anda membuat instans, atur Advanced Options > Metadata Access Mode ke Security Hardening Mode.

Jika Security Hardening Mode tidak tersedia saat membuat instans dari gambar kustom, upgrade gambarnya.

CLI

Panggil RunInstances atau CreateInstance dengan HttpEndpoint=enabled dan HttpTokens=required. Contoh:

Contoh ini membuat instans Linux dalam security hardening mode.
aliyun ecs RunInstances \
--region cn-hangzhou \
--RegionId 'cn-hangzhou' \
--ImageId 'aliyun_3_x64_20G_alibase_20250629.vhd' \
--InstanceType 'ecs.g7.large' \
--VSwitchId 'vsw-bp1******trg' \
--SecurityGroupId 'sg-bp1******dgl' \
--SystemDisk.Size 40 \
--SystemDisk.Category cloud_essd \
--HttpEndpoint enabled \
--HttpTokens required

API

Panggil RunInstances atau CreateInstance dengan HttpEndpoint=enabled dan HttpTokens=required.

Upgrade instans yang sudah ada

Cakupan

  • Instans Windows: Security Hardening Mode tidak didukung. Memaksakan mode ini menyebabkan kegagalan inisialisasi dan mengganggu modifikasi hostname serta aktivasi KMS.

  • Instans Linux: Didukung. Lakukan pemeriksaan dependensi dan modifikasi pada bagian berikut sebelum melakukan upgrade.

Langkah 1: Periksa dan upgrade kode serta dependensi

Sebelum beralih ke Security Hardening Mode, pastikan instans dan semua aplikasi yang dideploy memenuhi persyaratan berikut:

  • Versi Cloud-init harus 23.2.2 atau lebih baru. Jalankan cloud-init --version untuk memeriksa. Jika versi lebih lama dari 23.2.2, upgrade Cloud-init terlebih dahulu — jika tidak, instans gagal memulai setelah beralih mode.

  • Semua kode aplikasi dan skrip harus mengakses instance metadata menggunakan Metode 1: Security hardening mode.

    Penting

    Jika kode Anda menggunakan pustaka Credentials untuk mendapatkan token STS guna konfigurasi SDK, upgrade ke versi yang mendukung security hardening mode.

Setelah upgrade, verifikasi bahwa tidak ada lagi akses dalam mode normal. Lihat Bagaimana cara mendeteksi apakah Instance ECS diakses dalam mode normal?. Kemudian aktifkan Security Hardening Mode untuk instans tersebut.

Langkah 2: Aktifkan mode penguatan keamanan

Konsol

  1. Buka halaman Konsol ECS - Instans. Pilih wilayah dan kelompok sumber daya.

  2. Pada kolom Tindakan, klik image > Modify Instance Metadata Access Information.

  3. Nyalakan sakelar Enable Instance Metadata Access Channel, atur Instance Metadata Access Mode ke Security Hardening Mode, lalu klik OK.

    image

CLI

Panggil ModifyInstanceMetadataOptions dengan HttpEndpoint=enabled dan HttpTokens=required untuk mengaktifkan Security Hardening Mode. Contoh:

aliyun ecs ModifyInstanceMetadataOptions \
--region cn-hangzhou \
--RegionId 'cn-hangzhou' \
--InstanceId 'i-bp1******ke' \
--HttpEndpoint enabled \
--HttpTokens required

API

Panggil ModifyInstanceMetadataOptions dengan HttpEndpoint=enabled dan HttpTokens=required untuk mengaktifkan Security Hardening Mode.

Setelah beralih, pantau akses metadata dan status aplikasi. Jika terjadi masalah, kembalikan ke Normal And Security Hardening Modes untuk memulihkan layanan, lalu ulangi Langkah 1: Periksa dan upgrade kode serta dependensi.

Detail metadata instans

Metadata diorganisasikan dalam hierarki menyerupai direktori. Mengakses suatu direktori akan mengembalikan entri atau subdirektori-nya. Misalnya, meta-data/instance/ mengembalikan instance-name dan instance-type.

Kategori

Metadata

Deskripsi

Contoh

Informasi Instans Dasar

instance-id

ID instans.

i-bp13znx0m0me8cquu****

instance/instance-name

Nama instans.

iZbp1bfqfsvqzxhmnd5****

hostname

Hostname.

iZbp13znx0m0me8cquu****

instance/instance-type

Tipe instans.

ecs.g6e.large

serial-number

Nomor seri.

4acd2b47-b328-4762-852f-998****

region-id

Wilayah instans.

cn-hangzhou

zone-id

Zona instans.

cn-hangzhou-i

owner-account-id

ID akun Alibaba Cloud pemilik instans.

1609****

tags/instance/[tagKey]

Nilai tag instans tertentu. [tagKey] adalah kunci tag yang akan dikueri.

Untuk mengaktifkan fitur ini, panggil ModifyInstanceMetadataOptions dan atur InstanceMetadataTags ke enabled.

dev

Informasi image

image-id

ID image yang digunakan untuk membuat instans.

aliyun_3_x64_20G_alibase_20210425.vhd

image/market-place/product-code

Kode produk dari Gambar Marketplace Alibaba Cloud.

cmjj01****

image/market-place/charge-type

Metode penagihan dari Gambar Marketplace Alibaba Cloud.

PrePaid

source-address

Sumber Manajer paket (seperti yum atau apt) yang digunakan oleh instans Linux untuk pembaruan.

http://mirrors.cloud.aliyuncs.com

Konfigurasi jaringan dasar

network-type

Jenis jaringan. Hanya VPC yang didukung.

vpc

vpc-id

ID VPC dari instans.

vpc-bp1e0g399hkd7c8q****

vpc-cidr-block

Blok CIDR dari VPC instans.

192.168.XX.XX/16

vswitch-id

ID vSwitch dari instans.

vsw-bp1ygryo03m39xhsy****

vswitch-cidr-block

Blok CIDR dari vSwitch instans.

192.168.XX.XX/24

instance/max-netbw-egress

Bandwidth internal outbound maksimum dari tipe instans. Satuan: Kbit/s.

1228800

dns-conf/nameservers

Konfigurasi DNS.

100.100.XX.XX

ntp-conf/ntp-servers

Alamat server NTP.

ntp1.aliyun.com

Alamat IP ENI primer

mac

Alamat MAC dari instans. Untuk instans dengan beberapa NIC, hanya alamat MAC pada eth0 yang dikembalikan.

00:16:3e:0f:XX:XX

private-ipv4

Alamat IPv4 privat dari ENI primer.

192.168.XX.XX

public-ipv4

Alamat IPv4 publik dari ENI primer instans.

120.55.XX.XX

eipv4

Alamat IPv4 publik statis atau Alamat IP Elastis yang disambungkan ke ENI primer.

120.55.XX.XX

Detail antarmuka jaringan elastis

network/interfaces/macs/[mac]/network-interface-id

ID ENI.

Ganti [mac] dengan alamat MAC instans dari item metadata mac. Hal yang sama berlaku untuk item-item berikutnya.

eni-bp1b2c0jvnj0g17b****

network/interfaces/macs/[mac]/vpc-id

ID VPC dari ENI.

vpc-bp1e0g399hkd7c8q3****

network/interfaces/macs/[mac]/vswitch-id

ID vSwitch dari ENI.

vsw-bp1ygryo03m39xhsy****

network/interfaces/macs/[mac]/primary-ip-address

Alamat IP pribadi utama dari ENI.

192.168.XX.XX

network/interfaces/macs/[mac]/private-ipv4s

Alamat IPv4 privat yang ditetapkan ke ENI.

["192.168.XX.XX"]

network/interfaces/macs/[mac]/ipv4-prefixes

Awalan IPv4 privat yang ditetapkan ke ENI.

192.168.XX.XX/28

network/interfaces/macs/[mac]/netmask

Subnet mask dari ENI.

255.255.XX.XX

network/interfaces/macs/[mac]/gateway

Gateway IPv4 dari ENI.

192.168.XX.XX

network/interfaces/macs/[mac]/vswitch-cidr-block

Blok CIDR IPv4 dari vSwitch ENI.

192.168.XX.XX/24

network/interfaces/macs/[mac]/vpc-cidr-block

Blok CIDR IPv4 dari VPC ENI.

192.168.XX.XX/16

network/interfaces/macs/[mac]/ipv6s

Alamat IPv6 yang ditetapkan ke ENI. Hanya untuk instans jenis VPC yang telah dikonfigurasi IPv6.

[2408:XXXX:325:a204:1875:217f:184a:e4e]

network/interfaces/macs/[mac]/ipv6-prefixes

Awalan IPv6 yang ditetapkan ke ENI.

2001:db8:1234:1a00:XXXX::/80

network/interfaces/macs/[mac]/ipv6-gateway

Gateway IPv6 dari VPC ENI.

2408:XXXX:325:a204:ffff:ffff:ffff:fff7

network/interfaces/macs/[mac]/vswitch-ipv6-cidr-block

Blok CIDR IPv6 dari vSwitch ENI. Hanya untuk instans jenis VPC yang telah dikonfigurasi IPv6.

2408:XXXX:325:a204::/64

network/interfaces/macs/[mac]/vpc-ipv6-cidr-blocks

Blok CIDR IPv6 dari VPC ENI. Hanya untuk instans jenis VPC yang telah dikonfigurasi IPv6.

[2408:XXXX:325:a200::/56]

Informasi disk

disks/

Nomor seri disk.

bp131n0q38u3a4zi****

disks/[disk-serial]/id

ID disk.

d-bp131n0q38u3a4zi****

disks/[disk-serial]/name

Nama disk.

testDiskName

Keamanan dan kredensial

public-keys/[keypair-id]/openssh-key

Kunci publik, tersedia hanya jika disediakan saat launch.

ssh-rsa ****3NzaC1yc2EAAAADAQABAAABAQDLNbE7pS****@****.com

ram/security-credentials/[role-name]

Kredensial keamanan temporary dari Peran RAM yang terkait dengan instans. Ganti [role-name] dengan nama Peran RAM. Kredensial kedaluwarsa pada waktu yang tercantum di bidang Expiration; panggil lagi untuk mendapatkan kredensial baru.

{
    "AccessKeyId": "****",
    "AccessKeySecret": "****",
    "Expiration": "2024-11-08T09:44:50Z",
    "SecurityToken": "****",
    "LastUpdated": "2024-11-08T03:44:50Z",
    "Code": "Success"
}

Atribut instans lanjutan

instance/virtualization-solution

Solusi virtualisasi ECS. Virt 1.0 dan Virt 2.0 didukung.

ECS Virt

instance/virtualization-solution-version

Nomor build internal.

2

instance/spot/termination-time

Waktu penghentian dan rilis terjadwal untuk spot instans, dalam format UTC+0 yyyy-MM-ddThh:mm:ssZ.

2020-04-07T17:03:00Z

Konfigurasi khusus Windows

kms-server

Server aktivasi KMS untuk instans Windows.

kms.cloud.aliyuncs.com

wsus-server/wu-server

Server pembaruan untuk instans Windows.

http://update.cloud.aliyuncs.com

wsus-server/wu-status-server

Server pemantauan status pembaruan untuk instans Windows.

http://update.cloud.aliyuncs.com

FAQ

  • Apa itu serangan SSRF, dan bagaimana mode penguatan keamanan melindungi dari serangan tersebut?

    SSRF adalah kerentanan di mana penyerang memancing server untuk membuat permintaan jaringan tidak sah guna mengakses sistem internal seperti layanan metadata atau database. Misalnya, penyerang dapat mengirimkan URL yang berisi http://100.100.100.200/latest/meta-data/ untuk menipu aplikasi agar mengambil dan mengembalikan metadata sensitif.

    Secara default, instans ECS mengizinkan akses tanpa token (mode normal). Mode penguatan keamanan menerapkan validasi token: klien terlebih dahulu mengirim permintaan PUT untuk mendapatkan token sementara, lalu menyertakannya dalam permintaan GET. Karena serangan SSRF tidak dapat memulai permintaan PUT, mereka tidak bisa mendapatkan token, sehingga secara efektif memblokir akses tidak sah.

  • Saya tidak dapat mengakses metadata instans menggunakan perintah dalam mode penguatan keamanan. Bagaimana cara memperbaikinya?

    Galat perintah umum:

    • TTL kredensial akses metadata instans berada di luar rentang (400 - Missing or Invalid Parameters)

      TTL harus antara 1 hingga 21.600 detik. Nilai di luar rentang ini akan mengembalikan 400 - Missing or Invalid Parameters.

      curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds: 21700"
    • Permintaan berisi header X-Forwarded-For (403 - Forbidden)

      curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-Forwarded-For: www.ba****.com"
    • Kredensial akses metadata instans yang ditentukan tidak valid (401 - Unauthorized)

      curl -H "X-aliyun-ecs-metadata-token: aaa" -v http://100.100.100.200/latest/meta-data/
  • Apa yang harus saya lakukan jika akses frekuensi tinggi saya ke layanan metadata dibatasi lajunya?

    Layanan metadata memiliki batas laju akses. Ambil item yang jarang berubah—seperti instance-id—sekali saat startup dan simpan di cache lokal dengan TTL yang wajar.

  • Aplikasi saya berhenti berfungsi setelah saya mengubah mode akses metadata instans ke mode penguatan keamanan. Bagaimana cara memecahkan masalah ini?

    Aplikasi atau skrip pada instans mungkin masih menggunakan mode normal. Ikuti panduan di Upgrade an existing instance untuk memeriksa dan memperbaruinya.

  • Bisakah saya mengakses alamat metadata dari host lokal?

    Tidak. 100.100.100.200 adalah alamat link-lokal yang hanya dapat dijangkau dari dalam instans ECS melalui antarmuka jaringan virtualnya. Permintaan dari luar instans tidak dapat diarahkan ke alamat ini.

  • Apa yang harus saya lakukan jika saya tidak dapat memilih mode penguatan keamanan saat membuat instans dari gambar kustom?

    Saat membuat instans ECS dari gambar Linux kustom, Anda mungkin menemukan bahwa Security Hardening Mode tidak tersedia. Hal ini berarti gambar tersebut tidak memenuhi persyaratan. Perbarui gambar tersebut sebagai berikut:

    1. Buat instans sementara: Gunakan gambar kustom untuk membuat instans ECS sementara.

    2. Modifikasi instans sementara: Pada instans sementara, lakukan modifikasi berikut. Lihat Upgrade an existing instance.

      • Upgrade Cloud-init: Upgrade Cloud-init ke versi 23.2.2 atau lebih baru.

      • Modifikasi aplikasi dan skrip: Perbarui semua aplikasi atau skrip yang menggunakan mode normal menjadi mode penguatan keamanan.

    3. Buat gambar baru dan perbarui atributnya: Buat gambar kustom baru dari instans tersebut. Kemudian panggil ModifyImageAttribute untuk mengatur Features.ImdsSupport ke `v2`.

    4. Lepaskan sumber daya: Lepaskan instans sementara setelah gambar baru dibuat.

  • Versi tool Credentials mana yang mendukung mode penguatan keamanan?

    Versi Credentials sebelumnya tidak mendukung akses metadata dalam mode penguatan keamanan. Beralih ke mode penguatan keamanan tanpa melakukan upgrade akan mencegah SDK mendapatkan token STS, sehingga menyebabkan gangguan layanan.

    Upgrade dependensi Credentials ke versi yang didukung sebelum mengganti mode:

    • Java: credentials-java versi >= 0.3.10.

    • Node.js: credentials versi >= 2.3.1.

    • PHP: credentials versi >= 1.2.0.

    • Python: alibabacloud_credentials versi >= 0.3.6.

    • Go: credentials-go versi >= 1.3.10.

  • Bagaimana cara mendeteksi apakah instans ECS sedang diakses dalam mode normal?

    Gunakan metode berikut untuk mendeteksi dan melokalisasi proses yang mengakses metadata dalam mode normal.

    Metode 1: Gunakan CloudMonitor untuk memeriksa akses mode normal

    Periksa data pemantauan metadata ECS di konsol CloudMonitor untuk menentukan apakah instans tersebut diakses dalam mode normal.

    1. Masuk ke CloudMonitor console.

    2. Pada panel navigasi kiri, pilih Cloud Resource Monitoring > Cloud Service Monitoring. Cari dan buka halaman pemantauan ECS Metadata.

    3. Lihat metrik Successful Normal Mode Accesses untuk instans target.

    4. Jika metrik ini tidak bernilai 0, berarti instans tersebut sedang diakses dalam mode normal. Temukan dan upgrade aplikasi yang menggunakan mode normal tersebut.

    Metode 2: Gunakan plugin Cloud Assistant untuk melokalisasi proses tertentu

    Gunakan plugin Cloud Assistant untuk melokalisasi proses yang mengakses metadata dalam mode normal.

    Sistem operasi yang didukung

    • Alibaba Cloud Linux 3

    • Alibaba Cloud Linux 3 Pro

    • Anolis OS 8

    • CentOS Stream 8/9

    • CentOS 8

    • Ubuntu: 20/24

    • Debian:10,11,12

    • Fedora 35+

    • AlmaLinux 8/9

    • Rocky Linux 8/9

    • Red Hat Enterprise Linux 8/9

    • Untuk Red Hat, unduh paket RPM untuk menginstal Cloud Assistant Agent.

    • SUSE 15.1/15.2/15.3/15.4/15.5/15.6

    • OpenSuse 15.2/15.3/15.4/15.5/15.6

    Prosedur

    1. Instal dan aktifkan plugin Cloud Assistant

      Masuk ke instans ECS dan instal layanan pemantauan. Layanan ini mengonsumsi sebagian sumber daya instans.

      # Deploy the monitoring service.
      sudo acs-plugin-manager --exec --plugin ACS-ECS-ImdsPacketAnalyzer
      
      # Check the status of the monitoring service.
      sudo systemctl status imds_tracer_tool

      p940998

    2. Lokalisasi proses bermasalah Periksa proses mana yang masih mengakses metadata dalam mode normal. Log menampilkan ID proses (PID).

      cat /var/log/imds/imds-trace.* | grep WARNING

      p940995

    3. Analisis dan modifikasi Temukan aplikasi atau skrip yang sesuai dengan PID tersebut dan upgrade ke mode penguatan keamanan.