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 che vengono fornite dal piano di gestione. Le informazioni comunicate per contratto includono l'API proxy, prodotti API, cache e host virtuali. Il sincronizzatore per l'ambiente di archiviazione predefinito nel database Cassandra.

È previsto che le istanze del sincronizzatore in esecuzione nel piano di runtime eseguano il polling della gestione eseguire il piano in modo regolare, scaricare i contratti e renderli disponibili per il runtime locale di Compute Engine.

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 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 scaricato nell'ambito della sezione Creare account di servizio e credenziali. 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. 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.

    Utilizza gcloud per ottenere il token di accesso OAuth 2.0, che passa il file JSON delle credenziali dell'account di servizio 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, vedi 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 l'API setSyncAuthorization per abilita le autorizzazioni richieste per synchronousr:

    Nessuna residenza dei dati

    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 . 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"]}'
    

    Residenza dei dati

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://CONTROL_PLANE_LOCATION-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.
    • CONTROL_PLANE_LOCATION: la località per i dati del piano di controllo se la tua installazione ibrida utilizza la residente dei dati. Questa è la posizione in cui sono archiviati i contenuti principali dei clienti, come i bundle proxy. Per un elenco, vedi Regioni disponibili del piano di controllo dell'API Apigee.
    • SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME: il nome di un account di servizio con il ruolo Apigee Sincronizzar Manager. 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://us-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 API setSyncAuthorization.

  6. Per verificare che l'account di servizio sia stato impostato, chiama l'API seguente per ottenere un elenco dei servizi account:

    Nessuna residenza dei dati

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \
       -d ''

    Residenza dei dati

    curl -X POST -H "Authorization: Bearer $TOKEN" \
      -H "Content-Type:application/json" \
      "https://CONTROL_PLANE_LOCATION-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="
    }