VM 인스턴스와 다른 Compute Engine 리소스 간의 관계를 보려면 listReferrers
REST API 메서드를 사용합니다.
REST를 사용하면 Compute Engine은 다음을 설명하는 참조 목록을 반환합니다.
- 소스 리소스: 타겟 리소스를 참조하는 리소스입니다.
- 타겟 리소스: 해당하는 리소스입니다.
- 참조 유형: 두 리소스 간의 관계입니다.
예를 들어 REST를 사용하여 VM 인스턴스가 속한 인스턴스 그룹의 목록을 간편하게 볼 수 있습니다.
시작하기 전에
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다.
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.
제한사항
- VM 인스턴스와 인스턴스 그룹(관리형 및 비관리형) 간의 관계만 나열할 수 있습니다.
- REST를 사용하여 리퍼러만 나열할 수 있습니다.
단일 리퍼러 나열
리퍼러는 다른 리소스를 참조하는 리소스입니다. VM 인스턴스의 경우 공통 리퍼러는 인스턴스 그룹입니다.
예를 들어 us-central1-a
영역에 example-ig-a1
이라는 VM 인스턴스가 있다고 가정합니다. VM 인스턴스는 아래 다이어그램과 같이 동일한 영역에 있는 example-ig
라는 인스턴스 그룹의 구성원입니다.
이 관계를 보려면 다음 HTTP 요청으로 example-ig-a1
에서 listReferrers
메서드를 호출합니다.
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
}
]
이 경우 target
은 example-ig-a1
이며 example-ig instance
그룹인 referrer
의 MEMBER_OF
입니다.
여러 리퍼러 나열
리소스에 리퍼러가 두 개 이상 있는 경우 응답에는 타겟 리소스의 모든 리퍼러 목록이 반환됩니다. 한 인스턴스가 두 인스턴스 그룹에 속하는 경우 응답에는 두 인스턴스 그룹이 모두 포함됩니다.
예를 들어 다음 응답은 example-instance-a2
라는 인스턴스가 두 인스턴스 그룹(example-ig
및 example-ig-2
)에 속함을 나타냅니다.
"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
}
]
교차 범위 리퍼러 나열
listReferrers
메서드는 다른 리전 또는 영역과 같은 다른 범위 내에 있는 리퍼러에 대한 정보도 반환합니다. 예를 들어 리전 관리형 인스턴스 그룹(리전 MIG)에 속하는 VM 인스턴스가 있다고 가정합니다.
다음 HTTP 요청으로 이 인스턴스를 타겟팅하는 listReferrers
메서드를 호출합니다.
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
}
]
응답의 리퍼러 목록에는 리전 인스턴스 그룹이 표시됩니다.
모음 내 모든 리소스에 대한 리퍼러 나열
와일드 카드 문자(-
)를 사용하여 특정 영역 내의 모든 VM 인스턴스에 대한 모든 리퍼러의 목록을 요청할 수 있습니다. 다음과 유사한 HTTP 요청을 사용하여 요청을 할 수 있습니다.
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/-/referrers
서버에서는 영역에 있는 VM 인스턴스 목록과 인스턴스에 대한 참조를 포함하는 응답을 반환합니다. 예를 들면 다음과 같습니다.
"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
}
]