全部產品
Search
文件中心

Elastic Compute Service:執行個體中繼資料

更新時間:Jun 14, 2025

ECS執行個體中繼資料是指執行個體ID、VPC資訊、網卡資訊等執行個體屬性資訊,支援在ECS執行個體內部通過訪問中繼資料服務(Metadata Service)擷取。通過該擷取方式,您無需登入控制台或調用API,在執行個體內部即可訪問執行個體資訊,可以更便捷、安全地配置或管理正在啟動並執行執行個體或執行個體上的程式。

執行個體中繼資料內容列表

中繼資料服務支援擷取主機名稱(hostname)、執行個體規格、執行個體名稱、鏡像ID等資訊,展開下方表格查看所有中繼資料。

點擊展開

中繼資料

說明

樣本

dns-conf/nameservers

執行個體的DNS配置。

100.100.XX.XX

hostname

執行個體的主機名稱。

iZbp13znx0m0me8cquu****

instance/instance-type

執行個體規格。

ecs.g6e.large

instance/instance-name

執行個體名稱。

iZbp1bfqfsvqzxhmnd5****

image-id

建立執行個體時所使用的鏡像ID。

aliyun_3_x64_20G_alibase_20210425.vhd

image/market-place/product-code

雲市場鏡像的商品碼。

cmjj01****

image/market-place/charge-type

雲市場鏡像的計費方式。

PrePaid

instance-id

執行個體ID。

i-bp13znx0m0me8cquu****

mac

執行個體的MAC地址,如果執行個體存在多個網卡,則只顯示eth0上的MAC地址。

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

network-type

網路類型,只支援VPC類型執行個體。

vpc

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

網卡的標識ID,其中[mac]參數需要替換為執行個體的MAC地址。

eni-bp1b2c0jvnj0g17b****

network/interfaces/macs/[mac]/netmask

網卡對應的子網路遮罩。

255.255.XX.XX

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

網卡所屬的虛擬交換器IPv4 CIDR段。

192.168.XX.XX/24

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

網卡所屬的VPC IPv4 CIDR段。

192.168.XX.XX/16

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

網卡分配的私網IPv4地址清單。

["192.168.XX.XX"]

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

網卡所屬的虛擬交換器ID。

vsw-bp1ygryo03m39xhsy****

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

網卡所屬安全性群組的VPC ID。

vpc-bp1e0g399hkd7c8q3****

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

網卡主私人IP地址。

192.168.XX.XX

network/interfaces/macs/[mac]/gateway

網卡對應的IPv4網關地址。

192.168.XX.XX

instance/max-netbw-egress

執行個體規格的出方向內網最大頻寬。單位:Kbit/s。

1228800

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

網卡分配的私網IPv4首碼列表。

192.168.XX.XX/28

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

網卡分配的IPv6首碼列表。

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

disks/

雲端硬碟序號。

bp131n0q38u3a4zi****

disks/[disk-serial]/id

雲端硬碟ID。

d-bp131n0q38u3a4zi****

disks/[disk-serial]/name

雲端硬碟名稱。

testDiskName

private-ipv4

執行個體主網卡的私網IPv4地址。

192.168.XX.XX

public-ipv4

執行個體主網卡的公網IPv4地址。

120.55.XX.XX

eipv4

該執行個體中繼資料項用於擷取以下資訊:

  • 執行個體的固定公網IPv4地址。

  • 執行個體主網卡掛載的Elastic IP Addressv4地址。

120.55.XX.XX

ntp-conf/ntp-servers

NTP伺服器位址。

ntp1.aliyun.com

owner-account-id

執行個體擁有者的阿里雲帳號ID。

1609****

region-id

執行個體所屬地區。

cn-hangzhou

zone-id

執行個體所屬可用性區域。

cn-hangzhou-i

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

公有密鑰。僅在執行個體啟動時提供了公有密鑰的情況下可用。

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

serial-number

執行個體所對應的序號。

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

source-address

鏡像庫地址,主要為yum源或者apt源,供Linux執行個體的包管理軟體擷取更新。

http://mirrors.cloud.aliyuncs.com

kms-server

Windows執行個體的KMS啟用伺服器。

kms.cloud.aliyuncs.com

wsus-server/wu-server

Windows執行個體的補救伺服器。

http://update.cloud.aliyuncs.com

wsus-server/wu-status-server

