Configurare il sincronizzatore

Questa sezione descrive 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. Per impostazione predefinita, Synchronizer memorizza i dati di configurazione dell'ambiente 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 processori di messaggi distribuiti nello stesso pod.

Abilita l'accesso del sincronizzatore

Devi concedere l'autorizzazione Sincronizzazione per eseguire il pull-down Artefatti Apigee, come risorse e bundle proxy dal piano di gestione. Devi chiamare un L'API Apigee per autorizzare il sincronizzatore a eseguire il pull degli artefatti dal piano di gestione nel piano di runtime.

  1. Assicurati di aver attivato l'API Apigee come spiegato nella procedura di configurazione di Google Cloud. Per maggiori dettagli, vedi Attivare le API.
  2. Individua la chiave dell'account di servizio Google Cloud abilitata alla scrittura (un file JSON) che hai scaricato nell'ambito della sezione Creare account di servizio e credenziali. L'account di servizio ha il ruolo Amministratore dell'organizzazione Apigee e si chiama "apigee-org-admin". Se non hai ancora creato 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 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 ulteriori 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 attivare le autorizzazioni richieste per il sincronizzatore:
    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 Gestore sincronizzatore Apigee. Il nome ha la forma di . 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 sezione sull'API setSyncAuthorization.

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