Questo documento descrive come installare e configurare Apigee dalla
riga di comando
con il peering VPC. Questi passaggi si applicano ai modelli di prezzo in abbonamento e con pagamento a consumo per le organizzazioni a pagamento con o senza la residenza dei dati abilitata.
Riepilogo dei passaggi
I passaggi di provisioning sono i seguenti:
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 di Google Cloud.
Passaggio 4: configura Service Networking: Service Networking
automatizza la configurazione della connettività privata (utilizzando il peering di rete VPC) tra la tua rete
e Apigee.
Passaggio 5: crea un'organizzazione: un'organizzazione Apigee
(a volte chiamata org) è il contenitore di primo livello in Apigee. Include tutti gli
ambienti e i gruppi di ambienti, gli utenti, i proxy API e le risorse correlate.
Passaggio 6: crea un'istanza di runtime: un'istanza, o runtime,
è il luogo in cui vengono archiviati il progetto e i servizi correlati; fornisce l'endpoint rivolto agli utenti
per i tuoi servizi.
Passaggio 7: crea un ambiente: un proxy API deve essere
implementato in un ambiente e aggiunto a un gruppo di ambienti prima che le API che espone
siano accessibili tramite la rete.
Inizializza Cloud SDK, come descritto in Inizializzare gcloud CLI, o assicurati che il progetto Google Cloud che hai creato in Prerequisiti sia il progetto predefinito per gcloud.
Definisci le seguenti variabili di ambiente nel terminale dei comandi.
Seleziona la scheda corrispondente al tipo di organizzazione che ti serve:
Nessuna residenza dei dati o con
Residenza dei dati:
AUTH definisce l'intestazione Authentication con un token di connessione.
Utilizzerai questa intestazione quando chiami le API Apigee. Tieni presente che il token scade dopo un periodo di tempo e, quando ciò accade, puoi rigenerarlo semplicemente 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.
PROJECT_NUMBER è il numero del progetto Cloud che hai creato nell'ambito
dei prerequisiti.
RUNTIME_LOCATION è la posizione fisica in cui si trova l'istanza Apigee che
creerai in un secondo momento. Per un elenco delle località di runtime disponibili, consulta
Località Apigee.
ANALYTICS_REGION è la posizione fisica in cui verranno archiviati i dati di analisi di Apigee. Per un elenco delle regioni disponibili di Apigee API Analytics, consulta Località Apigee.
RUNTIME_LOCATION e ANALYTICS_REGION
possono essere la stessa regione, ma non è obbligatorio.
BILLING_TYPE è il tipo di fatturazione per l'organizzazione che crei. I valori validi sono:
AUTH definisce l'intestazione Authentication con un token di connessione.
Utilizzerai questa intestazione quando chiami le API Apigee. Tieni presente che il token scade dopo un periodo di tempo e, quando ciò accade, puoi rigenerarlo semplicemente 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.
PROJECT_NUMBER è il numero del progetto Cloud che hai creato nell'ambito dei prerequisiti.
RUNTIME_LOCATION è la località fisica in cui si trova l'istanza Apigee che
creerai in un secondo momento. Per un elenco delle località di runtime disponibili, consulta
Località Apigee.
La posizione di runtime deve trovarsi all'interno
della posizione del control plane.
CONTROL_PLANE_LOCATION è la posizione fisica in cui verranno archiviati i dati del control plane Apigee.
Per un elenco delle località del control plane disponibili, consulta
Località Apigee.
CONSUMER_DATA_REGION è una sottoregione della regione del control plane. Devi specificare sia CONTROL_PLANE_LOCATION che CONSUMER_DATA_REGION.
Per un elenco delle regioni di dati dei consumatori disponibili, consulta
Località Apigee.
BILLING_TYPE è il tipo di fatturazione per l'organizzazione che crei. I valori validi sono:
SUBSCRIPTION per le organizzazioni con abbonamento.
(Facoltativo) Controlla il tuo lavoro ripetendo i valori che hai appena impostato. Tieni presente che quando vuoi
utilizzare una variabile nei comandi, anteponi al nome della variabile il simbolo del dollaro
($).
Le risposte ai comandi echo dovrebbero essere simili alle seguenti:
YOUR_TOKEN
my-cloud-project
1234567890
us-west1
us
us-west1
SUBSCRIPTION
Passaggio 2: attivazione delle API
Autorizzazioni richieste per questa attività
Puoi assegnare al provisioner Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività oppure assegnare autorizzazioni più granulari per fornire il privilegio minimo necessario. Consulta
Ruoli predefiniti e
Autorizzazioni di attivazione delle API.
Apigee richiede l'abilitazione di diverse API Google Cloud. Abilitali eseguendo questo comando services enable:
Verifica che l'agente sia stato creato correttamente. La risposta deve mostrare il nome
dell'agente nel seguente formato:
service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com.
ad esempio:
Service identity created: service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com
Passaggio 4: configurazione del networking di servizi
In questo passaggio, allochi una coppia di intervalli di indirizzi IP (un intervallo CIDR /22 e /28) ad Apigee ed esegui il peering VPC tra la tua rete e quella di Apigee. Ogni istanza Apigee
richiede un intervallo CIDR non sovrapposto di /22 e /28. Al piano di runtime Apigee
vengono assegnati indirizzi IP all'interno di questo intervallo CIDR. Di conseguenza, è
importante che l'intervallo sia riservato ad Apigee e non utilizzato da altre applicazioni nella
tua rete VPC. Per ulteriori informazioni e considerazioni importanti,
consulta Informazioni sugli intervalli di peering.
Tieni presente che stai creando un intervallo IP di rete sufficiente per un'istanza Apigee. Se prevedi
di creare altre istanze Apigee, devi ripetere questo passaggio per ciascuna. Gli intervalli
non possono essere condivisi tra le istanze. Vedi anche Espansione di Apigee in più regioni.
Autorizzazioni richieste per
questa attività
Puoi assegnare al provisioner Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività oppure assegnare autorizzazioni più granulari per fornire il privilegio minimo necessario. Consulta
Ruoli predefiniti e
Autorizzazioni di servizio di rete.
RANGE_NAME è il nome dell'intervallo di indirizzi IP che stai creando.
Puoi assegnare all'intervallo il nome che preferisci. Ad esempio: google-svcs
NETWORK_NAME è il nome della risorsa di rete in cui devono essere riservati gli indirizzi.
Google crea una rete predefinita
(denominata default) per ogni nuovo progetto, quindi puoi utilizzarla. Tuttavia,
Google sconsiglia di utilizzare la rete predefinita per scopi diversi dai test.
Crea un intervallo IP di rete con una lunghezza CIDR di /22:
Dove --addresses ti consente di specificare facoltativamente un
intervallo di indirizzi. Ad esempio, per allocare il blocco CIDR
192.168.0.0/22, specifica 192.168.0.0 per
l'indirizzo e 22 per la lunghezza del prefisso. Vedi anche
Creazione di un'allocazione IP.
Se non fornisci il parametro --addresses, gcloud seleziona un intervallo di indirizzi disponibile per te.
In caso di esito positivo, gcloud risponde con quanto segue:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/addresses/google-svcs].
Dopo aver creato un intervallo di indirizzi IP, questi vengono associati
al progetto finché non li rilasci.
Verifica che l'intervallo IP di rete sia stato creato con una lunghezza CIDR di /22:
Crea un intervallo IP di rete con una lunghezza CIDR di /28. Questo intervallo è obbligatorio e viene
utilizzato da Apigee per la risoluzione dei problemi e non può essere personalizzato o modificato.
Dove --addresses ti consente di specificare facoltativamente un
intervallo di indirizzi. Ad esempio, per allocare il blocco CIDR
192.168.0.0/28, specifica 192.168.0.0 per
l'indirizzo e 28 per la lunghezza del prefisso. Vedi anche
Creazione di un'allocazione IP.
Se non fornisci il parametro --addresses, gcloud seleziona un intervallo di indirizzi disponibile per te.
Verifica che l'intervallo IP di rete sia stato creato con una lunghezza CIDR di /28:
Il completamento di questa operazione può richiedere diversi minuti. In caso di esito positivo, gcloud
risponde con quanto segue, dove OPERATION_ID è l'UUID dell'LRO.
Apigee crea una connessione tra la tua rete e i servizi di Google. In particolare,
Apigee connette il tuo progetto all'API Service Networking tramite il peering VPC. Apigee
associa anche gli indirizzi IP al tuo progetto.
Dopo qualche minuto, verifica se il peering VPC è riuscito:
gcloud services vpc-peerings list \
--network=$NETWORK_NAME \
--service=servicenetworking.googleapis.com \
--project=$PROJECT_ID
Passaggio 5: creazione di un'organizzazione
Autorizzazioni richieste per questa attività
Puoi assegnare al provisioner Apigee un ruolo predefinito che includa
le autorizzazioni necessarie per completare questa attività oppure assegnare autorizzazioni
più granulari per fornire il privilegio minimo necessario. Vedi:
Prima di poter creare un'organizzazione, devi creare un portachiavi e una chiave di crittografia del database di runtime (vedi passaggio 1) e, se utilizzi la
residenza dei dati, portachiavi e chiavi di crittografia del control plane (vedi passaggio 2). Queste
chiavi Cloud KMS criptano i dati archiviati e replicati nelle posizioni del runtime e del control plane. Apigee utilizza queste entità per criptare i dati delle applicazioni, come KVM, cache e secret client, che vengono poi memorizzati nel database. Per ulteriori informazioni, vedi
Informazioni sulle chiavi di crittografia Apigee.
Crea una chiave automatizzata e una chiave di crittografia del database di runtime.
Definisci una variabile di ambiente per la posizione dell'anello e della chiave di crittografia del database di runtime. In questo modo, quando li crei, garantisci la coerenza e
ti sarà più facile seguire la documentazione.
Il valore è la posizione fisica in cui sono archiviati l'anello di chiavi e la chiave di crittografia del database di runtime.
Regione singola
Configurazioni a regione singola (in cui hai una sola istanza
in una regione): scegli tra le posizioni regionali
KMS supportate.
Ad esempio:
RUNTIMEDBKEY_LOCATION="us-west1"
Il valore può essere uguale a $RUNTIME_LOCATION (anch'essa una regione), ma non è obbligatorio. Tuttavia, se sono uguali, le prestazioni potrebbero
migliorare.
Se hai una configurazione multiregionale negli Stati Uniti, ti consigliamo di utilizzare
us per la tua posizione, se possibile. Altrimenti, utilizza nam4.
Definisci le variabili di ambiente per i keyring e i nomi delle chiavi del database.
Il nome del portachiavi deve essere univoco per la tua organizzazione. Se crei una
seconda o successiva regione, il nome non può essere uguale a quello di altri portachiavi.
(Facoltativo) Controlla il tuo lavoro ripetendo i valori che hai appena impostato. Ricorda che quando vuoi
utilizzare una variabile nei comandi, anteponi al nome della variabile il simbolo del dollaro
($).
La posizione della chiave di crittografia del database di runtime di Apigee supporta tutte le posizioni Cloud KMS che supportano Cloud HSM e Cloud EKM.
Questo comando associa la chiave all'agente di servizio Apigee.
Al termine della richiesta, gcloud risponde con
un risultato simile al seguente:
Updated IAM policy for key [runtime].
bindings:
- members:
- serviceAccount:service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com
role: roles/cloudkms.cryptoKeyEncrypterDecrypter
etag: BwWqgEuCuwk=
version: 1
Se ricevi un errore simile al seguente:
INVALID_ARGUMENT: Role roles/cloudkms.cryptokms.cryptoKeyEncrypterDecrypter is not supported for this resource.
Assicurati di aver utilizzato il numero di progetto e non il nome del progetto nell'indirizzo email
del account di servizio.
Se utilizzi la
residenza dei dati, crea un portachiavi e una chiave di crittografia del control plane. Se non utilizzi la residenza dei dati, vai al passaggio 3.
Esegui i seguenti passaggi per creare una chiave automatizzata e una chiave di crittografia del control plane.
Definisci una variabile di ambiente per la posizione dell'anello e della chiave di crittografia del database del piano di controllo:
CONTROL_PLANE_LOCATION è la posizione fisica in cui verranno archiviati i dati del control plane Apigee.
Per un elenco delle località del control plane disponibili, consulta
Località Apigee.
CONSUMER_DATA_REGION è una sottoregione della regione del control plane. Devi specificare sia CONTROL_PLANE_LOCATION sia CONSUMER_DATA_REGION.
Per un elenco delle regioni di dati dei consumatori disponibili, consulta
Località Apigee.
Definisci le variabili di ambiente per i portachiavi e i nomi delle chiavi del database del control plane.
Il nome del portachiavi deve essere univoco per la tua organizzazione.
CONTROL_PLANE_KEY_RING_NAME è il nome delle chiavi automatizzate che utilizzerai per identificare le chiavi automatizzate di crittografia del control plane.
CONTROL_PLANE_KEY_NAME è il nome della chiave che utilizzerai per identificare la chiave di crittografia del control plane.
CONSUMER_DATA_KEY_RING_NAME è il nome delle chiavi automatizzate che utilizzerai per identificare le chiavi automatizzate di crittografia della regione dei dati dei consumatori.
CONSUMER_DATA_KEY_NAME è il nome della chiave che utilizzerai per identificare la chiave di crittografia della regione dei dati dei consumatori.
runtimeDatabaseEncryptionKeyName: l'ID della chiave di crittografia
dell'applicazione che hai creato nel passaggio precedente. Ricorda che l'ID è strutturato
come un percorso file. Ad esempio: projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key
-d definisce il payload dei dati per la richiesta. Questo payload deve includere
quanto segue:
name: identifica la tua nuova organizzazione. Deve avere lo stesso
nome dell'ID progetto.
runtimeType: imposta questo valore su CLOUD.
billingType: specifica il tipo di fatturazione dell'organizzazione creata.
controlPlaneEncryptionKeyName: è l'ID della chiave del control plane.
apiConsumerDataLocation: Devi anche specificare una regione secondaria da utilizzare per le risorse interne. Consulta
Regioni di residenza dei dati per i valori supportati.
apiConsumerDataEncryptionKeyName: è l'ID della chiave della regione dei dati dei consumatori.
runtimeDatabaseEncryptionKeyName: l'ID della chiave di crittografia
dell'applicazione che hai creato nel passaggio precedente. Ricorda che l'ID è
strutturato come un percorso file. Ad esempio: projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key
Dopo aver eseguito questo comando, Apigee avvia un'operazione a lunga esecuzione,
il cui completamento può richiedere alcuni minuti.
Se ricevi un errore, controlla l'utilizzo delle virgolette intorno
ai valori delle variabili nel payload dei dati. Assicurati di avere virgolette doppie-singole-doppie
intorno alla variabile $PROJECT_ID, come mostrato nell'esempio seguente:
"'"$PROJECT_ID"'"
Se utilizzi stringhe semplici (non variabili di ambiente) per i valori delle richieste, puoi
racchiuderle tra virgolette doppie all'interno della
stringa del payload tra virgolette singole, come mostrato nell'esempio seguente:
'{ "name":"my-gcp-project", ... }'
Attendi qualche minuto.
Per controllare lo stato della richiesta di creazione, puoi inviare una richiesta GET all'API
List organizations di Apigee, come mostrato nell'esempio seguente:
Se visualizzi 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 Apigee ha creato correttamente una nuova organizzazione, riceverai una risposta
simile alla seguente:
Puoi assegnare al provisioner Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività oppure assegnare autorizzazioni più granulari per fornire il privilegio minimo necessario. Vedi
Ruoli predefiniti e
Autorizzazioni dell'istanza di runtime.
Un'istanza di runtime è il luogo in cui vengono archiviati il progetto Apigee e i servizi correlati. Fornisce l'endpoint rivolto agli utenti per i tuoi servizi. Per creare una nuova istanza di runtime:
Verifica che Apigee abbia terminato la creazione dell'organizzazione. Hai inviato una richiesta per
creare una nuova organizzazione in Crea un'organizzazione Apigee, ma
devi assicurarti che sia stata creata prima di continuare.
Se l'organizzazione esiste (e disponi delle autorizzazioni appropriate per visualizzarla), Apigee
risponde con i relativi dettagli. Se Apigee risponde con un errore, attendi un paio di minuti e invia nuovamente la richiesta.
Analogamente all'attività precedente in cui hai creato una chiave di crittografia per il database,
ora devi creare una chiave
Cloud KMS utilizzata per criptare i dati lato server.
Per iniziare, definisci le seguenti variabili di ambiente:
INSTANCE_NAME: il nome della nuova istanza. Ad esempio,
my-runtime-instance. Il nome deve iniziare con una lettera minuscola, può
contenere fino a 32 caratteri e può includere solo lettere minuscole, numeri e
trattini. Non può iniziare o terminare con un trattino e deve contenere almeno due caratteri.
RUNTIME_LOCATION è la posizione fisica in cui è ospitato il cluster.
I valori validi sono qualsiasi località consentita da Compute Engine. (vedi
Regioni e zone disponibili). Questo esempio utilizza
us-west1.
DISK_KEY_RING_NAME è il nome delle chiavi automatizzate di crittografia del disco.
DISK_KEY_NAME è il nome della chiave di crittografia del disco.
consumerAcceptList (Facoltativo) Specifica un elenco di ID progetto Google Cloud che possono connettersi privatamente all'
service attachment del VPC Apigee. Il collegamento del servizio è un'entità utilizzata con Google Cloud
Private Service Connect per consentire ai producer di servizi (in questo caso, Apigee) di
esporre i servizi ai consumer (in questo caso, uno o più progetti Cloud di tua proprietà).
Per impostazione predefinita, utilizziamo il progetto Cloud già associato alla tua organizzazione Apigee. Ad esempio:
"consumerAcceptList": ["project1", "project2", "project3"]
Tieni presente che puoi anche impostare e modificare l'elenco dei progetti accettati nell'interfaccia utente dell'istanza. Per maggiori dettagli, vedi
Gestione delle istanze.
Mentre l'intervallo IP /22 viene utilizzato per l'esecuzione dei carichi di lavoro core di Apigee,
l'intervallo /28 viene utilizzato da Apigee per accedere all'istanza a scopo di risoluzione dei problemi.
Vedi anche
Creazione di istanze.
Il completamento di questa richiesta può richiedere fino a 20 minuti perché Apigee deve creare e
avviare un nuovo cluster Kubernetes, installare le risorse Apigee su questo cluster e configurare
il bilanciamento del carico.
Per controllare lo stato della richiesta di creazione dell'istanza di runtime, esegui il comando
seguente. Quando lo stato è ATTIVO, puoi passare al passaggio successivo.
Nessuna residenza dei dati
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME"
Residenza dei dati
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME"
Passaggio 7: creazione di un ambiente
Autorizzazioni richieste per questa attività
Puoi assegnare al provisioner Apigee un ruolo predefinito che includa
le autorizzazioni necessarie per completare questa attività oppure assegnare autorizzazioni
più granulari per fornire il privilegio minimo necessario. Vedi:
Per creare un ambiente e collegarlo al runtime sulla riga di comando:
Definisci le variabili di ambiente da utilizzare in questa sezione. Le variabili di ambiente specifiche che crei
dipendono dal fatto che tu stia creando un ambiente per un'organizzazione con abbonamento o con pagamento a consumo.
Abbonamento
Per un ambiente di abbonamento, crea queste variabili:
ENVIRONMENT_NAME è il nome di una stringa. Ad esempio: test
ENVIRONMENT_TYPE è il
tipo di ambiente
per questo ambiente ed è applicabile solo agli utenti con Pay-as-you-go, che devono
specificare uno di questi valori: BASE, INTERMEDIATE o
COMPREHENSIVE. Gli altri utenti devono omettere il tipo di ambiente.
ENV_GROUP_NAME è il nome di una stringa. Ad esempio: test-group
ENV_GROUP_HOSTNAME è un nome host di dominio valido. Ad esempio: foo.example.com
Crea un nuovo ambiente con l'API Environments. I comandi specifici che utilizzi
dipendono dal fatto che tu stia creando un ambiente per un'organizzazione con abbonamento o pagamento a consumo.
Abbonamento
Per un nuovo ambiente di abbonamento, utilizza il seguente comando:
In questo passaggio, configuri il modo in cui le applicazioni client comunicano con Apigee. Il traffico da client ad Apigee
è chiamato anche traffico "inbound". Le opzioni di configurazione in direzione nord includono quanto segue.
Vai all'opzione di configurazione che vuoi utilizzare ed esegui i passaggi per questa opzione:
Tipo di accesso
Descrizione della procedura di configurazione e deployment
Utilizza un gruppo di istanze gestite (MIG) per inviare
il traffico API dal servizio di backend di un bilanciatore del carico globale ad Apigee. Con questa configurazione, Apigee può connettersi
solo al VPC sottoposto a peering. Questa configurazione ti consente di inviare richieste proxy API Apigee da qualsiasi
macchina abilitata alla rete.
Consenti solo l'accesso interno ai tuoi proxy API da qualsiasi progetto Google Cloud utilizzando
Private Service Connect (PSC).
PSC consente 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 che controlli). Con questo metodo, le richieste
passano attraverso un endpoint di servizio o un bilanciatore del carico interno regionale a un unico punto di collegamento, chiamato
collegamento del servizio.
Questa configurazione consente ai client interni di inviare
richieste proxy API Apigee da qualsiasi macchina abilitata alla rete.
Utilizza Private Service Connect (PSC) per abilitare la connessione privata tra
un producer di servizi (Apigee) e un consumatore di servizi (il progetto VPC in peering e/o
uno o più altri progetti cloud che controlli). Con questo metodo, le richieste passano attraverso
un bilanciatore del carico esterno globale o un bilanciatore del carico esterno regionale a un unico
punto di collegamento, chiamato collegamento del servizio.
Questa configurazione ti consente di inviare
richieste proxy API Apigee da qualsiasi
macchina abilitata alla rete.
Ciascuno di questi approcci di routing è illustrato nelle istruzioni riportate di seguito.
Routing interno (VPC)
Per il routing del traffico dai client interni ad Apigee, puoi scegliere di utilizzare la terminazione TLS o meno:
Opzioni TLS: hai due opzioni se vuoi effettuare chiamate proxy API
da client interni con TLS abilitato:
(Opzione 1) Configura un bilanciatore del carico interno (ILB):
Crea un gruppo di istanze gestite (MIG) nel tuo progetto. Per creare il MIG, segui i passaggi 8a, 8b e
8c nella scheda Routing esterno (MIG).
(Opzione 2) Utilizza il nome di dominio completo interno predefinito e l'indirizzo IP del bilanciatore del carico interno dell'istanza Apigee. Questo caso è consigliato solo a scopo di test e non
per un ambiente di produzione. In questo caso, vengono utilizzati certificati autofirmati creati da Apigee,
con il bilanciatore del carico interno di Apigee, e non puoi modificarli. Vedi
Chiamata a un proxy API con accesso solo interno.
Opzione non TLS:se non richiedi la terminazione TLS, l'invocazione del proxy API può essere eseguita ignorando la convalida del certificato TLS. Ad esempio, l'opzione -k
dello strumento a riga di comando curl disabilita la verifica del certificato, ma il protocollo TLS rimane attivo durante la connessione. Tieni presente che l'accesso all'ingresso Apigee tramite HTTP semplice sulla porta 80 non è supportato, in modo simile ad Apigee Hybrid. Vedi
Chiamata a un proxy API con accesso solo interno.
Routing esterno (MIG)
Questa sezione descrive come configurare il routing per consentire l'accesso esterno
ai proxy API utilizzando un gruppo di istanze gestite (MIG) per inviare il traffico API da un servizio di backend di un bilanciatore del carico globale ad Apigee. Devi farlo prima di poter inviare una richiesta da un client esterno alla tua istanza Apigee Runtime.
Autorizzazioni richieste per questa attività
Puoi assegnare al provisioning di Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività
oppure concedere autorizzazioni più granulari per fornire il privilegio minimo necessario.
Consulta Ruoli predefiniti
e Autorizzazioni di routing dell'accesso.
Le istruzioni in questa sezione utilizzano le variabili di ambiente per fare riferimento a stringhe utilizzate ripetutamente. Ti consigliamo di impostarli prima di continuare:
MIG_NAME=apigee-mig-MIG_NAME # You can choose a different name if you like
VPC_NAME=default # If you are using a shared VPC, use the shared VPC nameVPC_SUBNET=default # Private Google Access must be enabled for this subnetREGION=RUNTIME_REGION # The same region as your Apigee runtime instanceAPIGEE_ENDPOINT=APIGEE_INSTANCE_IP # See the tip below for details on getting this IP address value
Utilizzerai queste variabili più volte durante le procedure rimanenti. Se vuoi configurare più regioni, crea variabili con valori specifici per ogni regione.
Passaggio 8c: crea un gruppo di istanze gestite
In questo passaggio, crei e configuri un gruppo di istanze gestite (MIG). In un passaggio successivo,
aggiungi il MIG a un servizio di backend collegato a un bilanciatore del carico globale. Un MIG è
necessario per inviare il traffico API dal servizio di backend del bilanciatore del carico globale ad Apigee.
Come puoi vedere da questo comando, le macchine sono di tipo e2-medium. Eseguono
Debian 12 e hanno 20 GB di spazio su disco. Lo script startup-script.sh configura il MIG per instradare il traffico in entrata dal bilanciatore del carico all'istanza Apigee.
Passaggio 8d: crea un certificato SSL e una chiave per il bilanciatore del carico
Devi creare le credenziali una sola volta, indipendentemente dal fatto che l'installazione venga eseguita in una o più regioni. In un passaggio successivo, assocerai queste credenziali
al proxy HTTPS di destinazione del bilanciatore del carico.
Puoi creare le credenziali con:
Il tuo certificato di un'autorità di certificazione
Imposta DOMAIN_HOSTNAME su un nome host di dominio valido che hai registrato. In un passaggio successivo, otterrai l'indirizzo IP del bilanciatore del carico e aggiornerai il record A del dominio in modo che punti a questo indirizzo. Ad esempio, il nome host di un dominio
potrebbe avere questo aspetto: foo.example.com.
Utilizzerai questo controllo di integrità per assicurarti che il servizio di backend sia in esecuzione. Per
configurare controlli di integrità più avanzati su un proxy specifico, consulta
Esecuzione di controlli di integrità.
Passaggio 8f: ottieni un indirizzo IP riservato e crea regole firewall
Devi assegnare un indirizzo IP al bilanciatore del carico e poi creare regole che consentano
al bilanciatore del carico di accedere al MIG. Devi eseguire questo passaggio una sola volta, indipendentemente dal fatto che tu stia eseguendo l'installazione in una o più regioni.
Passaggio importante: vai al sito, all'host DNS o al provider di servizi internet in cui vengono gestiti i tuoi record DNS e assicurati che
il record DNS del tuo dominio venga risolto nell'indirizzo IP del bilanciamento del carico di Google Cloud. Questo indirizzo è il valore IP restituito nell'ultimo passaggio. Per maggiori dettagli, consulta
Aggiorna i record DNS A e AAAA in modo che puntino all'indirizzo IP del bilanciatore del carico.
Crea una regola firewall che consenta al bilanciatore del carico di accedere al gruppo di istanze gestite utilizzando il
seguente comando:
gcloud compute firewall-rules create FIREWALL_RULE_NAME \
--description "Allow incoming from GLB on TCP port 443 to Apigee Proxy" \
--project $PROJECT_ID --network $VPC_NAME --allow=tcp:443 \
--source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=gke-apigee-proxy
Tieni presente che gli intervalli di indirizzi IP 130.211.0.0/22 e 35.191.0.0/16 sono gli intervalli di indirizzi IP di origine per Google Load Balancing. Questa regola firewall consente a Google Cloud Load Balancing di
effettuare richieste di controllo di integrità al MIG.
Seleziona la scheda di seguito per la tua scelta di configurazione e segui i passaggi:
Endpoint di servizio
Autorizzazioni richieste per questa attività
Puoi assegnare al provisioning di Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività
oppure concedere autorizzazioni più granulari per fornire il privilegio minimo necessario.
Consulta Ruoli predefiniti
e Autorizzazioni di routing dell'accesso.
Crea un endpoint di servizio PSC per il collegamento del servizio
Recupera l'allegato di servizio dall'istanza che hai creato in precedenza:
Nessuna residenza dei dati
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Residenza dei dati
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Nel seguente output di esempio, il valore serviceAttachment
è mostrato in grassetto:
Crea un endpoint di servizio PSC che rimandi al collegamento al servizio ottenuto
dal corpo della risposta dell'istanza nel passaggio precedente, come spiegato in
Creare un endpoint Private Service Connect.
Puoi assegnare al provisioning di Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività oppure concedere autorizzazioni più granulari per fornire il privilegio minimo necessario.
Consulta Ruoli predefiniti
e Autorizzazioni di routing dell'accesso.
Passaggio 7a: configura le variabili di ambiente
Le istruzioni riportate in questa sezione utilizzano le variabili di ambiente per fare riferimento a stringhe utilizzate ripetutamente. Assicurati di aver impostato le variabili in
Definisci le variabili di ambiente.
Inoltre, imposta le seguenti variabili di ambiente:
NEG_NAME: un nome per il gruppo di endpoint di rete.
NETWORK_NAME: (facoltativo) il 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.
La dimensione della subnet può essere ridotta: il NEG PSC ha bisogno di un solo IP dalla subnet.
Per Apigee, è necessario un solo NEG PSC per regione. La subnet può essere condivisa e utilizzata da VM o
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.
TARGET_SERVICE: l'allegato del servizio a cui vuoi
connetterti. Ad esempio: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
Crea un NEG Private Service Connect che rimandi al collegamento di servizio che hai ottenuto dal corpo della risposta dell'istanza nel passaggio precedente.
$PROJECT_ID può essere il progetto Cloud già
associato alla tua organizzazione Apigee o un progetto Cloud incluso
in consumerAcceptlist quando è stata creata l'istanza di runtime Apigee.
Passaggio 7d: configura il bilanciatore del carico interno regionale
Prenota un indirizzo IPv4 interno per il bilanciatore del carico.
BACKEND_SERVICE_NAME con il nome del servizio di backend.
Per creare un bilanciatore del carico HTTPS, 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, devi disporre di un file di chiave privata locale e di un file di certificato locale. Se devi creare questi file, consulta il passaggio 1 dell'utilizzo dei certificati SSL autogestiti.
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.
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 Apigee Runtime.
Autorizzazioni richieste per questa attività
Puoi assegnare al provisioning di Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività
oppure concedere autorizzazioni più granulari per fornire il privilegio minimo necessario.
Consulta Ruoli predefiniti
e Autorizzazioni di routing dell'accesso.
Passaggio 7b: crea un NEG e configura il bilanciatore del carico
Puoi creare un bilanciatore del carico globale o regionale.
Crea un NEG Private Service Connect che rimandi al collegamento di servizio che hai ottenuto dal corpo della risposta dell'istanza nel passaggio precedente.
NEG_NAME: un nome per il gruppo di endpoint di rete.
TARGET_SERVICE: il service attachment a cui vuoi connetterti. Utilizza il valore dell'allegato di servizio restituito dal comando
precedente. Ad esempio:
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
NETWORK_NAME: (facoltativo) Il nome della rete in cui viene creato il NEG. Se ometti
questo parametro, viene utilizzata la rete del progetto default.
SUBNET_NAME: il nome della subnet utilizzata per la connettività privata al produttore.
La dimensione della subnet può essere ridotta: il NEG PSC ha bisogno di un solo IP dalla subnet.
Per Apigee, è necessario un solo NEG PSC per regione. La subnet può essere condivisa e utilizzata da VM o
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 quando è stata creata
l'istanza di runtime Apigee.
Se non l'hai ancora fatto,
crea una variabile di ambiente per contenere l'ID progetto, perché viene
utilizzato nella maggior parte dei comandi seguenti.
Prenota un indirizzo IPv4 esterno globale per il bilanciatore del carico.
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.
Per creare un bilanciatore del carico HTTPS, devi disporre di una risorsa 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. L'utilizzo di certificati gestiti da Google è
consigliato perché Google Cloud li ottiene, gestisce e rinnova automaticamente.
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, devi disporre di un file della chiave privata locale e di un file del certificato locale. Se devi creare questi file, consulta il passaggio 1 dell'utilizzo dei certificati SSL autogestiti.
(Facoltativo) NETWORK_NAME: nome della rete in cui
viene creata la subnet. Se ometti questo parametro, viene utilizzata la rete
del progetto predefinita.
Recupera l'allegato di servizio dall'istanza che hai creato in precedenza:
Nessuna residenza dei dati
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Residenza dei dati
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Nel seguente output di esempio, il valore serviceAttachment è mostrato in grassetto:
TARGET_SERVICE: il nome del service attachment a cui vuoi connetterti.
Ad esempio: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
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.
Per creare un bilanciatore del carico HTTPS, devi disporre di una risorsa 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, devi disporre di un file della chiave privata locale e di un file del certificato locale. Se devi creare questi file, consulta il passaggio 1 dell'utilizzo dei certificati SSL autogestiti.
La creazione e il deployment dei proxy richiedono un insieme minimo di autorizzazioni. Se hai il ruolo
Amministratore organizzazione Apigee, puoi completare questa attività. Per scoprire altri ruoli che puoi utilizzare, consulta la sezione
Ruoli Apigee.
Scarica il
proxy di esempio da GitHub. Il target del proxy è il servizio
httpbin.org, che è
un servizio pubblico di richiesta e risposta di uso comune.
Carica il bundle di proxy API nel runtime utilizzando l'API Apigee
apis:
Se ricevi un errore come questo:
CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failure, controlla
che il certificato SSL che hai creato in precedenza sia stato sottoposto a provisioning.
Utilizza questo comando per controllare lo
stato del provisioning. Quando il certificato viene sottoposto a provisioning, il relativo stato è
ACTIVE.
Per maggiori informazioni sul deployment dei proxy, incluse informazioni aggiuntive per la risoluzione dei problemi, consulta
Deployment di un proxy API.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-16 UTC."],[[["This document details the command-line installation and configuration process for Apigee (excluding Apigee hybrid) on Google Cloud, covering both Subscription and Pay-as-you-go pricing models."],["The guide covers setting up necessary environment variables, enabling required APIs, creating the Apigee service identity, configuring service networking, creating an Apigee organization, and establishing a runtime instance and environment."],["It includes instructions for both no data residency and data residency configurations, incorporating the use of Customer-Managed Encryption Keys (CMEK) for enhanced security and organization policies."],["The configuration instructions include routing setup for client applications to connect to Apigee, covering internal (VPC peering or Private Service Connect) and external (Managed Instance Group or Private Service Connect) access options, including the use of load balancers."],["The document provides the steps to deploy a sample proxy, including downloading the proxy, uploading, deploying, confirming the deployment, calling the API, checking certificate provisioning, and updating the DNS A and AAAA records."]]],[]]