Windows執行個體的更新狀態監控伺服器。

http://update.cloud.aliyuncs.com

vpc-id

執行個體所屬VPC ID。

vpc-bp1e0g399hkd7c8q****

vpc-cidr-block

執行個體所屬VPC CIDR段。

192.168.XX.XX/16

vswitch-cidr-block

執行個體所屬虛擬交換器CIDR段。

192.168.XX.XX/24

vswitch-id

執行個體所屬虛擬交換器ID。

vsw-bp1ygryo03m39xhsy****

ram/security-credentials/[role-name]

如果執行個體已關聯RAM角色,則role-name為角色的名稱,並且返回結果包含與role-name角色關聯的臨時安全憑證。

憑證在Expiration欄位指定時間後失效,需重新調用介面擷取。

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

instance/spot/termination-time

搶佔式執行個體的作業系統設定的停機釋放時間,時區標準為UTC+0,格式為yyyy-MM-ddThh:mm:ssZ。

2020-04-07T17:03:00Z

instance/virtualization-solution

ECS虛擬化方案,支援Virt 1.0和Virt 2.0。

ECS Virt

instance/virtualization-solution-version

內部Build號。

2.0

中繼資料訪問模式說明

中繼資料訪問模式有普通模式和加固模式兩種方式,其訪問方式見擷取執行個體中繼資料。兩種模式對比見下表。

重要

推薦您使用加固模式來訪問執行個體中繼資料。因為普通模式是通過IP地址鑒權,這意味著攻擊者可以偽造請求的源IP地址,繞過IP地址鑒權,進行SSRF攻擊,造成執行個體中繼資料資訊泄露風險。

使用加固模式訪問需確保執行個體的cloud-init版本為23.2.2及以上。如果已有執行個體的cloud-init版本不滿足要求,您可以升級cloud-init版本,從而支援加固模式。檢查cloud-init版本及升級方法,請參見安裝cloud-init

訪問模式對比

對比項

普通模式

加固模式

互動方式

請求/響應

會話

鑒權方式

同VPC內源IP地址鑒權

同VPC內源IP地址鑒權+執行個體中繼資料訪問憑證鑒權

該訪問憑證具有以下特點:

  • 短時效性:訪問憑證有效期間,最長為6小時,超過有效期間後將失效,需要重新擷取。

  • 綁定執行個體:僅適用於一台執行個體,如果將憑證複製到其他執行個體使用,會被拒絕訪問。

  • 不接受代理訪問:請求中包含標題X-Forwarded-For,執行個體中繼資料會拒絕簽發訪問憑證。

查看方法

無需任何訪問憑證即可通過命令直接存取endpoint

需要先擷取中繼資料訪問憑證進行鑒權,再訪問endpoint,提高了中繼資料訪問的安全性

安全層級

較低

請求通過IP地址鑒權,意味著攻擊者可以偽造請求的源IP地址,繞過IP地址鑒權,進行SSRF攻擊,造成執行個體中繼資料資訊泄露風險。

較高

訪問中繼資料之前,必須先擷取有效中繼資料訪問憑證進行身分識別驗證和授權,該訪問憑證只能在ECS執行個體內部產生,在特定的ECS執行個體上使用,且具有時效性,攻擊者難以通過猜測或偽造的方式產生,可以防範大多數SSRF攻擊。

通過不同模式擷取執行個體中繼資料

加固模式

  • Linux執行個體

    # 擷取中繼資料訪問憑證,需設定有效期間,不可包含標題X-Forwarded-For,100.100.100.200表示執行個體中繼資料服務的IPv4地址
    TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:<中繼資料訪問憑證有效期間>"`
    # 訪問執行個體中繼資料
    curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/meta-data/<metadata>
  • Windows執行個體(PowerShell)

    # 擷取中繼資料訪問憑證,需設定有效期間,不可包含標題X-Forwarded-For,100.100.100.200表示執行個體中繼資料服務的IPv4地址
    $token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "<中繼資料訪問憑證有效期間>"} -Method PUT -Uri http://100.100.100.200/latest/api/token
    # 訪問執行個體中繼資料
    Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/meta-data/<metadata>

    您需要將上述代碼中的如下欄位根據實際情況進行替換。

    • <中繼資料訪問憑證有效期間>:訪問憑證用於鑒權以加強資料安全。有效期間取值範圍為1~21600,單位為秒。

      • 在有效期間內可重複使用執行個體中繼資料訪問命令訪問任何中繼資料資訊;超過有效期間後,憑證失效需要重新擷取,否則無法訪問執行個體中繼資料。

      • 訪問憑證僅適用於一台執行個體,如果將憑證複製到其他執行個體使用,會被拒絕訪問。

    • <metadata>:需替換為具體要查詢的執行個體中繼資料,詳情請參見執行個體中繼資料內容列表

