Questa pagina riguarda Apigee, ma non Apigee ibrido.
Visualizza la documentazione di Apigee Edge.
Questo documento spiega come installare e configurare un'organizzazione di valutazione Apigee dalla riga di comando senza peering VPC. Le organizzazioni di valutazione scadono dopo 60 giorni e potrebbero avere altre limitazioni. Consulta anche Confronto tra organizzazioni di valutazione e organizzazioni a pagamento.
Limitazioni
L'opzione di installazione tramite peering non VPC descritta in questo documento presenta alcune limitazioni:
- I Controlli di servizio VPC non sono supportati.
- Il peering DNS privato non è supportato.
Per un elenco completo delle funzionalità e degli approcci al networking che sono e non sono supportati per il peering non VPC, vedi Come scegliere un'opzione di networking.
Riepilogo dei passaggi
Ecco la procedura di provisioning:
- Passaggio 1: definisci le variabili di ambiente:
configura
gcloud
e definisci le variabili di ambiente. Google Cloud CLI gestisce l'autenticazione, la configurazione locale, il flusso di lavoro degli sviluppatori e le interazioni con le API Google Cloud. - Passaggio 2: abilita le API: Apigee richiede l'abilitazione di diverse API Google Cloud.
- Passaggio 3: crea un'organizzazione: un'organizzazione Apigee (talvolta definita organizzazione) è il container di primo livello in Apigee. Include tutti gli ambienti e i gruppi di ambienti, gli utenti, i proxy API e le risorse correlate.
- Passaggio 4: configura il routing: consenti l'accesso esterno o solo interno all'API.
- Passaggio 5: chiama il proxy API di esempio: testa il provisioning eseguendo il deployment e chiamando un proxy API.
Passaggio 1: definizione delle variabili di ambiente
Configura gcloud
e definisci le variabili di ambiente da utilizzare nei passaggi successivi:
- Assicurati di aver soddisfatto i requisiti elencati nella sezione Prerequisiti.
- Devi avere installato gcloud CLI. Se è necessario installarlo, consulta Installare gcloud CLI.
- Inizializza gcloud CLI, come descritto in Inizializzare l'interfaccia a riga di comando gcloud oppure, se l'interfaccia a riga di comando è già inizializzata, assicurati che il progetto Google Cloud che hai creato in Prerequisiti sia il progetto predefinito per gcloud.
- Definisci le seguenti variabili di ambiente:
AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
PROJECT_ID="YOUR_PROJECT_ID"
RUNTIME_LOCATION="YOUR_RUNTIME_LOCATION"
ANALYTICS_REGION="YOUR_ANALYTICS_REGION"
Dove:
- AUTH definisce l'intestazione
Authentication
con un token di connessione. Utilizzerai questa intestazione durante la chiamata alle API Apigee. Tieni presente che il token scade dopo un determinato periodo di tempo e quando succede, puoi semplicemente rigenerarlo utilizzando lo stesso comando. Per maggiori informazioni, consulta la pagina di riferimento per il comando Print-access-token. - PROJECT_ID è l'ID progetto Cloud che hai creato nell'ambito dei Prerequisiti.
RUNTIME_LOCATION è la località fisica in cui si trova l'istanza Apigee. Per un elenco delle località di runtime disponibili, vedi Località Apigee.
-
ANALYTICS_REGION è la località fisica in cui verranno archiviati i dati di analisi Apigee. Per un elenco delle regioni disponibili per l'analisi delle API Apigee, consulta le località di Apigee.
Sia RUNTIME_LOCATION che ANALYTICS_REGION possono rappresentare la stessa regione, ma non devono essere necessariamente la stessa. Tuttavia, se le prestazioni sono uguali, potrebbero esserci un vantaggio in termini di prestazioni.
- AUTH definisce l'intestazione
- (Facoltativo) Controlla il tuo lavoro richiamando i valori che hai appena impostato. Tieni presente che quando vuoi
utilizzare una variabile nei tuoi comandi, fai precedere il nome della variabile dal simbolo del dollaro
($).
echo $AUTH
echo $PROJECT_ID
echo $RUNTIME_LOCATION
echo $ANALYTICS_REGION
Le risposte ai tuoi comandi
echo
dovrebbero avere il seguente aspetto:Authorization: Bearer ya29.a123456678940B63hPSAMPLEsampleKKYVsample0f3pWDWZDuH2-hENkNa TvgZ1PD977TMvv6edBQPJezdHw040880Ol_LoD5ZDkt-i-knizia_KhA9L20sSvztL81-SAMPLE42ELPMASk2_ 1CxN my-cloud-project us-west1 us-west1
Passaggio 2: attivazione delle API
-
Apigee richiede l'abilitazione di diverse API Google Cloud. Per abilitarle, esegui il comando
services enable
:gcloud services enable apigee.googleapis.com \ cloudkms.googleapis.com --project=$PROJECT_ID
(Facoltativo) Per verificare il tuo lavoro, utilizza il comando
services list
per mostrare tutte le API abilitate:gcloud services list
La risposta mostra tutti i servizi abilitati, incluse le API che hai appena abilitato (Apigee, Cloud KMS e Compute Engine).
Passaggio 3: creazione di un'organizzazione
Un'organizzazione è il container di primo livello in Apigee. Contiene tutti i proxy API e le risorse correlate. Per maggiori dettagli, consulta Informazioni sulle organizzazioni.
- Crea una nuova organizzazione di valutazione con l'API ProvisionOrganization:
suppresswarning="true">curl "https://apigee.googleapis.com/v1/projects/$PROJECT_ID:provisionOrganization" \ -H "$AUTH" \ -X POST \ -H "Content-Type:application/json" \ -d '{ "analyticsRegion":"'"$ANALYTICS_REGION"'", "runtimeLocation":"'"$RUNTIME_LOCATION"'", "disableVpcPeering":"true", }'
Dove:
-d
definisce il payload dei dati per la richiesta. Questo payload deve includere quanto segue:ANALYTICS_REGION
: specifica la località fisica in cui verranno archiviati i dati di analisi.RUNTIME_LOCATION
: è la località fisica in cui si trova l'istanza Apigee.disableVpcPeering
: in questo flusso di provisioning non utilizziamo il peering VPC, perciò questo flag deve essere impostato sutrue
. Predefinita:false
-
Apigee avvia un LRO per creare l'organizzazione di valutazione. Il completamento di questa operazione può richiedere fino a 40 minuti.
- Per controllare lo stato della richiesta di creazione, puoi inviare una richiesta
GET
all'API List Organization di Apigee, come mostra l'esempio seguente:curl -H "$AUTH" "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID"
Se vedi questa risposta, significa che la creazione dell'organizzazione non è ancora stata completata:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations/apigee-docs-m\" (or it may not exist)", "status": "PERMISSION_DENIED" } }
Se l'operazione riesce, l'oggetto di risposta indicherà
"state": "ACTIVE"
e potrai andare al passaggio successivo.
Passaggio 4: configura il routing
In questo passaggio configurerai il modo in cui le applicazioni client comunicano con Apigee. Il traffico da client ad Apigee è anche chiamato traffico "verso nord". Le opzioni di configurazione per nord sono le seguenti:
Tipo di accesso | Descrizione del processo di configurazione e deployment |
---|---|
Interno con PSC |
Consenti solo l'accesso interno ai proxy API da qualsiasi progetto Google Cloud utilizzando Private Service Connect (PSC). PSC consente una connessione privata tra un producer di servizi (Apigee) e un consumer di servizi (il progetto VPC in peering e/o uno o più altri progetti Cloud controllati da te). Con questo metodo, le richieste passano attraverso un endpoint di servizio o un bilanciatore del carico interno a livello di regione a un singolo punto di collegamento, chiamato collegamento al servizio. Questa configurazione consente ai tuoi client interni di inviare richieste proxy API Apigee da qualsiasi macchina abilitata in rete. |
Esterno con PSC |
Consenti l'accesso esterno ai proxy API utilizzando Private Service Connect (PSC). Utilizza Private Service Connect (PSC) per abilitare la connessione privata tra un producer di servizi (Apigee) e un consumer di servizi (il progetto VPC in peering e/o uno o più altri progetti Cloud controllati da te). Con questo metodo, le richieste passano attraverso un bilanciatore del carico esterno globale o un bilanciatore del carico esterno regionale a un singolo punto di collegamento, chiamato collegamento al servizio. Questa configurazione ti consente di inviare richieste proxy API Apigee da qualsiasi macchina abilitata in rete. |
Ciascuno di questi approcci al routing viene presentato in una scheda delle istruzioni riportate di seguito.
Routing interno (PSC)
Questa sezione spiega come consentire solo l'accesso interno ai proxy API da qualsiasi progetto Google Cloud utilizzando Private Service Connect (PSC).
Per configurare l'accesso interno con PSC hai a disposizione le seguenti opzioni:
- Endpoint di servizio: le richieste passano attraverso un endpoint di servizio a un singolo punto di collegamento, chiamato collegamento di servizio.
- Bilanciatore del carico regionale interno: le richieste passano attraverso un bilanciatore del carico HTTP(S) interno regionale. Vedi anche Bilanciamento del carico globale e a livello di regione.
Seleziona la scheda di seguito per la tua scelta di configurazione e segui i passaggi:
Endpoint di servizio
Crea un endpoint di servizio PSC per il collegamento al servizio
- Recupera il collegamento al servizio dall'istanza Apigee:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Nel seguente output di esempio, il valore
serviceAttachment
è mostrato in grassetto:{ "instances": [ { "name": "us-west1", "location": "us-west1", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "runtimeVersion": "1-7-0-20220228-190814", "consumerAcceptList": [ "my-project" ], "serviceAttachment": "projects/bfac74a67a320c43a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw1" } ] }
- Crea un endpoint di servizio PSC che punti al collegamento al servizio che hai ottenuto dal corpo della risposta dell'istanza nel passaggio precedente, come spiegato in Creare un endpoint Private Service Connect.
- Prendi nota e ricorda l'indirizzo IP dell'endpoint di servizio. L'indirizzo IP ti servirà in un secondo momento, quando testerai la configurazione chiamando un proxy API. (Ad esempio:
10.138.0.2
).
Provisioning di Apigee completato. Vai a Deployment di un proxy di esempio.
Bilanciatore del carico regionale interno
Passaggio 8a: configura le variabili di ambiente
Le istruzioni in questa sezione usano le variabili di ambiente per fare riferimento alle stringhe utilizzate ripetutamente. Assicurati di aver impostato le variabili in Definisci le variabili di ambiente.
Inoltre, imposta le seguenti variabili di ambiente:
NEG_NAME=YOUR_NEG_NAME"TARGET_SERVICE=YOUR_TARGET_SERVICE"
NETWORK_NAME=YOUR_NETWORK_NAME"
SUBNET_NAME=YOUR_SUBNET_NAME"
Dove:
- NEG_NAME: un nome per il gruppo di endpoint di rete.
- TARGET_SERVICE: il collegamento al servizio a cui vuoi connetterti. Ad esempio:
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
- NETWORK_NAME: (facoltativo) nome della rete in cui viene creato il NEG. Se ometti questo parametro, viene utilizzata la rete del progetto
default
. - SUBNET_NAME: nome della subnet utilizzata per la connettività privata al producer. Le dimensioni della subnet possono essere ridotte: il NEG PSC richiede solo un IP dalla subnet. Per Apigee, è necessario un solo NEG PSC per regione. La subnet può essere condivisa e utilizzata dalle VM o da altre entità. Se non viene specificata una subnet, gli endpoint di rete possono appartenere a qualsiasi subnet nella regione in cui viene creato il gruppo di endpoint di rete.
Passaggio 8b: crea una subnet solo proxy
gcloud compute networks subnets create testproxyonlysubnet \ --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE --region=$RUNTIME_REGION --network=$NETWORK_NAME \ --range=100.0.0.0/24 --project=$PROJECT_ID
Passaggio 8c: crea un gruppo di endpoint di rete (NEG)
- Recupera il collegamento al servizio dall'istanza creata in precedenza:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Nel seguente output di esempio, il valore
serviceAttachment
è mostrato in grassetto:{ "instances": [ { "name": "us-west1", "location": "us-west1", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "runtimeVersion": "1-7-0-20220228-190814", "consumerAcceptList": [ "my-project" ], "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7" } ] }
Creare un NEG Private Service Connect che punti al collegamento al servizio ottenuto dal corpo della risposta dell'istanza nel passaggio precedente.
gcloud compute network-endpoint-groups create $NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=$TARGET_SERVICE \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Passaggio 8d: configura il bilanciatore del carico interno a livello di regione
- Prenota un indirizzo IPv4 interno per il bilanciatore del carico.
gcloud compute addresses create ADDRESS_NAME \ --ip-version=IPV4 --subnet=$SUBNET_NAME \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
Sostituisci ADDRESS_NAME con un nome per la risorsa dell'indirizzo IP.
Esegui questo comando per visualizzare l'indirizzo IP riservato:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=RUNTIME_LOCATION --project=$PROJECT_ID
- Crea un servizio di backend per il NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTPS \ --region=$RUNTIME_REGION \ --project=$PROJECT_ID
- Aggiungi il servizio di backend al NEG.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Sostituisci quanto segue:
- BACKEND_SERVICE_NAME: il nome del servizio di backend.
- NEG_NAME: il nome del gruppo di endpoint di rete.
-
Devi disporre di una risorsa del certificato SSL da utilizzare nel proxy di destinazione HTTPS.
Utilizza questo comando per creare una risorsa del certificato SSL autogestito. Per creare un certificato SSL autogestito, sono necessari un file di chiave privata locale e un file di certificato locale. Se devi creare questi file, consulta il passaggio 1 sull'utilizzo dei certificati SSL autogestiti.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --region=RUNTIME_LOCATION --project=$PROJECT_ID
Sostituisci quanto segue:
- CERTIFICATE: un nome per il certificato.
- LB_CERT: il percorso del file del certificato in formato PEM per il certificato autogestito.
- LB_PRIVATE_KEY: il percorso del file della chiave privata in formato PEM per il certificato autogestito.
-
Crea una mappa URL per il bilanciatore del carico.
Una mappa URL deve fare riferimento a un servizio di backend predefinito. Imposta come predefinito il servizio di backend che hai appena creato.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --global --project=$PROJECT_ID
Sostituisci quanto segue:
- URL_MAP_NAME: un nome per la mappa URL.
- DEFAULT_BACKEND_SERVICE_NAME: il nome del servizio di backend predefinito del bilanciatore del carico. L'impostazione predefinita viene utilizzata quando nessuna regola host corrisponde al nome host richiesto.
-
Utilizza la risorsa del certificato SSL per creare un proxy HTTPS di destinazione.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
Sostituisci quanto segue:
- PROXY_NAME: un nome per il proxy HTTPS di destinazione.
- URL_MAP_NAME: il nome della mappa URL.
- CERTIFICATE: il nome della risorsa del certificato.
- Crea la regola di forwarding.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=INTERNAL_MANAGED \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 \ --target-https-proxy-region=$RUNTIME_REGION \ --region=$RUNTIME_REGION --project=$PROJECT_ID
Sostituisci quanto segue:
- FWD_RULE: un nome per la regola di forwarding.
- ADDRESS_NAME: la risorsa dell'indirizzo IP che hai prenotato per l'utilizzo per la regola di forwarding.
- PROXY_NAME: il nome del proxy HTTPS di destinazione.
Sostituisci BACKEND_SERVICE_NAME con il nome del servizio di backend.
Provisioning di Apigee completato. Vai a Deployment di un proxy di esempio.
Routing esterno (PSC)
Questa sezione descrive come configurare il routing esterno utilizzando Private Service Connect (PSC) per consentire la comunicazione tra Apigee e i VPC che controlli. Devi farlo prima di poter inviare una richiesta da un client esterno alla tua istanza di runtime Apigee.
Passaggio 8b: crea un NEG e configura il bilanciatore del carico
Puoi creare un bilanciatore del carico globale o regionale.
Bilanciatore del carico esterno globale
Configura un bilanciatore del carico HTTP(S) esterno globale (schema di bilanciamento del carico impostato su EXTERNAL_MANAGED
).
Anche se il NEG Private Service Connect è a livello di regione, tutti gli altri componenti di bilanciamento del carico in questa configurazione sono globali.
- Assicurati di aver impostato le variabili di ambiente in Definisci le variabili di ambiente.
- Recupera il collegamento al servizio dall'istanza creata in precedenza:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Nel seguente output di esempio, il valore
serviceAttachment
è mostrato in grassetto:{ "instances": [ { "name": "us-west1", "location": "us-west1", "host": "10.82.192.2", "port": "443", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "peeringCidrRange": "SLASH_22", "runtimeVersion": "1-7-0-20220228-190814", "ipRange": "10.82.192.0/22,10.82.196.0/28", "consumerAcceptList": [ "875609189304" ], "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7" } ] }
Crea un NEG Private Service Connect che punti al collegamento al servizio ottenuto dal corpo della risposta dell'istanza nel passaggio precedente.
gcloud compute network-endpoint-groups create $NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=$TARGET_SERVICE \ --region=$RUNTIME_LOCATION \ --network=NETWORK_NAME \ --subnet=SUBNET_NAME \ --project=$PROJECT_ID
Sostituisci quanto segue:
- NETWORK_NAME: (facoltativo) nome della rete in cui viene creato il NEG. Se ometti questo parametro, viene utilizzata la rete del progetto
default
. - SUBNET_NAME: nome della subnet utilizzata per la connettività privata al producer. Le dimensioni della subnet possono essere ridotte: il NEG PSC richiede solo un IP dalla subnet. Per Apigee, è necessario un solo NEG PSC per regione. La subnet può essere condivisa e utilizzata dalle VM o da altre entità. Se non viene specificata una subnet, gli endpoint di rete possono appartenere a qualsiasi subnet nella regione in cui viene creato il gruppo di endpoint di rete.
- PROJECT_ID Il progetto Cloud già associato alla tua organizzazione Apigee o un progetto Cloud incluso
in
consumerAcceptlist
al momento della creazione dell'istanza di runtime Apigee.
- NETWORK_NAME: (facoltativo) nome della rete in cui viene creato il NEG. Se ometti questo parametro, viene utilizzata la rete del progetto
- Prenota un indirizzo IPv4 esterno globale per il bilanciatore del carico.
gcloud compute addresses create ADDRESS_NAME \ --ip-version=IPV4 --global --project=$PROJECT_ID
Sostituisci ADDRESS_NAME con un nome per la risorsa dell'indirizzo IP.
Esegui questo comando per visualizzare l'indirizzo IP riservato:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --global --project=$PROJECT_ID
- Crea un servizio di backend per il NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTPS \ --global --project=$PROJECT_ID
- Aggiungi il servizio di backend al NEG.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --network-endpoint-group-region=$REGION \ --global --project=$PROJECT_ID
Sostituisci quanto segue:
- BACKEND_SERVICE_NAME: il nome del servizio di backend.
- NEG_NAME: il nome del gruppo di endpoint di rete.
- REGION: la regione del gruppo di endpoint di rete.
Crea una mappa URL per il bilanciatore del carico.
Una mappa URL deve fare riferimento a un servizio di backend predefinito. Imposta come predefinito il servizio di backend che hai appena creato.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --global --project=$PROJECT_ID
Sostituisci quanto segue:
- URL_MAP_NAME: un nome per la mappa URL.
- DEFAULT_BACKEND_SERVICE_NAME: il nome del servizio di backend predefinito del bilanciatore del carico. L'impostazione predefinita viene utilizzata quando nessuna regola host corrisponde al nome host richiesto.
Crea il proxy HTTPS di destinazione.
Devi disporre di una risorsa del certificato SSL da utilizzare nel proxy di destinazione HTTPS. Puoi creare una risorsa del certificato SSL utilizzando un certificato SSL gestito da Google o un certificato SSL autogestito. Ti consigliamo di utilizzare i certificati gestiti da Google perché Google Cloud li ottiene, gestisce e rinnova automaticamente.
Per creare un certificato gestito da Google, devi avere un dominio.
Utilizza questo comando per creare una risorsa del certificato SSL gestito da Google:
gcloud compute ssl-certificates create CERTIFICATE \ --domains DOMAIN --project=$PROJECT_ID
Sostituisci quanto segue:
- CERTIFICATE: un nome per il certificato.
- DOMAIN: il nome di dominio del bilanciatore del carico.
Utilizza questo comando per creare una risorsa del certificato SSL autogestito. Per creare un certificato SSL autogestito, sono necessari un file di chiave privata locale e un file di certificato locale. Se devi creare questi file, consulta il passaggio 1 sull'utilizzo dei certificati SSL autogestiti.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --project=$PROJECT_ID
Sostituisci quanto segue:
- CERTIFICATE: un nome per il certificato.
- LB_CERT: il percorso del file del certificato in formato PEM per il certificato autogestito.
- LB_PRIVATE_KEY: il percorso del file della chiave privata in formato PEM per il certificato autogestito.
Utilizza la risorsa del certificato SSL per creare un proxy HTTPS di destinazione.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE --project=$PROJECT_ID
Sostituisci quanto segue:
- PROXY_NAME: un nome per il proxy HTTPS di destinazione.
- URL_MAP_NAME: il nome della mappa URL.
- CERTIFICATE: il nome della risorsa del certificato.
- Crea la regola di forwarding.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 \ --global --project=$PROJECT_ID
Sostituisci quanto segue:
- FWD_RULE: un nome per la regola di forwarding.
- ADDRESS_NAME: la risorsa dell'indirizzo IP che hai prenotato per l'utilizzo per la regola di forwarding.
- PROXY_NAME: il nome del proxy HTTPS di destinazione.
Sostituisci BACKEND_SERVICE_NAME con il nome del servizio di backend.
Provisioning di Apigee completato. Vai a Deployment di un proxy di esempio.
Bilanciatore del carico esterno regionale
Configura un bilanciatore del carico HTTP(S) esterno regionale. Vedi anche Panoramica dei bilanciatori del carico HTTP(S) esterni.
- Assicurati di aver impostato le variabili in Definisci le variabili di ambiente.
- Crea una subnet solo proxy:
gcloud compute networks subnets create SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY --role=ACTIVE \ --region=$RUNTIME_LOCATION --network=NETWORK_NAME \ --range=100.0.0.0/24 --project=$PROJECT_ID
- Sostituisci SUBNET_NAME con il nome della subnet.
- (Facoltativo) Sostituisci NETWORK_NAME il nome della rete in cui viene creata la subnet. Se ometti questo parametro, viene utilizzata la rete di progetto predefinita.
- Recupera il collegamento al servizio dall'istanza creata in precedenza:
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Nel seguente output di esempio, il valore
serviceAttachment
è mostrato in grassetto:{ "instances": [ { "name": "us-west1", "location": "us-west1", "host": "10.82.192.2", "port": "443", "createdAt": "1645731488019", "lastModifiedAt": "1646504754219", "diskEncryptionKeyName": "projects/my-project/locations/us-west1/keyRings/us-west1/cryptoKeys/dek", "state": "ACTIVE", "peeringCidrRange": "SLASH_22", "runtimeVersion": "1-7-0-20220228-190814", "ipRange": "10.82.192.0/22,10.82.196.0/28", "consumerAcceptList": [ "875609189304" ], "serviceAttachment": "projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7" } ] }
- Crea un gruppo di endpoint di rete.
gcloud compute network-endpoint-groups create NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=TARGET_SERVICE \ --region=$RUNTIME_LOCATION --project=$PROJECT_ID
Sostituisci quanto segue:
- NEG_NAME: il nome del gruppo di endpoint di rete.
- TARGET_SERVICE: il nome del collegamento al servizio a cui vuoi connetterti.
Ad esempio:
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
- Crea un servizio di backend per il NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTPS \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- Aggiungi il servizio di backend al NEG.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Sostituisci quanto segue:
- BACKEND_SERVICE_NAME: il nome del servizio di backend.
- NEG_NAME: il nome del gruppo di endpoint di rete.
Crea una mappa URL per il bilanciatore del carico.
Una mappa URL deve fare riferimento a un servizio di backend predefinito. Imposta come predefinito il servizio di backend che hai appena creato.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Sostituisci quanto segue:
- URL_MAP_NAME: un nome per la mappa URL.
- DEFAULT_BACKEND_SERVICE_NAME: il nome del servizio di backend predefinito del bilanciatore del carico. L'impostazione predefinita viene utilizzata quando nessuna regola host corrisponde al nome host richiesto.
Crea il proxy HTTPS di destinazione.
Devi disporre di una risorsa del certificato SSL da utilizzare nel proxy di destinazione HTTPS.
Utilizza questo comando per creare una risorsa del certificato SSL autogestito. Per creare un certificato SSL autogestito, sono necessari un file di chiave privata locale e un file di certificato locale. Se devi creare questi file, consulta il passaggio 1 sull'utilizzo dei certificati SSL autogestiti.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Sostituisci quanto segue:
- CERTIFICATE: un nome per il certificato.
- LB_CERT: il percorso del file del certificato in formato PEM per il certificato autogestito.
- LB_PRIVATE_KEY: il percorso del file della chiave privata in formato PEM per il certificato autogestito.
- Aggiungi il dominio al gruppo di ambienti Apigee creato per te. Il nome
del gruppo di ambienti è
eval-group
:curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group" \ -H "$AUTH" \ -X PATCH \ -H "Content-Type:application/json" \ -d '{ "hostnames":["'"DOMAIN"'"] }'
- Controlla lo stato dell'operazione del gruppo di ambienti:
curl -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group/attachments"
-
Utilizza la risorsa del certificato SSL per creare un proxy HTTPS di destinazione.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME --region=$RUNTIME_LOCATION \ --ssl-certificates=CERTIFICATE --project=$PROJECT_ID
Sostituisci quanto segue:
- PROXY_NAME: un nome per il proxy HTTPS di destinazione.
- URL_MAP_NAME: il nome della mappa URL.
- CERTIFICATE: il nome della risorsa del certificato.
- Prenota un indirizzo esterno regionale per il bilanciatore del carico. Tieni presente che il livello di rete deve essere impostato su
STANDARD
.gcloud compute addresses create ADDRESS_NAME \ --region=$RUNTIME_LOCATION --network-tier=STANDARD \ --project=$PROJECT_ID
Sostituisci ADDRESS_NAME con un nome per la risorsa dell'indirizzo IP.
Esegui questo comando per visualizzare l'indirizzo IP riservato:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- Crea la regola di forwarding.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=STANDARD \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 --region=$RUNTIME_LOCATION \ --target-https-proxy-region=$RUNTIME_LOCATION --project=$PROJECT_ID
Sostituisci quanto segue:
- FWD_RULE: un nome per la regola di forwarding.
- ADDRESS_NAME: la risorsa dell'indirizzo IP che hai prenotato per l'utilizzo per la regola di forwarding.
- PROXY_NAME: il nome del proxy HTTPS di destinazione.
Sostituisci BACKEND_SERVICE_NAME con il nome del servizio di backend.
Provisioning di Apigee completato. Vai a Chiamare il proxy API di esempio.
Passaggio 5: chiama il proxy API di esempio
Durante il provisioning è stato creato un proxy API denominato hello-world
e ne è stato eseguito il deployment. In questo passaggio testerai la nuova organizzazione di valutazione chiamando il proxy.
Chiama il proxy API con routing interno
Se hai scelto un routing interno con un'opzione endpoint di servizio nel passaggio 5, segui i passaggi descritti in Chiamare un proxy API con accesso solo interno.
Chiama il proxy API con routing esterno
Se hai scelto un'opzione di routing esterno nel passaggio 5, segui i passaggi descritti in questa sezione.
- Configura una voce DNS per il tuo dominio. Ecco due modi per completare questa attività:
- Nel tuo registrar, crea un record A che rimandi al tuo dominio. Ad esempio, se il tuo dominio è
sales.example.com
e l'IP è 10.23.0.2, punta il record persales.example.com
all'indirizzo10.23.0.2
.Esegui questo comando per visualizzare l'indirizzo IP riservato:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
- Utilizza Google Cloud DNS per mappare un URL a un indirizzo IP.
- Nel tuo registrar, crea un record A che rimandi al tuo dominio. Ad esempio, se il tuo dominio è
- Verifica che sia stato eseguito il deployment del proxy
hello-world
:curl -i -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/eval/apis/hello-world/revisions/1/deployments"
- Chiama il proxy API:
Invia una richiesta al proxy API da qualsiasi macchina abilitata in rete eseguendo questo comando:
curl -i -H "Host: DOMAIN" \ https://DOMAIN/hello-world
dove DOMAIN è il dominio che inserisci nel certificato e aggiunto al gruppo di ambienti, come descritto in Passaggio 5: configura il routing. Se necessario, puoi utilizzare questa API per ottenere il valore
DOMAIN
dal gruppo di ambienti:curl -i -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups"
Se l'operazione riesce, il proxy API di esempio restituisce la risposta:
Hello, Guest!
Suggerimenti per la risoluzione dei problemi:
Se ricevi un errore di handshake, controlla lo stato del certificato SSL. Per informazioni sulla risoluzione dei problemi relativi ai certificati autogestiti e gestiti da Google, consulta Risolvere i problemi relativi ai certificati SSL.
Assicurati che il dominio registrato abbia un record A che rimandi all'indirizzo IP dell'indirizzo IPv4 esterno globale creato nel passaggio 5. Esegui questo comando per visualizzare l'indirizzo IP riservato:
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --region=$RUNTIME_LOCATION \ --project=$PROJECT_ID
Se non riesci a risolvere la configurazione del dominio, prova a chiamare il proxy con questo comando:
curl -H Host:DOMAIN --resolve \ DOMAIN:443:EXTERNAL_IP_ADDRESS \ https://DOMAIN:443/hello-world -k
Successiva: per saperne di più sulla creazione e sul deployment dei proxy API, consulta Creare il tuo primo proxy API.