VM 인스턴스에 대한 리퍼러 보기


VM 인스턴스와 다른 Compute Engine 리소스 간의 관계를 보려면 listReferrers REST API 메서드를 사용합니다.

REST를 사용하면 Compute Engine이 다음을 설명하는 참조 목록을 반환합니다.

  • 소스 리소스: 타겟 리소스를 참조하는 리소스입니다.
  • 타겟 리소스: 해당하는 리소스입니다.
  • 참조 유형: 두 리소스 간의 관계입니다.

예를 들어 REST를 사용하여 VM 인스턴스가 속한 인스턴스 그룹의 목록을 간편하게 볼 수 있습니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

제한사항

  • 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
  }
]

이 경우 targetexample-ig-a1이며 example-ig instance 그룹인 referrerMEMBER_OF입니다.

여러 리퍼러 나열

리소스에 리퍼러가 두 개 이상 있는 경우 응답에는 타겟 리소스의 모든 리퍼러 목록이 반환됩니다. 한 인스턴스가 두 인스턴스 그룹에 속하는 경우 응답에는 두 인스턴스 그룹이 모두 포함됩니다.

가상 머신 인스턴스가 두 인스턴스 그룹의 구성원인 경우 응답에 두 인스턴스 그룹이 모두 포함됩니다.

예를 들어 다음 응답은 example-instance-a2라는 인스턴스가 두 인스턴스 그룹(example-igexample-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 인스턴스가 있다고 가정합니다.

us-central1 리전에서 us-central1-a 영역의 new-instance-a3 인스턴스는 example-rmig 리전 인스턴스 그룹의 구성원입니다.

다음 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
  }
]

다음 단계