Visualizzazione dei referrer alle istanze VM


Se vuoi visualizzare le relazioni tra le istanze VM e altre risorse di Compute Engine, utilizza il metodo dell'API REST listReferrers.

Quando utilizzi REST, Compute Engine restituisce un elenco di riferimenti che descrivono:

  • La risorsa di origine: la risorsa che punta alla risorsa di destinazione
  • La risorsa target: la risorsa in questione
  • Il tipo di riferimento: la relazione tra le due risorse

Ad esempio, puoi utilizzare REST per visualizzare comodamente un elenco di gruppi di istanze a cui appartiene un'istanza VM.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

Limitazioni

  • Puoi elencare solo le relazioni tra le istanze VM e i gruppi di istanze (sia gestiti che non gestiti).
  • Puoi elencare i referrer solo utilizzando REST.

Elenco di un singolo referrer

Un referrer è una risorsa che fa riferimento a un'altra risorsa. Per le istanze VM, un referrer comune è un gruppo di istanze.

Ad esempio, supponiamo di avere un'istanza VM denominata example-ig-a1 nella zona us-central1-a. L'istanza VM è un membro di un gruppo di istanze denominato example-ig nella stessa zona, come mostrato nel diagramma seguente:

Un'istanza di macchina virtuale è un membro di un gruppo di istanze nella
            stessa zona.

Per visualizzare questa relazione, chiama il metodo listReferrers su example-ig-a1 con la seguente richiesta HTTP:

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

Il server restituisce una risposta di elenco standard contenente i seguenti elementi:

"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 questo caso, target è example-ig-a1, ovvero un MEMBER_OF il referrer, il gruppo example-ig instance.

Elenco di più referrer

Se una risorsa ha più di un referrer, la risposta restituisce un elenco di tutti i referrer per la risorsa di destinazione. Se un'istanza appartiene a due gruppi di istanze, la risposta contiene entrambi i gruppi di istanze.

Se un'istanza di macchina virtuale è membro di due gruppi di istanze,
            la risposta contiene entrambi i gruppi di istanze.

Ad esempio, la seguente risposta indica che l'istanza denominata example-instance-a2 appartiene a due gruppi di istanze, example-ig e 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
  }
]

Elenco dei referrer cross-scope

Il metodo listReferrers restituisce anche informazioni sui referrer che esistono all'interno di altri ambiti, ad esempio altre regioni o zone. Ad esempio, supponiamo di avere un'istanza VM che appartiene a un gruppo di istanze gestite a livello di regione (MIG regionale):

Nella regione us-central1, l'istanza new-instance-a3 nella
            zona us-central1-a è un membro del
            gruppo di istanze regionale example-rmig.

Chiami il metodo listReferrers che ha come target questa istanza con la seguente richiesta HTTP:

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

Il server restituisce una risposta di elenco standard contenente i seguenti elementi:

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

La risposta mostra il gruppo di istanze regionale nell'elenco dei referrer.

Elenco dei referrer di tutte le risorse all'interno di una raccolta

Utilizzando il carattere jolly (-), puoi richiedere un elenco di tutti i referrer a tutte le istanze VM all'interno di una zona specifica. La richiesta può essere effettuata con una richiesta HTTP simile alla seguente:

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

Il server restituisce una risposta contenente un elenco di istanze VM nella zona e riferimenti all'istanza. Ad esempio:

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

Passaggi successivi