Configura il sincronizzatore

In questa sezione viene descritto il sincronizzatore.

Panoramica del sincronizzatore

In Apigee hybrid, il compito principale di Synchronizer è eseguire il polling e scaricare i contratti di runtime forniti dal piano di gestione. Le informazioni comunicate in base al contratto includono proxy API, prodotti API, cache e host virtuali. Il sincronizzatore per l'ambiente di archiviazione predefinito nel database Cassandra.

Le istanze di sincronizzazione in esecuzione nel piano di runtime devono eseguire regolarmente il polling del piano di gestione, scaricare i contratti e renderli disponibili per le istanze di runtime locali.

Un sincronizzatore può supportare molti elaboratori di messaggi di cui è stato eseguito il deployment nello stesso pod.

Abilita l'accesso del sincronizzatore

Devi concedere all'account Synchronizer l'autorizzazione per scaricare gli elementi Apigee, ad esempio bundle di proxy e risorse dal piano di gestione. Devi chiamare un'API Apigee per autorizzare il sincronizzatore a estrarre gli elementi dal piano di gestione al piano di runtime.

  1. Assicurati di aver abilitato l'API Apigee come spiegato nei passaggi di configurazione di Google Cloud. Per maggiori dettagli, vedi Passaggio 3: attiva le API.
  2. Individua la chiave dell'account di servizio Google Cloud abilitata alla scrittura (un file JSON) che hai scaricato nell'ambito della creazione degli account di servizio. L'account di servizio dispone dell'amministratore organizzazione Apigee ruolo ed è quello denominato "apigee-org-admin". Se non hai creato questo servizio in precedenza devi farlo prima di continuare.
  3. Imposta la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sul percorso in cui si trova la chiave dell'account di servizio:

    export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
  4. Chiama l'API setSyncAuthorization per abilita le autorizzazioni richieste per synchronousr:
    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:synchronizer-manager-service-account-name"]}'
    

    Dove:

    • your_org_name: il nome dell'organizzazione ibrida.
    • synchronizer-manager-service-account-name: il nome di un account di servizio con il ruolo Apigee Sincronizzar Manager. Il nome è formato come un indirizzo email. Ad esempio: my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com

    Esempio:

    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/my_org:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"]}'
    

    Per ulteriori informazioni su questa API, consulta SyncAuthorization tramite Google Cloud.

  5. Per verificare che l'account di servizio sia stato impostato, chiama l'API seguente per ottenere un elenco dei servizi account:
    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \
       -d ''

    L'output è simile al seguente:

    {
       "identities":[
          "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }