Configura ed esegui il deployment degli ambienti

Questa pagina si applica ad Apigee e Apigee hybrid.

Visualizza la documentazione di Apigee Edge.

Un ambiente è un contesto di esecuzione runtime per i proxy API e i flussi condivisi di cui vuoi eseguire il deployment. Prima di poter accedere ai proxy API e ai flussi condivisi per i test, è necessario distribuirli in uno o più ambienti. Per saperne di più sugli ambienti, consulta Informazioni su ambienti e gruppi di ambienti.

Configurare e distribuire gli ambienti come descritto nelle sezioni seguenti. Vedi anche Gestire cartelle e file in uno spazio di lavoro Apigee.

Configurare un ambiente

Prima di teimplementare un ambiente Configuralo per identificare i proxy API e i flussi condivisi che desideri distribuire e configura gli hook dei flussi condivisi o i server di destinazione, a seconda delle necessità.

Per configurare un ambiente, crealo e modifica la configurazione definita nella tabella seguente.

Configurazione Descrizione
Maschere di debug (debugmasks.json) Definisci le configurazioni di maschera per nascondere dati specifici nelle sessioni di traccia e debug.
Implementazioni (deployments.json) Definisci i proxy API e i flussi condivisi nel deployment.
Ganci di flusso (flowhooks.json) Collega i flussi condivisi agli hook di flusso in modo che vengano eseguiti nello stesso punto per tutti i proxy API distribuiti nell'ambiente.
Server di destinazione (targetservers.json) Scollega i tuoi endpoint concreti dal tuoendpoint di destinazione per supportare il bilanciamento del carico e il failover su più istanze del server backend.
Negozi chiave (keystores.json) Aggiungi il supporto TLS ai tuoi endpoint di destinazione e server di destinazione.

Inoltre, se si utilizzano policy che richiedono risorse, è possibile gestire le risorse a livello di ambiente, secondo necessità.

Crea un ambiente

Per creare un ambiente in Apigee in Cloud Code:

  1. Esegui una delle seguenti azioni:

    • Posiziona il cursore sulla cartella environments (ambienti) nell'area di lavoro Apigee e fai clic su Crea un'icona ambientale.

      + viene visualizzato quando si posiziona il cursore sulla cartella degli ambienti

    • Seleziona Visualizza > Tavolozza comandi per aprire la tavolozza dei comandi e seleziona Cloud Code: Create Apigee environment (Cloud Code: crea ambiente Apigee).

    Si apre la procedura guidata Crea ambiente.

  2. Inserisci un nome per l'ambiente e premi Invio.

L'ambiente viene aggiunto alla cartella environments nella sezione Apigee:

Cartella Environments contenente i file deployments.json, flowhooks.json e targetservers.json.

Configura l'ambiente come descritto nelle sezioni seguenti.

Configura le maschere di debug (debugmask.json)

Apigee ti consente di definire configurazioni di mascheramento per mascherare dati specifici nelle sessioni di traccia e debug. Quando i dati vengono mascherati, vengono sostituiti con degli asterischi nell'uscita della traccia. Ad esempio:

<description>**********</description>

Per maggiori informazioni, consulta la pagina Mascheramento dei dati sensibili.

Per configurare le maschere di debug, aggiornare ildebugmask.json file permodifica del file 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, vedere 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"
  ]
}

Configura i deployment (deployments.json)

Configura i proxy API e i flussi condivisi che vuoi includere nel deployment.

Per configurare le distribuzioni, aggiornare il file deployments.json utilizzando la procedura guidata di configurazione oppure modificando il file direttamente.

Per configurare le distribuzioni utilizzando la procedura guidata di configurazione:

  1. Posiziona il cursore sul file deployments.json per l'ambiente e fai clic su Icona della procedura guidata per configurare una distribuzione.

    L'icona delle impostazioni viene visualizzata quando si posiziona il cursore sulla cartella deployments.json.

  2. Segui la procedura guidata di configurazione per selezionare i deployment e compilare automaticamente i campi nel file deployments.json. Il file deployments.json viene aperto nell'editor.
  3. Modifica la configurazione in base alle esigenze.
  4. Seleziona File > Salva o ⌘S per salvare le modifiche.

Il seguente esempio 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"
  ]
}

Configura gli account di servizio con distribuzioni proxy e di flusso condiviso.

I proxy API che dipendono da un servizio Google come backend potrebbero richiedere un Google Cloud account di servizio da associare alla distribuzione. Vedi Utilizzo dell'autenticazione Google.

Quando si modifica ildeployments.json file, puoi associare il proxy API o il flusso condiviso a un Google Cloud conto di servizio. Ad esempio:

{
  "name": "proxy-name",
  "serviceAccount": "associated-service-account"
}

L'esempio seguente mostra una configurazione di distribuzione in cui gli account di servizio sono associati al proxy APIhelloworld e flusso condivisomysharedflow, tuttavia il proxyhealthcheck e flusso condivisohw-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 dell'account di servizio nel tuo proxy API.

Collega i flussi condivisi utilizzando gli hook di flusso (flowhooks.json)

