Referrer zu VM-Instanzen ansehen


Verwenden Sie die REST API-Methode listReferrers, wenn Sie die Beziehungen zwischen VM-Instanzen und anderen Compute Engine-Ressourcen sehen möchten.

Wenn Sie REST verwenden, gibt Compute Engine eine Liste von Referenzen zurück, die Folgendes beschreiben:

  • Die Quellressource: die Ressource, die auf die Zielressource zeigt
  • Die Zielressource: die betreffende Ressource
  • Den Referenztyp: die Beziehung zwischen den beiden Ressourcen

Mit REST können Sie beispielsweise bequem eine Liste von Instanzgruppen anzeigen lassen, zu denen eine VM-Instanz gehört.

Hinweise

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich wie folgt bei Compute Engine authentifizieren.

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init

Beschränkungen

  • Sie können nur Beziehungen zwischen VM-Instanzen und Instanzgruppen (sowohl verwaltete als auch nicht verwaltete) auflisten.
  • Sie können Referrer nur mithilfe von REST auflisten.

Einzelne Referrer auflisten

Ein Referrer ist eine Ressource, die auf eine andere Ressource verweist. Ein gängiger Referrer für VM-Instanzen ist eine Instanzgruppe.

Angenommen, Sie haben eine VM-Instanz mit dem Namen example-ig-a1 in der Zone us-central1-a. Die VM-Instanz ist Mitglied einer Instanzgruppe mit dem Namen example-ig in derselben Zone, siehe folgendes Diagramm:

Eine VM-Instanz ist Mitglied einer Instanzgruppe in derselben Zone.

Rufen Sie mit der folgenden HTTP-Anfrage die Methode listReferrers für example-ig-a1 auf, wenn Sie diese Beziehung sehen möchten:

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1/referrers

Der Server gibt die Standardlistenantwort mit den folgenden Elementen zurück:

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

In diesem Fall ist das Ziel (target) example-ig-a1, d. h. ein Mitglied (MEMBER_OF) des referrer, der example-ig instance-Gruppe.

Mehrere Referrer auflisten

Wenn eine Ressource mehr als einen Referrer hat, gibt die Antwort eine Liste aller Referrer für die Zielressource zurück. Wenn eine Instanz zu zwei Instanzgruppen gehört, enthält die Antwort beide Instanzgruppen.

Wenn eine VM-Instanz Mitglied von zwei Instanzgruppen ist, enthält die Antwort beide Instanzgruppen.

Beispielsweise zeigt die folgende Antwort an, dass die Instanz mit dem Namen example-instance-a2 zu zwei Instanzgruppen namens example-ig und example-ig-2 gehört:

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

Querverweis-Referrer auflisten

Die Methode listReferrers gibt auch Informationen über Referrer zurück, die in anderen Bereichen, wie anderen Regionen oder Zonen, liegen. Angenommen, Sie haben eine VM-Instanz, die zu einer regionalen verwalteten Instanzgruppe gehört (regionale MIG).

Grafik: In der Region "us-central1" ist die Instanz "new-instance-a3" in der Zone "us-central1-a" Mitglied der regionalen Instanzgruppe "example-rmig".

Sie rufen die Methode listReferrers mit dieser Instanz als Ziel über die folgende HTTP-Anfrage auf:

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3/referrers

Der Server gibt eine Standardliste zurück, die folgende Elemente enthält:

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

Die Antwort zeigt die regionale Instanzgruppe in der Referrer-Liste.

Referrer auf alle Ressourcen in einer Sammlung auflisten

Mit dem Platzhalter (-) können Sie eine Liste aller Referrers auf alle VM-Instanzen in einer bestimmten Zone anfordern. Die Anforderung kann mit einer ähnlichen HTTP-Anfrage wie dieser hier erfolgen:

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/-/referrers

Der Server gibt eine Antwort zurück, die eine Liste von VM-Instanzen in der Zone und die Verweise auf diese Instanzen enthält. Beispiel:

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

Nächste Schritte