普通模式

  • Linux執行個體

    #100.100.100.200表示執行個體中繼資料服務的IPv4地址
    curl http://100.100.100.200/latest/meta-data/<metadata>
  • Windows執行個體(PowerShell)

    #100.100.100.200表示執行個體中繼資料服務的IPv4地址
    Invoke-RestMethod http://100.100.100.200/latest/meta-data/<metadata>

<metadata>:需替換為具體要查詢的執行個體中繼資料,詳情請參見執行個體中繼資料內容列表

說明

ECS執行個體高頻訪問中繼資料服務器擷取中繼資料時,可能會導致限流。建議快取資料(如RAM憑證)並在到期前重新整理。

設定強制加固模式擷取執行個體中繼資料

為了進一步增強安全性,阿里雲支援您設定執行個體中繼資料訪問模式為僅加固模式(強制加固模式)。設定後,普通模式訪問的流量會被拒絕,以防範普通模式訪問可能帶來的大多數SSRF相關風險。以下為您詳細說明兩種情境下設定的具體方法。

重要

若您在ECS執行個體中部署的程式使用credentials工具擷取執行個體RAM角色的臨時身份憑證,切換時可能會對您的業務產生影響。為了避免業務受到影響,您需要升級credentials工具的版本。credentials支援強制加固模式的版本資訊,請參見通過Credentials工具擷取臨時訪問憑證

新建立ECS執行個體時設定強制加固模式

使用ECS控制台

執行個體購買頁,展開進階選項地區,設定中繼資料訪問模式為僅加固模式(強制加固模式)。

image

說明

只有當您使用的鏡像支援通過加固模式訪問中繼資料時,在購買ECS執行個體頁面可以選擇僅加固模式

如果您在控制台建立執行個體時無法選擇僅加固模式,則可以先建立執行個體,然後將cloud-init版本升級到23.2.2及以上,再為已有執行個體設定強制加固模式。

阿里雲最新發行的部分公用鏡像已支援通過加固模式訪問(指鏡像包含的cloud-init版本滿足23.2.2及以上)。您可以通過 DescribeImages - 查詢鏡像資源查看鏡像ImdsSupport屬性,鏡像ImdsSupport屬性為v2時表示鏡像支援加固模式訪問中繼資料。

使用API

通過API介面RunInstancesCreateInstance建立執行個體時,設定HttpTokens參數為required,表示執行個體中繼資料的訪問模式為僅加固模式(強制加固模式)。

說明

只有當您使用的鏡像支援通過加固模式訪問中繼資料時,調用上述介面建立執行個體時才能啟動成功。

如果啟動失敗,則可以先設定HttpTokens參數為optional啟動執行個體,然後將cloud-init版本升級到23.2.2及以上,再為已有執行個體設定強制加固模式。

阿里雲最新發行的部分公用鏡像已支援通過加固模式訪問(指鏡像包含的cloud-init版本滿足23.2.2及以上)。您可以通過 DescribeImages - 查詢鏡像資源查看鏡像ImdsSupport屬性,鏡像ImdsSupport屬性為v2時表示鏡像支援加固模式訪問中繼資料。

為已有執行個體設定強制加固模式

對於已經部署業務的ECS執行個體,設定強制加固模式會導致原來使用普通模式訪問中繼資料的請求被拒絕。建議您修改應用代碼為加固模式訪問後,確保ECS執行個體不存在普通訪問模式,再將執行個體中繼資料訪問模式設定為強制加固模式。

