Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.
Un ambiente è un contesto di esecuzione di runtime per i proxy API e i flussi condivisi che vuoi implementare. Devi eseguire il deployment dei proxy API e dei flussi condivisi in uno o più ambienti prima che sia possibile accedervi per i test. Per saperne di più sugli ambienti, consulta Informazioni su ambienti e gruppi di ambienti.
Configura e esegui il deployment degli ambienti come descritto nelle sezioni seguenti. Consulta anche Gestire cartelle e file in uno spazio di lavoro Apigee.
Configurazione di un ambiente
Prima di eseguire il deployment di un ambiente, configuralo per identificare i proxy API e i flussi condivisi che vuoi implementare e configura gli hook dei flussi condivisi o i server di destinazione, come richiesto.
Per configurare un ambiente, crealo e modifica la configurazione definita nella tabella seguente.
Configurazione | Descrizione |
---|---|
Maschere di debug (debugmasks.json ) |
Definisci le configurazioni delle maschere per mascherare dati specifici nelle sessioni di traccia e debug. |
Deployment (deployments.json ) |
Definisci i proxy API e i flussi condivisi nel tuo deployment. |
Hook di flusso (flowhooks.json ) |
Collega i flussi condivisi agli hook dei flussi in modo che vengano eseguiti nello stesso punto per tutti i proxy API di cui è stato eseguito il deployment nell'ambiente. |
Server di destinazione (targetservers.json ) |
Scollega gli endpoint specifici dagli endpoint target per supportare il bilanciamento del carico e il failover su più istanze di server di backend. |
Negozi principali (keystores.json ) |
Aggiungi il supporto TLS agli endpoint di destinazione e ai server di destinazione. |
Inoltre, se utilizzi criteri che richiedono risorse, puoi gestirli a livello di ambiente, in base alle esigenze.
Creazione di un ambiente
Per creare un ambiente in Apigee in Cloud Code:
Esegui una delle seguenti azioni:
Posiziona il cursore del mouse sulla cartella environments nella tua area di lavoro Apigee e fai clic su .
Seleziona Visualizza > Riquadro dei comandi per aprire la tavolozza dei comandi e seleziona Cloud Code: Crea ambiente Apigee.
Viene visualizzata la procedura guidata Crea ambiente.
Inserisci un nome per l'ambiente e premi Invio.
L'ambiente viene aggiunto alla cartella environments nella sezione Apigee:
Configura l'ambiente, come descritto nelle sezioni seguenti.
Configurazione delle maschere di debug (debugmask.json)
Apigee ti consente di definire configurazioni di mascheramento per mascherare dati specifici nelle sessioni di tracciamento e debug. Quando i dati vengono mascherati, vengono sostituiti con asterischi nell'output della traccia. Ad esempio:
<description>**********</description>
Per ulteriori informazioni, consulta la sezione Nascondere i dati sensibili.
Per configurare le maschere di debug, aggiorna il file debugmask.json
modificandolo direttamente.
Di seguito è riportato un esempio della struttura di base di una configurazione della maschera in formato JSON. Per ulteriori informazioni sui campi di configurazione della maschera mostrati nell'esempio, consulta DebugMask.
{ "namespaces": { "myco": "https://example.com" }, "requestXPaths": [ "/myco:Greeting/myco:User" ], "responseXPaths": [ "/myco:Greeting/myco:User" ], "faultXPaths": [ "/myco:Greeting/myco:User" ], "requestJSONPaths": [ "$.store.book[].author" ], "responseJSONPaths": [ "$.store.book[].author" ], "faultJSONPaths": [ "$.store.book[*].author" ], "variables": [ "request.header.user-agent", "request.formparam.password" ] }
Configurazione dei deployment (deployments.json)
Configura i proxy API e i flussi condivisi che vuoi includere nel deployment.
Per configurare i deployment, aggiorna il file deployments.json
utilizzando la configurazione guidata o modificandolo direttamente.
Per configurare i deployment utilizzando la configurazione guidata:
- Posiziona il cursore sul file deployments.json per l'ambiente e fai clic su .
- Segui la procedura guidata di configurazione per selezionare i deployment e i campi di compilazione automatica nel file
deployments.json
. Il filedeployments.json
si apre nell'editor. - Modifica la configurazione, se necessario.
- Seleziona File > Salva o ⌘S per salvare le modifiche.
L'esempio seguente configura il deployment in modo da includere il proxy API helloworld
e i flussi condivisi mysharedflow
e hw-sharedflow
:
{ "proxies" : [ "helloworld" ], "sharedflows" : [ "mysharedflow", "hw-sharedflow" ] }
Configurazione degli account di servizio con i deployment di proxy e flussi condivisi
I proxy API che dipendono da un servizio Google come backend potrebbero richiedere l'associazione di un account di servizio Google Cloud al deployment. Vedi Utilizzare l'autenticazione Google.
Quando modifichi il file deployments.json
, puoi associare il proxy API o il flusso condiviso a un account di servizio Google Cloud. Ad esempio:
{ "name": "proxy-name", "serviceAccount": "associated-service-account" }
L'esempio seguente mostra una configurazione di deployment in cui gli account di servizio sono associati al proxy API helloworld
e al flusso condiviso mysharedflow
, ma il proxy healthcheck
e il flusso condiviso hw-sharedflow
non sono associati a un account di servizio:
{ "proxies": [ { "name": "helloworld", "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com" }, "healthcheck" ], "sharedflows": [ { "name": "mysharedflow", "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com" }, "hw-sharedflow" ] }
Scopri di più su come configurare l'emulatore Apigee per testare le funzionalità di autenticazione degli account di servizio nel proxy API.
Collegamento di flussi condivisi utilizzando gli hook di flusso (flowhooks.json)
Con un hook del flusso, puoi collegare un flusso condiviso in modo che venga eseguito nello stesso punto per tutti i proxy API di cui è stato eseguito il deployment in un ambiente specifico. In questo modo, ottieni una sequenza di logica implementata e di cui è stato eseguito il deployment separatamente che non fa parte del codice di implementazione di un proxy API. Nello specifico, puoi collegare un flusso condiviso nelle seguenti posizioni del flusso del proxy API:
- Prima dell'esecuzione di un endpoint del proxy API (
PreProxyFlowHook
) - Dopo l'esecuzione dell'endpoint proxy API e subito prima che la risposta venga inviata al client (
PostProxyFlowHook
) - Prima dell'esecuzione di un endpoint target (
PreTargetFlowHook
) - Dopo l'esecuzione della risposta target (
PostTargetFlowHook
)
Per ulteriori informazioni sugli hook di flusso, consulta Collegare i flussi condivisi utilizzando gli hook di flusso.
Per collegare i flussi condivisi utilizzando gli hook di flusso, aggiorna il file flowhooks.json
utilizzando la configurazione guidata o modificandolo direttamente.
Per configurare gli hook dei flussi utilizzando la configurazione guidata:
- Posiziona il cursore sul file flowhooks.json per l'ambiente e fai clic su .
- Seleziona i flussi condivisi da collegare in posizioni specifiche nel flusso del proxy API e compila automaticamente i campi nel file
flowhooks.json
. Il fileflowhooks.json
si apre nell'editor. - Modifica la configurazione, se necessario.
- Seleziona File > Salva o ⌘S per salvare le modifiche.
Nell'esempio seguente, mysharedflow
viene collegato a PreProxyFlowHook
in modo che venga eseguito prima di un endpoint proxy API:
{ "PreProxyFlowHook": { "continueOnError": true, "sharedFlow": "mysharedflow", "description": "Shared enforced before a proxy endpoint executes." } }
Configurazione dei server di destinazione (targetservers.json)
I server di destinazione (TargetServers) disaccoppiano gli URL endpoint specifici dalle configurazioni dell'endpoint di destinazione (TargetEndpoint). Anziché definire un URL specifico nella configurazione, puoi configurare uno o più TargetServer denominati. Poi, fai riferimento a ciascun TargetServer per nome in una connessione HTTPTargetEndpoint.
Per ulteriori informazioni sui server di destinazione, consulta i seguenti argomenti:
- Bilanciamento del carico tra server di backend
- Antipattern: bilanciamento del carico mediante un singolo server di destinazione con MaxFailures impostato su un valore diverso da zero
Per configurare i server di destinazione, aggiorna il file targetservers.json
utilizzando la configurazione guidata o modificandolo direttamente.
Per una descrizione dei campi nel file targetservers.json
, consulta Risorsa: TargetServer.
Per configurare i server di destinazione utilizzando la configurazione guidata:
- Posiziona il cursore sul file targetservers.json per l'ambiente e fai clic su .
- Segui la procedura guidata di configurazione per configurare il server di destinazione e compilare automaticamente i campi nel file
targetservers.json
. Il filetargetservers.json
si apre nell'editor. - Modifica la configurazione, se necessario.
- Seleziona File > Salva o ⌘S per salvare le modifiche.
L'esempio seguente aggiunge un nuovo server target nell'ambiente:
[ { "enabled": true, "name": "mytargetserver", "description": "My first target server", "host": "localhost", "port": 80 } ]
Il seguente esempio configura un server di destinazione con TLS reciproco utilizzando i repository delle chiavi:
[ { "name": "mtlsserver", "host": "mytargetserver.mydomain", "port": 443, "enabled": true, "protocol": "HTTP", "tlsInfo": { "enabled": true, "clientAuthEnabled": true, "keyStore": "mykeystore", "keyAlias": "mykeyandcert", "trustStore": "mytruststore" } } ]
Configurazione degli archivi chiavi (keystores.json)
I keystore definiscono i repository dei certificati di sicurezza utilizzati per la crittografia TLS negli endpoint e nei server di destinazione.
Per ulteriori informazioni sulla configurazione di TLS, consulta Opzioni per la configurazione di TLS.
Per configurare i keystore:
- Apri il file
keystores.json
per l'ambiente nell'editor. Il file ha due elementi principalistores
: una mappa del nome dell'archivio chiavi aggiunto e degli alias.references
: una mappa di tutti i nomi di riferimento dell'archivio chiavi e del nome dell'archivio chiavi associato.
- Modifica la configurazione, se necessario.
- Seleziona File > Salva o ⌘S per salvare le modifiche.
L'esempio seguente mostra un keystore mykeystore
con due alias, mycert-alias
e mykeycert-alias
:
{ "stores": { "mykeystore": { "my-cert-alias": { "cert": "/Users/jdoe/testkeys/cert1.pem" }, "my-keycert-alias": { "key": "/Users/jdoe/testkeys/key1.pem", "cert": "/Users/jdoe/testkeys/cert1.pem" } } } }
Eseguire il deployment di un ambiente
Esegui il deployment dei proxy API e dei flussi condivisi configurati per un ambiente in modo che sia possibile accedervi per i test.
Per eseguire il deployment di un ambiente:
- Nella sezione Apigee, posiziona il cursore sulla cartella dell'ambiente di cui vuoi eseguire il deployment.
- Fai clic su .
- Se sono in esecuzione più contenitori per l'emulatore Apigee, seleziona quello in cui vuoi eseguire il deployment dell'ambiente.
- Seleziona il bundle di test da esportare con il deployment o Esegui il deployment senza un bundle di test.
Puoi esportare le risorse di test in un secondo momento, come descritto in Esportazione delle risorse di test in Apigee Emulator.
L'ambiente viene disegnato e viene visualizzato un messaggio di operazione riuscita nella scheda Output.
Le applicazioni di cui è stato eseguito il deployment vengono visualizzate in Apigee Emulator: