Questo documento descrive come installare e configurare Apigee dalla riga di comando con il peering VPC. Questi passaggi si applicano ai modelli di prezzi sia in abbonamento sia a consumo per le organizzazioni a pagamento con o senza residenza dei dati abilitata.
Riepilogo dei passaggi
I passaggi per il provisioning sono i seguenti:
Passaggio 1: definisci le variabili di ambiente
Configura gcloud e definisci le variabili di ambiente.
L'interfaccia a riga di comando Google Cloud gestisce l'autenticazione, la configurazione locale, il flusso di lavoro degli sviluppatori e le interazioni con le API di Google Cloud.
Passaggio 4: configura il networking di servizi: networking di servizi
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 indicata come org) è il contenitore di primo livello in Apigee. Sono inclusi 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 un runtime
è la posizione in cui sono archiviati il tuo progetto e i relativi servizi. fornisce l'endpoint rivolto all'utente
per i tuoi servizi.
Passaggio 7: crea un ambiente: un proxy API deve essere
sottoposte a deployment in un ambiente e aggiunte a un gruppo di ambienti prima di esporre le API
sono accessibili attraverso la rete.
Inizializza Cloud SDK, come descritto in Inizializzare gcloud CLI, oppure assicurati che in altro modo
il progetto Google Cloud che hai creato in Prerequisiti è il progetto predefinito
gcloud.
Definisci le seguenti variabili di ambiente nel terminale dei comandi.
Seleziona la scheda corrispondente al tipo di organizzazione di cui hai bisogno:
Nessuna residenza dei dati o con
Residenza dei dati:
AUTH definisce l'intestazione Authentication con un token di accesso.
Utilizzerai questo header quando chiami le API Apigee. Tieni presente che il token scade
dopo un determinato periodo di tempo e quando accade, è sufficiente rigenerarlo utilizzando
lo stesso comando. Per ulteriori informazioni, consulta la pagina di riferimento per
get_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 seguito. Per un elenco delle località di runtime disponibili, vedi
Località Apigee.
ANALYTICS_REGION è la posizione fisica in cui verranno archiviati i dati di analisi di Apigee. Per un elenco delle regioni di Apigee API Analytics disponibili, consulta Località Apigee.
Sia RUNTIME_LOCATION che 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 questo header quando chiami le API Apigee. Tieni presente che il token scade
dopo un determinato periodo di tempo e quando accade, è sufficiente rigenerarlo utilizzando
lo stesso comando. Per ulteriori informazioni, consulta la pagina di riferimento per
get_print-access-token.
PROJECT_ID è l'ID del progetto Cloud che hai creato nell'ambito della
Prerequisiti.
PROJECT_NUMBER è il numero del progetto Cloud che hai creato come parte
dei Prerequisiti.
RUNTIME_LOCATION è la posizione fisica in cui si trova l'istanza Apigee
che creerai in seguito. Per un elenco delle località di runtime disponibili, vedi
Località Apigee.
di Gemini Advanced.
La località di runtime deve essere all'interno
dalla posizione del piano di controllo.
CONTROL_PLANE_LOCATION è la località fisica in cui verranno archiviati i dati del piano di controllo Apigee.
Per un elenco delle posizioni dei piani di controllo disponibili, vedi
Località Apigee.
CONSUMER_DATA_REGION è una sottoregione della regione del piano di controllo. 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:
PAYG per le organizzazioni che prevedono il Pay-as-you-go.
SUBSCRIPTION per le organizzazioni che utilizzano gli abbonamenti.
(Facoltativo) Controlla il tuo lavoro eseguendo l'echo dei valori appena impostati. Tieni presente che quando vuoi
utilizzare una variabile nei comandi, devi precedere il nome della variabile con il segno di 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 provisioning di Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività oppure autorizzazioni più granulari per fornire il privilegio minimo necessario. Consulta
Ruoli predefiniti e
Autorizzazioni di abilitazione dell'API.
Apigee richiede l'abilitazione di diverse API Google Cloud. Per abilitarle, esegui questo comando services enable
:
Verifica che l'agente sia stato creato correttamente. La risposta dovrebbe mostrare il nome
l'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 assegnerai una coppia di intervalli di indirizzi IP (un intervallo CIDR /22 e /28) ad Apigee e
il peering VPC tra la tua rete e la rete Apigee. Ogni istanza Apigee richiede un intervallo CIDR non sovrapposto di /22 e /28. Il piano di runtime Apigee
sono assegnati indirizzi IP interni a questo intervallo CIDR. Di conseguenza, è importante che l'intervallo sia riservato ad Apigee e non utilizzato da altre applicazioni nella 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
e non possono essere condivisi tra le istanze. Consulta anche Espandere Apigee in più regioni.
Autorizzazioni richieste per
questa attività
Puoi assegnare al provisioning di Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività oppure autorizzazioni più granulari per fornire il privilegio minimo necessario. Consulta
i ruoli predefiniti e
Autorizzazioni networking di servizi.
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 gli indirizzi
deve essere prenotato.
Google crea una rete predefinita
(denominata default) per ogni nuovo progetto, che puoi utilizzare. Tuttavia,
Google sconsiglia di utilizzare la rete predefinita per altri scopi oltre ai test.
Crea un intervallo IP di rete con una lunghezza CIDR di /22:
Dove --addresses ti consente di specificare facoltativamente
di indirizzi IP esterni. 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.
Se l'operazione riesce, 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 della rete sia stato creato con una lunghezza CIDR di /22:
Crea un intervallo IP di rete con 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
di indirizzi IP esterni. 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 della rete sia stato creato con una lunghezza CIDR di /28:
Apigee crea una connessione tra la tua rete e i servizi Google. in particolare,
Apigee connette il progetto all'API Service Networking tramite peering VPC. Apigee associato anche gli indirizzi IP al tuo progetto.
Dopo alcuni minuti, verifica se il peering VPC è riuscito:
gcloud services vpc-peerings list \
--network=$NETWORK_NAME \
--service=servicenetworking.googleapis.com \
--project=$PROJECT_ID
Passaggio 5: crea un'organizzazione
Autorizzazioni richieste per questa attività
Puoi assegnare al provisioner Apigee un ruolo predefinito che include
le autorizzazioni necessarie per completare l'attività o
le autorizzazioni necessarie
per fornire il privilegio minimo necessario. Vedi:
Prima di poter creare un'organizzazione, devi creare un database di runtime
il keyring e la chiave di crittografia (vedi il passaggio 1); inoltre, se
utilizzano
residenza dei dati, keyring e chiavi di crittografia del piano di controllo
(vedi il passaggio 2). Queste chiavi Cloud KMS criptano i dati archiviati e replicati nelle posizioni del piano di controllo e di runtime. Apigee utilizza queste entità per
crittografare i dati delle applicazioni come KVM, cache e client secret,
quindi archiviato nel database. Per ulteriori informazioni, vedi
Informazioni sulle chiavi di crittografia Apigee.
Creare un keyring 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 puoi garantire la coerenza durante la creazione e
seguire più facilmente la documentazione.
Il valore è la posizione fisica in cui sono archiviati il tuo anello di chiavi di crittografia del database di runtime e la chiave.
Regione singola
Configurazioni per una singola regione (in cui hai una sola istanza in una regione): scegli tra le località regionali KMS supportate.
Ad esempio:
RUNTIMEDBKEY_LOCATION="us-west1"
Il valore può essere uguale a $RUNTIME_LOCATION (anche una regione), ma
non deve esserlo. Tuttavia, potrebbero esserci vantaggi in termini di prestazioni se
in modo analogo.
Se hai una configurazione per più regioni negli Stati Uniti, ti consigliamo di utilizzare us per la tua località, se possibile. Altrimenti, usa 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 un
seconda o successiva, il nome non può essere uguale a quello degli altri keyring
i nomi degli utenti.
(Facoltativo) Controlla il tuo lavoro eseguendo l'echo dei valori appena impostati. Ricorda che quando vuoi
utilizzare una variabile nei comandi, devi precedere il nome della variabile con il segno di dollaro
($).
La posizione della chiave di crittografia del database di runtime Apigee supporta tutte le risorse Cloud KMS
località che supportano Cloud HSM
e Cloud EKM.
Questo comando associa la chiave all'agente di servizio Apigee.
Una volta completata questa richiesta, gcloud risponde con
qualcosa di simile a questo:
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 del progetto e non il nome del progetto nella
l'indirizzo email dell'account di servizio.
Se utilizzi
la residenza dei dati, creare un keyring di crittografia del piano di controllo
chiave. Se non utilizzi la residenza dei dati, vai al passaggio 3.
Esegui i passaggi che seguono per creare un keyring e una chiave di crittografia del piano di controllo.
Definisci una variabile di ambiente per la posizione del keyring e della chiave di crittografia del database del piano di controllo:
CONTROL_PLANE_LOCATION è la posizione fisica in cui verranno archiviati i dati del piano di controllo di Apigee.
Per un elenco delle località del piano di controllo disponibili, consulta
Località di Apigee.
CONSUMER_DATA_REGION è una sottoregione della regione del piano di controllo. 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 keyring e i nomi delle chiavi del database del piano di controllo.
Il nome del portachiavi deve essere univoco per la tua organizzazione.
Questo comando associa la chiave all'agente di servizio Apigee. Al termine corretto
di questa richiesta, gcloud risponde con qualcosa di simile al seguente:
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 di dati per la richiesta. Questo payload deve includere
le seguenti:
name: identifica la nuova organizzazione. Deve essere uguale
come ID progetto.
runtimeType: imposta questo valore su CLOUD.
billingType: specifica il tipo di fatturazione dell'organizzazione creata.
controlPlaneEncryptionKeyName: è l'ID chiave del piano di controllo.
apiConsumerDataLocation: devi specificare anche una sottoregione che deve essere utilizzata da
risorse interne. Consulta
Regioni di residenza dei dati per i valori supportati.
apiConsumerDataEncryptionKeyName: è l'ID 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,
che può richiedere alcuni minuti.
Se visualizzi un messaggio di errore, verifica l'uso delle virgolette intorno
i valori delle variabili nel payload. Assicurati di avere virgolette doppie, singole e 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
racchiudili tra virgolette doppie all'interno
stringa di payload racchiusa tra virgolette singole, come mostra l'esempio seguente:
'{ "name":"my-gcp-project", ... }'
Attendi qualche minuto.
Per controllare lo stato della tua richiesta di creazione, puoi inviare una richiesta GET ad Apigee
Elenca l'API Organization, 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 include
autorizzazioni necessarie per completare l'attività o da assegnare
le autorizzazioni necessarie
per fornire il privilegio minimo necessario. Consulta
Ruoli predefiniti e
Autorizzazioni delle istanze 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 della tua organizzazione. Hai inviato una richiesta per
creare una nuova organizzazione in Creare un'organizzazione Apigee, ma
devi assicurarti che sia stata completata prima di continuare.
Se l'organizzazione esiste (e disponi delle autorizzazioni appropriate per visualizzarla), Apigee
risponde fornendo i relativi dettagli. Se Apigee risponde con un errore, attendi un paio di
minuti e invia di nuovo la richiesta.
Come nell'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ò
avere una lunghezza massima di 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
lunga.
RUNTIME_LOCATION è il luogo fisico in cui è ospitato il cluster.
I valori validi sono qualsiasi posizione consentita da Compute Engine. (consulta
Regioni e zone disponibili). Questo esempio utilizza
us-west1.
DISK_KEY_RING_NAME è il nome del keyring per la crittografia dei dischi.
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 al VPC di Apigee
collegamento al servizio. Il collegamento di servizio è un'entità utilizzata con Google Cloud
Private Service Connect per consentire ai produttori di servizi (in questo caso Apigee) di
esporre i servizi ai consumatori (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
dei progetti nella UI dell'istanza. Per maggiori dettagli, vedi
Gestione delle 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 sul cluster e configurare il bilanciamento del carico.
Per controllare lo stato della richiesta di creazione dell'istanza di runtime, esegui questo comando:
. Quando lo stato è ACTIVE, puoi andare 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 include
le autorizzazioni necessarie per completare l'attività o
le autorizzazioni necessarie
per fornire il privilegio minimo necessario. Vedi:
Per creare un ambiente e collegarlo al runtime nel comando
riga:
Definisci le variabili di ambiente da utilizzare in questa sezione. Le variabili di ambiente specifiche che crei dependono dal fatto che tu stia creando un ambiente per un'organizzazione con abbonamento o Pay-as-you-go.
Abbonamento
Per un ambiente con abbonamento, crea queste variabili:
ENVIRONMENT_NAME è un nome di stringa. Ad esempio: test
ENVIRONMENT_TYPE è il
tipo di ambiente
per questo ambiente ed è applicabile solo agli utenti 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
dipende dal fatto che tu stia creando un ambiente per un abbonamento o un pagamento a consumo
.
Abbonamento
Per un nuovo ambiente di sottoscrizione, utilizza il comando seguente:
In questo passaggio, configuri la modalità di comunicazione delle applicazioni client con Apigee. Il traffico dal client ad Apigee è chiamato anche traffico "in uscita". Le opzioni di configurazione per il nord sono le seguenti.
Vai all'opzione di configurazione che vuoi utilizzare ed esegui i relativi passaggi:
Tipo di accesso
Descrizione del processo di configurazione e deployment
Utilizza un gruppo di istanze gestite (MIG) per l'invio
Traffico API dal servizio di backend di un bilanciatore del carico globale ad Apigee. Con questa configurazione, Apigee è in grado di collegarsi solo alla VPC associata. Questa configurazione ti consente di inviare richieste proxy dell'API Apigee da qualsiasi computer con accesso alla rete.
Consenti solo l'accesso interno ai 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 sotto il tuo controllo). Con questo metodo, le richieste
passare attraverso un endpoint di servizio o un bilanciatore del carico interno a livello di regione a un singolo punto di collegamento,
da un collegamento a un servizio.
Questa configurazione consente ai clienti interni di inviare
Richieste proxy API Apigee da qualsiasi macchina abilitata in rete.
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
uno o più altri progetti Cloud sotto il tuo controllo). Con questo metodo, le richieste passano
tramite un bilanciatore del carico esterno globale o esterno a livello di regione,
un punto di collegamento, chiamato collegamento a un servizio.
Questa configurazione ti consente di inviare
Richieste proxy API Apigee da qualsiasi
di un computer abilitato per la rete.
Ciascuno di questi approcci di routing è presentato nelle istruzioni riportate di seguito.
Routing interno (VPC)
Per il routing del traffico dai client interni ad Apigee, puoi scegliere di utilizzare o meno la terminazione TLS:
Opzioni TLS: hai due opzioni se vuoi effettuare chiamate al 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 gruppo di istanze gestite, segui i passaggi 8a, 8b e 8c nella scheda Routing esterno (MIG).
Creare e configurare un bilanciatore del carico HTTPS(S) interno (ILB) e
collegare il gruppo di istanze gestite che hai creato al servizio di backend dell'ILB, come spiegato in
Configurare il bilanciamento del carico HTTP(S) interno con backend di gruppi di istanze VM. Con la configurazione del bilanciatore del carico interno,
hai il controllo completo sui certificati CA utilizzati con ILB.
(Opzione 2) Utilizza il nome di dominio completo interno predefinito e l'indirizzo IP del bilanciatore del carico interno dell'istanza Apigee. Questa richiesta è consigliata 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 è possibile modificarle. Consulta
Chiamata a un proxy API con accesso solo interno.
Opzione non TLS: se non devi abilitare la terminazione TLS, puoi chiamare i proxy API
in cui il client disabilita TLS. Ad esempio, utilizzando l'opzione -k con
cURL, puoi disattivare TLS. Vedi
Chiamata a un proxy API con accesso solo per uso 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 dal servizio di backend di un bilanciatore del carico globale ad Apigee. Devi fare
Questo prima di poter inviare una richiesta da un client esterno al tuo runtime Apigee
in esecuzione in un'istanza Compute Engine.
Autorizzazioni richieste per questa attività
Puoi assegnare al provisioning di Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività oppure autorizzazioni più granulari per fornire il privilegio minimo necessario.
Vedi Ruoli predefiniti
e Autorizzazioni di routing dell'accesso.
Le istruzioni in questa sezione usano le variabili di ambiente per fare riferimento all'uso ripetuto
stringhe. 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 restanti procedure. Se
vuoi configurare più regioni, crea variabili con valori specifici per ciascuna 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,
si aggiunge il gruppo di istanze gestite a un servizio di backend collegato a un bilanciatore del carico globale. È obbligatoria una MIG 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. Corrono
Debian 12 e avere 20 GB di disco. Lo script startup-script.sh configura il gruppo di istanze gestite per instradare il traffico in entrata dal carico
di fatturazione all'istanza Apigee.
Passaggio 8d: crea un certificato e una chiave SSL per il bilanciatore del carico
Devi creare le credenziali una sola volta, indipendentemente dall'installazione 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 il carico
l'indirizzo IP del bilanciatore e aggiorna il record A del dominio in modo che punti a quell'indirizzo. Ad esempio, un nome host di dominio potrebbe avere il seguente aspetto: foo.example.com.
Utilizzerai questo controllo di integrità per garantire che il servizio di backend sia in esecuzione. Per
configurare controlli di integrità più avanzati per un proxy specifico, consulta
Eseguire controlli di integrità.
Passaggio 8f: ottieni un indirizzo IP riservato e crea le regole firewall
Devi assegnare un indirizzo IP al bilanciatore del carico e quindi creare regole che consentano
al bilanciatore del carico
per accedere al gruppo di istanze gestite. Devi eseguire questo passaggio una sola volta, ad esempio
l'installazione in una o più regioni.
Passaggio importante: vai al sito, all'host DNS o all'ISP in cui sono gestiti i tuoi record DNS e assicurati che il record DNS del tuo dominio risolva nell'indirizzo IP del bilanciatore del carico Google Cloud. Questo indirizzo è il valore IP restituito nell'ultimo passaggio. Per ulteriori dettagli, vedi
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 il bilanciamento del carico Google. Questa regola firewall consente a Google Cloud Load Balancing di effettuare richieste di controllo di integrità al MIG.
Questa sezione spiega come consentire solo l'accesso interno ai proxy API da uno qualsiasi dei
Progetti Google Cloud che utilizzano Private Service Connect (PSC).
Hai due opzioni per configurare l'accesso interno con PSC:
Endpoint di servizio: le richieste passano attraverso un endpoint di servizio per un singolo punto di
allegato, denominato
collegamento del 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 regionale.
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 provisioner Apigee un ruolo predefinito che include le autorizzazioni necessarie per completare questa attività,
o concedere autorizzazioni più granulari per fornire il privilegio minimo necessario.
Vedi Ruoli predefiniti
e Autorizzazioni di routing dell'accesso.
Crea un endpoint di servizio PSC per il collegamento al servizio
Recupera il collegamento al servizio dall'istanza creata 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, serviceAttachment
viene visualizzato in grassetto:
Crea un endpoint di servizio PSC che punti al collegamento del servizio ottenuto
dal corpo della risposta dell'istanza nel passaggio precedente, come spiegato in
Crea un endpoint Private Service Connect.
Puoi assegnare al provisioning di Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività oppure autorizzazioni più granulari per fornire il privilegio minimo necessario.
Vedi Ruoli predefiniti
e Autorizzazioni di routing dell'accesso.
Passaggio 8a: configura le variabili di ambiente
Le istruzioni 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.
TARGET_SERVICE: l'attacco del servizio a cui vuoi collegarti. 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
parametro viene usata 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 richiede un solo IP della subnet.
Per Apigee, è necessario un solo NEG PSC per regione. La subnet può essere condivisa e utilizzata dalle VM
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.
Dove $PROJECT_ID può essere il progetto Cloud già esistente
associati alla tua organizzazione Apigee o a un progetto Cloud incluso
in consumerAcceptlist quando
È stata creata un'istanza di runtime Apigee.
Passaggio 8d: configura il bilanciatore del carico interno a livello di regione
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 nella
Proxy HTTPS di destinazione.
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 sull'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 eseguire questa operazione prima di poter inviare una richiesta da un client esterno all'istanza di runtime Apigee.
Autorizzazioni richieste per questa attività
Puoi assegnare al provisioning di Apigee un ruolo predefinito che includa le autorizzazioni necessarie per completare questa attività oppure autorizzazioni più granulari per fornire il privilegio minimo necessario.
Vedi Ruoli predefiniti
e Autorizzazioni di routing dell'accesso.
Passaggio 8b: crea un NEG e configura il bilanciatore del carico
Puoi creare un bilanciatore del carico globale o regionale.
Sebbene il NEG Private Service Connect sia a livello di regione, tutti gli altri componenti di bilanciamento del carico
in questa configurazione sono globali.
NEG_NAME: un nome per il gruppo di endpoint di rete.
TARGET_SERVICE: l'attacco del servizio a cui vuoi collegarti. Utilizza il valore dell'attacco del servizio restituito dal
comando precedente. 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
parametro viene usata 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 richiede un solo IP della 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 è stato creato il gruppo di endpoint di rete.
$PROJECT_ID Il progetto Cloud già associato
con la tua organizzazione Apigee o un progetto Cloud incluso
in consumerAcceptlist quando
È stata creata un'istanza di runtime Apigee.
Se non l'hai ancora fatto,
crea una variabile di ambiente per contenere l'ID progetto, poiché viene
utilizzata nella maggior parte dei comandi che seguono.
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 del certificato SSL da utilizzare nella
Proxy HTTPS di destinazione. 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, li gestisce e li 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 sull'utilizzo dei certificati SSL autogestiti.
(Facoltativo) NETWORK_NAME: il nome della rete in cui viene creata la subnet. Se ometti questo parametro, viene utilizzata la rete del progetto predefinita.
Recupera il collegamento al servizio dall'istanza creata 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"
Nell'output di esempio seguente, il valore serviceAttachment è mostrato in grassetto:
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
DEFAULT_BACKEND_SERVICE_NAME: il nome del servizio di backend predefinito del bilanciatore del carico.
Il valore predefinito viene utilizzato 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 autogestita. Per creare un
certificato SSL autogestito, sono necessari un file di chiave privata locale e un certificato locale
. Se devi creare questi file, consulta il passaggio 1 sull'utilizzo dei certificati SSL autogestiti.
La creazione e il deployment dei proxy richiedono un insieme minimo di autorizzazioni. Se
se disponi del ruolo Amministratore organizzazione Apigee, puoi completare questa attività. Per saperne di più
che puoi utilizzare, consulta
Ruoli Apigee.
Scarica il
proxy di esempio da GitHub. La destinazione del proxy è
httpbin.org, che è
un servizio pubblico di richiesta e risposta di uso comune.
Carica il bundle proxy API nel runtime utilizzando Apigee
API apis:
Se ricevi un messaggio di errore simile al seguente:
CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failure, seleziona per
e verifica che sia stato eseguito il provisioning del certificato SSL creato in precedenza.
Utilizza questo comando per controllare lo stato del provisioning. Quando il provisioning del certificato è stato eseguito, lo stato è
ACTIVE.
Per ulteriori informazioni sul deployment dei proxy, incluse informazioni aggiuntive sulla risoluzione dei problemi, consulta Eseguire il deployment di un proxy API.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-10-24 UTC."],[],[]]