Configurare il sincronizzatore

Questa sezione descrive lo strumento di sincronizzazione.

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 dal contratto includono proxy API, prodotti API, cache e host virtuali. Per impostazione predefinita, Synchronizer memorizza i dati di configurazione dell'ambiente nel database Cassandra.

Le istanze di Synchronizer in esecuzione nel piano di runtime devono eseguire il polling del piano di gestione su base regolare, scaricare i contratti e renderli disponibili alle istanze di runtime locali.

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

Attivare l'accesso al sincronizzatore

Devi concedere l'autorizzazione Synchronizer per scaricare gli artefatti Apigee, come i bundle proxy e le risorse dal management plane. Devi chiamare un'API Apigee per autorizzare il sincronizzatore a estrarre gli artefatti dal piano di gestione al piano di runtime.

  1. Assicurati di aver attivato l'API Apigee come spiegato nella procedura di configurazione di Google Cloud. Per maggiori dettagli, vedi Passaggio 3: attiva le API.
  2. Individua la chiave del account di servizio Google Cloud con accesso in scrittura (un file JSON) che hai scaricato nell'ambito della procedura Crea service account. Il account di servizio ha il ruolo Amministratore organizzazione Apigee ed è quello denominato "apigee-org-admin". Se non hai creato in precedenza questo account di servizio, devi farlo prima di continuare.
  3. Imposta la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS sul percorso in cui si trova la chiave del account di servizio:

    export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
  4. Chiama l'API setSyncAuthorization per abilitare le autorizzazioni richieste per Synchronizer:
    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 Synchronizer 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 saperne di più su questa API, consulta l'API SyncAuthorization.

  5. Per verificare che il account di servizio sia stato impostato, chiama la seguente API per ottenere un elenco di service 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="
    }