Con un flow hook, si collega un flusso condiviso in modo che venga eseguito nello stesso punto per tutti i proxy API distribuiti in un ambiente specifico. Questo fornisce una sequenza logica implementata e distribuita separatamente, che non fa parte del codice di implementazione di un proxy API. Nello specifico, è possibile collegare un flusso condiviso nelle seguenti posizioni del flusso proxy API:

  • Prima dell'esecuzione di un endpoint 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 di destinazione (PreTargetFlowHook)
  • Dopo l'esecuzione della risposta di destinazione (PostTargetFlowHook)

Per ulteriori informazioni sui flow hook, vedere Collegamento di flussi condivisi tramite flow hook.

Per collegare i flussi condivisi utilizzando gli hook di flusso, aggiorna il file flowhooks.json utilizzando la configurazione guidata o modificando direttamente il file.

Per configurare gli hook di flusso utilizzando la configurazione guidata:

  1. Posiziona il cursore sul file flowhooks.json per l'ambiente e fai clic su Icona della procedura guidata per configurare un hook del flusso.
  2. Seleziona il/i flusso/i condiviso/i da collegare in posizioni specifiche nel flusso proxy API e compila automaticamente i campi nel file flowhooks.json. Il file flowhooks.json viene aperto nell'editor.
  3. Modifica la configurazione in base alle esigenze.
  4. Seleziona File > Salva o ⌘S per salvare le modifiche.

L'esempio seguente associa mysharedflow a PreProxyFlowHook in modo che venga eseguito prima dell'esecuzione di un endpoint proxy API:

{
  "PreProxyFlowHook": {
    "continueOnError": true,
    "sharedFlow": "mysharedflow",
    "description": "Shared enforced before a proxy endpoint executes."
  }
}

Configura i server di destinazione (targetservers.json)

I server di destinazione (TargetServers) disaccoppiano gli URL degli endpoint concreti dalle configurazioni dell'endpoint di destinazione (TargetEndpoint). Anziché definire un URL concreto nella configurazione, puoi configurare uno o più TargetServer denominati. Quindi, fai riferimento a ogni TargetServer per nome in una HTTPConnection TargetEndpoint.

Per saperne di più sui server di destinazione, consulta i seguenti argomenti:

Per configurare i server di destinazione, aggiornare il file targetservers.json utilizzando la procedura guidata di configurazione oppure modificando il file direttamente. Per una descrizione dei campi nel file targetservers.json, consulta Risorsa: TargetServer.

Per configurare i server di destinazione utilizzando la configurazione guidata:

  1. Posiziona il cursore sul file targetservers.json per l'ambiente e fai clic su Icona della procedura guidata per configurare i server di destinazione.
  2. Segui la procedura guidata di configurazione per configurare il server di destinazione e compilare automaticamente i campi nel file targetservers.json. Il file targetservers.json viene aperto nell'editor.
  3. Modifica la configurazione in base alle esigenze.
  4. Seleziona File > Salva o ⌘S per salvare le modifiche.

L'esempio seguente aggiunge un nuovo server di destinazione all'ambiente:

[
  {
    "enabled": true,
    "name": "mytargetserver",
    "description": "My first target server",
    "host": "localhost",
    "port": 80
  }
]

L'esempio seguente configura un server di destinazione con mutual TLS utilizzando keystores:

[
    {
        "name": "mtlsserver",
        "host": "mytargetserver.mydomain",
        "port": 443,
        "enabled": true,
        "protocol": "HTTP",
        "tlsInfo": {
            "enabled": true,
            "clientAuthEnabled": true,
            "keyStore": "mykeystore",
            "keyAlias": "mykeyandcert",
            "trustStore": "mytruststore"
        }
    }
]

Configura i keystore (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 TLS, vedere Opzioni per la configurazione di TLS.

Per configurare i keystore:

  1. Apri il file keystores.json per l'ambiente nell'editor. Il file ha due elementi principali
    • stores - Una mappa del nome del keystore aggiunto e degli alias.
    • references - Una mappa di tutti i nomi di riferimento del keystore e il nome del keystore associato.
  2. Modifica la configurazione in base alle esigenze.
  3. 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"
        }
      }
    }
  }

Esegui il deployment di un ambiente

Distribuisci i tuoi proxy API e i flussi condivisi configurati per un ambiente in modo che siano accessibili per i test.

Per eseguire il deployment di un ambiente:

  1. Nella sezione Apigee, posiziona il cursore sulla cartella dell'ambiente che desideri distribuire.
  2. Fai clic su Icona di distribuzione per l'ambiente Apigee.

    L'icona di deployment viene visualizzata quando posizioni il cursore sulla cartella dell'ambiente di sviluppo

  3. Se sono in esecuzione più contenitori per l'emulatore Apigee, seleziona quello in cui vuoi eseguire il deployment dell'ambiente.
  4. Seleziona il pacchetto di test che desideri esportare con la distribuzione oppure seleziona Distribuisci senza un pacchetto di test.

    Richiesta di esportazione del test bundle

    È possibile esportare le risorse di test in un secondo momento, come descritto in Esportazione delle risorse di test nell'emulatore Apigee.

L'ambiente viene distribuito e mostra un messaggio di successo nella scheda Output.

Le applicazioni distribuite vengono visualizzate nell'emulatore Apigee:

Emulatore di Apigee che mostra l'applicazione helloworld di cui è stato eseguito il deployment e le risorse di test attive