Configurazione del DNS sul dominio cloud.goog

Una volta dispiegato, gli utenti dell'API 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 prevede:
    • 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 da utilizzare .endpoints.PROJECT_ID.cloud.goog come dominio nome. I passaggi di configurazione in questa pagina sono applicabili alle API che utilizzano OpenAPI in esecuzione su Compute Engine, Google Kubernetes Engine o Kubernetes. Il nome di dominio .endpoints.PROJECT_ID.cloud.goog non corrisponde supportato per le API in esecuzione su App Engine. Per le API su App Engine, consigliamo di utilizzare PROJECT_ID.appspot.com come nome del servizio Endpoints. Quando esegui il deployment dell'API in App Engine, viene creata automaticamente una voce DNS con un nome nel formato PROJECT_ID.appspot.com.

Il dominio .cloud.goog è gestito da Google e condiviso da Google Cloud clienti. Poiché i progetti Google Cloud hanno 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 l'API. La configurazione del Il nome di dominio .endpoints.PROJECT_ID.cloud.goog è facoltativo. Se preferisci, puoi registrarne uno.

Prerequisiti

Per iniziare, questa pagina presuppone che tu abbia già creato API Cloud Endpoints e ne ha eseguito il deployment in Compute Engine, Google Kubernetes Engine o in Kubernetes. Se hai bisogno di un'API per i test, puoi utilizzare uno dei tutorial che illustrano la procedura di configurazione e deployment di un'API di esempio.

Configurazione del DNS

La procedura seguente descrive come configurare il DNS per Cloud Endpoints API che utilizzano .endpoints.[PROJECT_ID].cloud.goog come endpoint nome del servizio dove [PROJECT_ID] rappresenta Google Cloud dell'ID progetto. Per comodità, la procedura fa riferimento al file di configurazione OpenAPI come openapi.yaml.

Per configurare il DNS:

  1. Apri openapi.yaml e aggiungi il campo x-google-endpoints al file come mostrato nel seguente snippet:
        swagger: "2.0"
        host: "[API_NAME].endpoints.[PROJECT_ID].cloud.goog"
        x-google-endpoints:
        - name: "[API_NAME].endpoints.[PROJECT_ID].cloud.goog"
          target: "[IP_ADDRESS]"

    In genere, configuri il campo host e il x-google-endpoints.name in modo che siano uguali. Quando esegui il deployment Specifica OpenAPI, viene utilizzato il testo specificato nel campo host come nome del servizio Endpoints.

  2. Sostituisci [API_NAME] con il nome dell'API (ad esempio bookstore o my-cool-api).
  3. Sostituisci [PROJECT_ID] con l'ID del tuo progetto Google Cloud.
  4. Sostituisci [IP_ADDRESS] con un indirizzo IPv4.

    Ad esempio, se esegui il deployment del servizio API Endpoints in un'istanza di macchina virtuale Compute Engine, puoi utilizzare l'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.

  5. Esegui il deployment della nuova specifica OpenAPI in Service Management utilizzando seguente comando:
    gcloud endpoints services deploy openapi.yaml

Ad esempio, se in un file openapi.yaml è specificato quanto segue:

    swagger: "2.0"
    host: "my-cool-api.endpoints.my-project-id.cloud.goog"
    x-google-endpoints:
    - name: "my-cool-api.endpoints.my-project-id.cloud.goog"
      target: "192.0.2.1"

Quando esegui il deployment di openapi.yaml utilizzando il comando gcloud precedente, Service Management crea un record A DNS, my-cool-api.endpoints.my-project- id.cloud.goog, che risolve nell'indirizzo IP di destinazione 192.0.2.1. Potresti attendere qualche minuto affinché la nuova configurazione DNS si propaghi.

Passaggi successivi