Configura il sincronizzatore

In questa sezione viene descritto il sincronizzatore.

Panoramica dello strumento di sincronizzazione

In Apigee hybrid, il compito principale del sincronizzatore consiste nel eseguire il polling e scaricare i contratti di runtime forniti dal piano di gestione. Le informazioni comunicate per contratto includono proxy API, prodotti API, cache e host virtuali. Il sincronizzatore per impostazione predefinita archivia i dati di configurazione dell'ambiente nel database Cassandra.

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

Un sincronizzatore può supportare molti processori di messaggi distribuiti nello stesso pod.

Abilita l'accesso del sincronizzatore

Devi concedere all'autorizzazione Sincronizzatore per estrarre gli artefatti Apigee, come risorse e bundle proxy dal piano di gestione. Devi chiamare un'API Apigee per autorizzare il sincronizzatore a eseguire il pull degli artefatti 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 Abilitare le API.
  2. Individua la chiave dell'account di servizio Google Cloud abilitata per la scrittura (un file JSON) che hai scaricato durante la procedura di creazione di account di servizio e credenziali. L'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. Utilizzare la chiave dell'account di servizio dell'amministratore dell'organizzazione Apigee per generare un token di accesso OAuth 2.0. Questo token è necessario per autenticare le API Apigee.

    gcloud

    Utilizza gcloud per ottenere un token di accesso OAuth 2.0, passando il file JSON delle credenziali dell'account di servizio che hai scaricato utilizzando la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS:

    export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
    gcloud auth application-default print-access-token

    Viene restituito un token OAuth2.0.

    Per maggiori informazioni, consulta gcloud beta auth application-default Print-access-token.

  4. Copia il token OAuth 2.0 restituito e memorizzalo in una variabile, ad esempio TOKEN. Ad esempio:
    export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
  5. Chiama setSyncAuthorization per abilitare le autorizzazioni richieste per synchronousr:
    curl -X POST -H "Authorization: Bearer $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 ha la forma di un indirizzo email. Ad esempio: my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com

    Esempio:

    curl -X POST -H "Authorization: Bearer $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 la pagina relativa all'API setSyncAuthorization.

  6. Per verificare che l'account di servizio sia stato impostato, chiama l'API seguente per ottenere un elenco degli account di servizio:
    curl -X POST -H "Authorization: Bearer $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="
    }