步驟一:修改應用代碼為加固模式訪問

  1. 定位出哪些執行個體需要修改為加固模式。

    • 方式一:在CloudMonitor控制台雲資源監控 > 雲產品監控頁面,搜尋ECS中繼資料。排查出監控圖表普通模式訪問成功次數大於0的ECS執行個體,表示當前執行個體記憶體在應用使用普通模式訪問中繼資料服務,這些ECS執行個體需要切換為強制加固模式。為了保證資料準確,建議您設定查看時間長度為14天或者更長。

    • 方式二:使用ACS-ECS-ImdsPacketAnalyzer工具排查出執行個體中哪些進程使用普通模式訪問執行個體中繼資料。

      該工具目前只支援Linux作業系統,因為Linux作業系統執行個體在建立時預設預裝了雲助手外掛程式,而雲助手預設提供了ACS-ECS-ImdsPacketAnalyzer 外掛程式,但存在作業系統限制。

      ACS-ECS-ImdsPacketAnalyzer工具支援的作業系統及使用方法

      執行個體部署了ACS-ECS-ImdsPacketAnalyzer外掛程式會影響部分效能。

      ACS-ECS-ImdsPacketAnalyzer外掛程式支援的作業系統:

      • Alibaba Cloud Linux 3

      • 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

      • RedHat中需要您自行下載rpm包安裝雲助手Agent,具體操作,請參見安裝雲助手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

      使用步驟:

      1. 遠端連線ECS執行個體。具體操作,請參見ECS遠端連線方式概述

      2. 執行如下命令,檢查執行個體是否已安裝雲助手Agent,並檢查是否提供ACS-ECS-ImdsPacketAnalyzer外掛程式。

        sudo acs-plugin-manager --list

        p940997

      3. 執行如下命令,部署imds_tracer_tool服務。

        sudo acs-plugin-manager --exec --plugin ACS-ECS-ImdsPacketAnalyzer

        配置成功的返回樣本如下:

        image.png

      4. 查看imds_tracer_tool服務部署狀態。

        sudo systemctl status imds_tracer_tool

        p940998

      5. 運行以下命令,將所有相容模式訪問執行個體中繼資料應用輸出到終端。

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

        p940995

  2. 確保上述定位出來的執行個體cloud-init版本為23.2.2及以上。如果已有執行個體的cloud-init版本不滿足要求,您可以升級cloud-init版本,從而支援加固模式。檢查cloud-init版本及升級方法,請參見安裝cloud-init

  3. 修改應用代碼,先擷取中繼資料訪問憑證Token,再將Token設定到要求標頭中擷取中繼資料,詳情請參見通過加固模式擷取執行個體中繼資料

  4. 確保代碼不存在普通訪問模式。

    CloudMonitor控制台ECS中繼資料頁面,待需要切換訪問模式的ECS執行個體監控圖表普通模式訪問成功次數顯示為暫無資料(表示次數為0),您就可以執行步驟二。否則可能導致切換到強制加固模式後普通訪問被拒絕,造成業務影響。為了保證資料準確,建議您設定查看時間長度為14天或者更長。

步驟二:設定執行個體中繼資料訪問模式為強制加固模式

使用ECS控制台

  1. 訪問ECS管理主控台 - 執行個體

  2. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。地區

  3. 找到目標執行個體,進入執行個體詳情頁,點擊全部操作,搜尋 修改執行個體中繼資料訪問資訊

  4. 開啟是否啟用執行個體中繼資料訪問通道開關,並設定執行個體中繼資料訪問模式僅加固模式

    image

使用API

您可以使用DescribeInstances介面查詢HttpTokens(訪問執行個體中繼資料時是否強制使用加固模式)選擇optional 篩選出哪些執行個體的應用還在使用普通模式訪問中繼資料。

通過API介面ModifyInstanceMetadataOptions修改執行個體中繼資料訪問模式,設定HttpTokensrequired(強制加固模式)。

為了避免設定為強制加固模式後普通訪問模式失敗造成業務影響,您可以藉助CloudMonitor控制台配置警示,提醒您普通模式被拒絕。如果設定為強制加固模式後存在普通模式被拒絕,需要先將執行個體切換回相容普通模式和加固模式,然後確保ECS執行個體不存在普通訪問模式後再重新設定。

常見問題

加固模式下,使用命令無法訪問執行個體中繼資料,如何處理?

請確認命令是否正確。常見錯誤命令如下:

  • 執行個體中繼資料訪問憑證的有效期間超出範圍(1秒~21600秒)

    curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds: 21700"
  • 請求中存在X-Forwarded-For標題

    curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-Forwarded-For: www.ba****.com"
  • 指定的執行個體中繼資料訪問憑證無效

    curl -H "X-aliyun-ecs-metadata-token: aaa" -v http://100.100.100.200/latest/meta-data/