Questa pagina mostra come gestire un'API da un dominio personalizzato di tua proprietà per
ad esempio example.com
.
In alternativa all'utilizzo del tuo nome di dominio, puoi utilizzare un nome di dominio gestiti da Google. Consulta Utilizzare un dominio gestito da Google per ulteriori informazioni.
Prima di iniziare
- Ottieni un nome di dominio da un registrar dei nomi di dominio, se non hai ancora il nome di dominio da utilizzare per l'API.
- Verifica la proprietà del dominio.
- Assegna un nome al nome host dell'API con il tuo nome di dominio.
- Se utilizzi SSL con il tuo dominio, ottieni e carica il certificato SSL.
- Esegui il deployment dell'API e di Extensible Service Proxy (ESP).
Configura il progetto API per utilizzare il tuo nome di dominio
Segui le istruzioni nella scheda appropriata.
App Engine
Per impostare il progetto API in modo che utilizzi il dominio verificato, segui le istruzioni forniti in Aggiunta di un dominio personalizzato per l'applicazione
Compute Engine
Il modo consigliato per gestire un'API dalle istanze di Compute Engine è per utilizzare un bilanciatore del carico in un gruppo di istanze. Devi prenotare un indirizzo IP esterno per il nome di dominio e utilizzarlo per il bilanciatore del carico.
Per gestire l'API da un nome di dominio:
- Prenota almeno un indirizzo IP esterno statico nel tuo progetto:
- Assegna il nome desiderato all'indirizzo IP riservato
- In Tipo, fai clic su Globale.
- In Allegato a, fai clic su Nessuno. Colleghi l'indirizzo IP a un bilanciatore del carico.
- Visita l'account del tuo provider di dominio e modifica le impostazioni del dominio. Devi
creare un record A che contenga il nome dell'API, ad esempio
myapi.example.com
con l'indirizzo IP esterno nel relativo campo dati - Crea un gruppo di istanze che includa le istanze che eseguono l'API
Extensible Service Proxy (ESP:
) - Assegna un nome qualsiasi al gruppo e aggiungi una descrizione.
- Nell'elenco Zona, fai clic sulla zona utilizzata dall'istanza API.
- Nell'elenco Definizione istanza, fai clic su Seleziona istanze esistenti.
- Nel campo Istanze VM, aggiungi l'istanza VM che esegue l'API.
- Fai clic su Crea.
- Crea e configura un bilanciatore del carico HTTP(S):
Vai alla pagina Creare un nuovo bilanciatore del carico HTTP(S)
- Fai clic su Definisci un servizio di backend > Crea o seleziona un servizio di backend.
- Assegna il nome e la descrizione che preferisci per questo backend la configurazione del servizio.
- Nel campo Protocollo, seleziona il protocollo da tramite il bilanciatore del carico, HTTP o HTTPS.
- Nell'elenco Gruppo di istanze, fai clic sul gruppo di istanze.
- Nel campo Numeri di porta, inserisci
8080
. - Fai clic su Controllo di integrità per configurare i controlli di integrità:
- Inserisci un nome per la configurazione del controllo di integrità.
- Assegna la porta
8080
. - Per accettare i restanti valori predefiniti, fai clic su Salva.
- Per il momento, accetta i valori predefiniti per il resto della configurazione. Se necessario, puoi apportare modifiche in un secondo momento, ad esempio su porte aggiuntive.
- Non devi impostare nulla nelle regole host e percorso. tu
può inoltrare tutto all'API di backend utilizzando il metodo
Qualsiasi filtro senza corrispondenza. Ciò significa che tutto il traffico
il bilanciatore del carico è indirizzato all'API sulla porta
8080
(la porta predefinita) come definita nei passaggi precedenti. - Fai clic su Configurazione frontend.
- Nel campo Protocollo, seleziona il protocollo da supportare tramite il bilanciatore del carico, HTTP o HTTPS.
- Nell'elenco IP, fai clic sull'indirizzo IP esterno che hai creato. in precedenza.
- Per il protocollo HTTPS, devi utilizzare il protocollo SSL. Nella Nell'elenco Certificato, fai clic sul certificato desiderato.
- Facoltativamente, se desideri supportare un altro protocollo, fai clic su Aggiungi IP e porta frontend, specifica lo stesso protocollo un indirizzo IP esterno e una porta diversa.
- Per creare il bilanciatore del carico completamente configurato, fai clic su Crea. Se sul pulsante Crea non sia, controlla i componenti che configurate: deve apparire un segno di spunta accanto a ciascuno dei componenti di configurazione. Un segno di spunta significa che non completato la configurazione.
- Dopo la propagazione delle modifiche DNS, le richieste vengono inviate all'API utilizzando il bilanciatore del carico.
GKE
Per pubblicare un'API su un dominio per in Google Kubernetes Engine (GKE), esporre ESP as a Service, utilizzando l'IP esterno restituito per le impostazioni DNS del dominio. Tieni presente che GKE esegue automaticamente il bilanciamento del carico.
Per esporre l'API come servizio:
- Se non ne hai già uno,
Configura un servizio Kubernetes
per i backend delle API. Creare un file di configurazione del servizio,
service.yaml
, con contenuti simili ai seguenti:apiVersion: v1 kind: Service metadata: name: echo spec: ports: - port: 80 targetPort: 8081 protocol: TCP selector: app: echo-app type: LoadBalancer
- Cambia l'etichetta
selector
in modo che corrisponda alle etichette del backend (app: echo-app
in questo esempio) - Assicurati che
targetPort
corrisponda alla porta utilizzata da ESP configurate nei backend dell'API. L'ESP utilizza la porta8081
per impostazione predefinita. - Esegui il deployment del servizio Kubernetes:
kubectl apply -f service.yaml
- Visualizza l'indirizzo IP esterno assegnato al servizio esposto:
L'output mostra un indirizzokubectl get services
EXTERNAL-IP
simile al seguente:
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-node 10.X.XXX.202 10X.XXX.XX.123 8080/TCP 1m
- Cambia l'IP esterno generato da temporaneo a statico.
- Seleziona il tuo indirizzo IP esterno dall'elenco.
- Nell'elenco Tipo, fai clic su Statico.
- Visita l'account del tuo provider di dominio e modifica le impostazioni del dominio. Tu
devi creare un record A contenente il nome dell'API, ad esempio
myapi.example.com
, con l'indirizzo IP esterno nel campo dati.