如要查看 Compute Engine 執行個體與其他 Compute Engine 資源之間的關係,請使用 gcloud CLI 或 REST。
列出運算執行個體的參照來源時,Compute Engine 會傳回參照清單,其中說明:
- 來源資源:指向目標資源的資源
- 目標資源:有問題的資源
- 參照類型:兩項資源之間的關係
舉例來說,您可以列出參照來源,查看運算執行個體所屬的執行個體群組清單。
事前準備
-
如果尚未設定驗證,請先完成設定。驗證機制會確認您的身分,以便授予 Google Cloud 服務和 API 的存取權。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:
請根據您打算如何使用本頁範例,選取對應的分頁標籤:
gcloud
-
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。 登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init
-
- 設定預設區域和可用區。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」一節。
限制
- 您只能列出運算執行個體和執行個體群組之間的關係。系統支援代管和非代管執行個體群組。
列出單一參照網址
參照網址是指參照其他資源的資源。如果是運算執行個體,常見的參照來源是執行個體群組。
舉例來說,假設您在可用區 us-central1-a 中有名為 example-ig-a1 的運算執行個體。運算執行個體是同一可用區中名為 example-ig 的執行個體群組成員,如下圖所示:
如要查看這項關係,請使用 gcloud CLI 或 REST:
gcloud
使用 gcloud compute instances list-referrers 指令:
gcloud compute instances list-referrers INSTANCE_NAME \
--zone=ZONE
更改下列內容:
INSTANCE_NAME:要列出參照來源的運算執行個體名稱。ZONE:運算執行個體所在的可用區。
舉例來說,如要列出 us-central1-a 區域中 example-ig-a1 執行個體的參照來源,請執行下列指令:
gcloud compute instances list-referrers example-ig-a1 \
--zone=us-central1-a
輸出結果會與下列內容相似:
REFERRER REFERENCE_TYPE TARGET
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig MEMBER_OF https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1
REST
對 instances.listReferrers 方法發出 GET 要求:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/referrers
更改下列內容:
PROJECT_ID:運算執行個體所在專案的 ID。ZONE:運算執行個體所在的可用區。INSTANCE_NAME:要列出參照來源的運算執行個體名稱。
舉例來說,如要列出 us-central1-a 區域中 example-ig-a1 執行個體的參照網址,請發出下列 HTTP 要求:
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1/referrers
伺服器會傳回標準清單回應,其中包含以下項目:
{
"items": [
{
"target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1",
"referenceType": "MEMBER_OF",
"referrer": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig"
}
]
}
在本案例中,目標資源為 example-ig-a1,這是參照來源資源 (example-ig 執行個體群組) 的 MEMBER_OF。
列出多個參照網址
如果資源有多個參照連結網址,回應會傳回目標資源的所有參照連結網址清單。如果執行個體屬於兩個執行個體群組,回應會包含這兩個執行個體群組。
舉例來說,假設 us-central1-a 區域中名為 example-instance-a2 的執行個體屬於兩個執行個體群組:example-ig 和 example-ig-2:
gcloud
使用 gcloud compute instances list-referrers 指令:
gcloud compute instances list-referrers INSTANCE_NAME \
--zone=ZONE
更改下列內容:
INSTANCE_NAME:要列出參照來源的運算執行個體名稱。ZONE:運算執行個體所在的可用區。
舉例來說,如要列出 us-central1-a 區域中 example-instance-a2 執行個體的參照來源,請執行下列指令:
gcloud compute instances list-referrers example-instance-a2 \
--zone=us-central1-a
輸出結果會與下列內容相似:
REFERRER REFERENCE_TYPE TARGET
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig MEMBER_OF https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig-2 MEMBER_OF https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2
REST
對 instances.listReferrers 方法發出 GET 要求:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/referrers
更改下列內容:
PROJECT_ID:運算執行個體所在專案的 ID。ZONE:運算執行個體所在的可用區。INSTANCE_NAME:要列出參照來源的運算執行個體名稱。
舉例來說,如要列出 us-central1-a 區域中 example-instance-a2 執行個體的參照網址,請發出下列 HTTP 要求:
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2/referrers
伺服器會傳回標準清單回應,其中包含以下項目:
{
"items": [
{
"target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2",
"referenceType": "MEMBER_OF",
"referrer": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig"
},
{
"target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2",
"referenceType": "MEMBER_OF",
"referrer": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig-2"
}
]
}
列出跨範圍參照來源
您也可以查看其他範圍 (例如其他區域或可用區) 內參照來源的相關資訊。舉例來說,假設您有一個運算執行個體,屬於區域性代管執行個體群組 (區域性 MIG):
如要查看指定這個執行個體的參照來源,請使用 gcloud CLI 或 REST:
gcloud
使用 gcloud compute instances list-referrers 指令:
gcloud compute instances list-referrers INSTANCE_NAME \
--zone=ZONE
更改下列內容:
INSTANCE_NAME:要列出參照來源的運算執行個體名稱。ZONE:運算執行個體所在的可用區。
舉例來說,如要列出 us-central1-a 區域中 new-instance-a3 執行個體的參照來源,請執行下列指令:
gcloud compute instances list-referrers new-instance-a3 \
--zone=us-central1-a
輸出結果會與下列內容相似:
REFERRER REFERENCE_TYPE TARGET
https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/instanceGroups/example-rmig MEMBER_OF https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3
REST
對 instances.listReferrers 方法發出 GET 要求:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/referrers
更改下列內容:
PROJECT_ID:運算執行個體所在專案的 ID。ZONE:運算執行個體所在的可用區。INSTANCE_NAME:要列出參照來源的運算執行個體名稱。
舉例來說,如要列出 us-central1-a 區域中 new-instance-a3 執行個體的參照網址,請發出下列 HTTP 要求:
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3/referrers
伺服器會傳回標準清單回應,其中包含以下項目:
{
"items": [
{
"target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3",
"referenceType": "MEMBER_OF",
"referrer": "https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/instanceGroups/example-rmig"
}
]
}
回應會顯示參照者清單中的區域性執行個體群組。
列出集合中所有資源的參照來源
使用萬用字元 (-),即可要求列出特定可用區內所有運算執行個體的所有參照來源:
gcloud
使用 gcloud compute instances list-referrers 指令搭配 - 萬用字元:
gcloud compute instances list-referrers - \
--zone=ZONE
將 ZONE 替換為要列出所有運算執行個體參照網址的可用區。
舉例來說,如要列出 us-central1-a 區域中所有運算執行個體的參照來源,請執行下列指令:
gcloud compute instances list-referrers - \
--zone=us-central1-a
輸出結果會與下列內容相似:
REFERRER REFERENCE_TYPE TARGET
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig MEMBER_OF https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig MEMBER_OF https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a2
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig-2 MEMBER_OF https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a2
https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/instanceGroups/example-rmig MEMBER_OF https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3
REST
使用 - 萬用字元,向 instances.listReferrers 方法發出 GET 要求:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/-/referrers
更改下列內容:
PROJECT_ID:要列出參照網址的專案 ID。ZONE:要列出所有運算執行個體參照來源的可用區。
舉例來說,如要列出 us-central1-a 區域中所有運算執行個體的參照來源,請提出下列 HTTP 要求:
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/-/referrers
伺服器會傳回回應,其中包含可用區中的運算執行個體清單,以及各個執行個體的參照。例如:
{
"items": [
{
"target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1",
"referenceType": "MEMBER_OF",
"referrer": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig"
},
{
"target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a2",
"referenceType": "MEMBER_OF",
"referrer": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig"
},
{
"target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a2",
"referenceType": "MEMBER_OF",
"referrer": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig-2"
},
{
"target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3",
"referenceType": "MEMBER_OF",
"referrer": "https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/instanceGroups/example-rmig"
}
]
}