Configurazione del DNS sul dominio cloud.goog

Una volta distribuita l'API, gli utenti devono accedervi tramite un nome di dominio anziché un indirizzo IP. Puoi:

  • Configura .endpoints.PROJECT_ID.cloud.goog come nome di dominio (dove PROJECT_ID è l'ID progetto Google Cloud).
  • In alternativa, registra il tuo nome di dominio, ad esempio example.com, che comporta:
    • Configurazione dei server dei nomi DNS (o utilizzo di Cloud DNS).
    • Aggiornamento degli indirizzi del registry.
    • Creazione e gestione dei record DNS.

    Se hai già un'infrastruttura DNS o vuoi registrare il tuo nome di dominio, consulta Gestione di un'API dal nome di dominio per ulteriori informazioni.

Questa pagina descrive come configurare le API Cloud Endpoints per utilizzare .endpoints.PROJECT_ID.cloud.goog come nome di dominio. I passaggi di configurazione descritti in questa pagina sono applicabili alle API che utilizzano gRPC in esecuzione su Compute Engine, Google Kubernetes Engine o Kubernetes.

Il dominio .cloud.goog è gestito da Google e condiviso da clienti Google Cloud. Poiché i progetti Google Cloud hanno la garanzia di avere un ID progetto univoco a livello globale, un nome di dominio nel formato .endpoints.PROJECT_ID.cloud.goog è univoco e può essere utilizzato come nome di dominio per la tua API. La configurazione del nome di dominio .endpoints.PROJECT_ID.cloud.goog è facoltativa. Se preferisci, puoi registrare il tuo nome di dominio.

Prerequisiti

Come punto di partenza, questa pagina presuppone che tu abbia già creato l'API Cloud Endpoints e ne abbia eseguito il deployment in Compute Engine, Google Kubernetes Engine o Kubernetes. Se hai bisogno di un'API per i test, puoi utilizzare uno dei tutorial che ti guidano nella configurazione e nel deployment di un'API di esempio.

Configurazione del DNS

La seguente procedura descrive come configurare il DNS per le API Endpoints che utilizzano .endpoints.PROJECT_ID.cloud.goog come nome del servizio Endpoints. Per comodità, la procedura fa riferimento al file di configurazione del servizio gRPC come service.yaml.

Per configurare il DNS:

  1. Apri service.yaml e aggiungi il campo endpoints al file come mostrato nel seguente snippet di codice:
    type: google.api.Service
    name: API_NAME.endpoints.PROJECT_ID.cloud.goog
    endpoints:
    - name: API_NAME.endpoints.PROJECT_ID.cloud.goog
      target: "IP_ADDRESS"
      

    In genere, il campo name e il campo endpoints.name sono uguali.

  2. Sostituisci API_NAME con il nome della tua API (ad esempio bookstore o my-cool-api).
  3. Sostituisci IP_ADDRESS con un indirizzo IPv4. L'indirizzo IP è una stringa e deve essere racchiuso tra virgolette.

    Ad esempio, se esegui il deployment del servizio API Endpoints in un'istanza di macchina virtuale Compute Engine, puoi utilizzare l'indirizzo IP esterno di quella macchina virtuale. In alternativa, se esegui il codice su un gruppo di istanze di macchine virtuali (o pod GKE) dietro un bilanciatore del carico, puoi utilizzare l'indirizzo IP del bilanciatore del carico.

  4. Esegui il deployment del file di configurazione gRPC aggiornato in Service Management utilizzando il seguente comando:
    gcloud endpoints services deploy service.yaml service.pb
    

Ad esempio, se nel file service.yaml è specificato quanto segue:

type: google.api.Service
name: my-cool-api.endpoints.my-project-id.cloud.goog
endpoints:
- name: my-cool-api.endpoints.my-project-id.cloud.goog
  target: "192.0.2.1"

Quando esegui il deployment del file service.yaml utilizzando il comando gcloud precedente, Service Management crea un record A DNS, my-cool-api.endpoints.my-project-id.cloud.goog, che viene risolto nell'indirizzo IP di destinazione, 192.0.2.1. Potrebbe essere necessario attendere alcuni minuti prima che la nuova configurazione DNS venga propagata.

Passaggi successivi