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 (dovePROJECT_ID
è l'ID progetto Google Cloud). - In alternativa, puoi registrare un 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 Gestire un'API dal nome di dominio per saperne di più.
Questa pagina descrive come configurare le API Cloud Endpoints in modo da utilizzare
.endpoints.PROJECT_ID.cloud.goog
come nome di dominio. I passaggi di configurazione 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 dai clienti Google Cloud. 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 nome di dominio
.endpoints.PROJECT_ID.cloud.goog
è facoltativa. Se preferisci, puoi registrarne uno.
Prerequisiti
Come punto di partenza, questa pagina presuppone che tu abbia già creato l'API Cloud Endpoints e l'abbia di cui 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 illustrano la procedura di configurazione e deployment di un'API di esempio.
Configurazione del DNS
La procedura riportata di seguito 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:
- Apri
service.yaml
e aggiungi il campoendpoints
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 campoendpoints.name
sono uguali. - Sostituisci
API_NAME
con il nome della tua API (ad esempiobookstore
omy-cool-api
). - 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.
- 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 risolve nell'indirizzo IP di destinazione, 192.0.2.1
. Potresti dover attendere qualche minuto prima che la nuova configurazione DNS venga propagata.
Passaggi successivi
- Configurazione di Endpoints
- Abilitazione di SSL per gli endpoint
- Prenotazione di un indirizzo IP esterno statico
- Pubblicazione di un'API dal nome di dominio