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 di destinazione: 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 viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

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

      Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init

Limitazioni

  • Puoi elencare solo le relazioni tra istanze VM e gruppi di istanze (sia gestite che non gestite).
  • 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 fa parte di un gruppo di istanze denominato example-ig nella stessa zona, come mostrato nel diagramma seguente:

Un'istanza di una 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 all'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, che corrisponde a MEMBER_OF il gruppo referrer, ovvero il gruppo example-ig instance.

Elenco di più referrer

Se una risorsa ha più 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 una 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 in più ambito

Il metodo listReferrers restituisce anche informazioni sui referrer esistenti 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 a livello di regione):

Nella regione us-central1, l'istanza new-instance-a3 nella zona us-central1-a fa parte del gruppo di istanze regionali example-rmig.

Chiama 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 all'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 a tutte le risorse all'interno di una raccolta

Se utilizzi il carattere jolly (-), puoi richiedere un elenco di tutti i referrer per 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