Questa sezione descrive 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 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 del sincronizzatore in esecuzione nel piano di runtime devono eseguire 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 elaboratori di messaggi di cui è stato eseguito il deployment nello stesso pod.
Attivare l'accesso al 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 L'API Apigee per autorizzare il sincronizzatore a eseguire il pull degli artefatti dal piano di gestione nel piano di runtime.
- Assicurati di aver attivato l'API Apigee come spiegato nella procedura di configurazione di Google Cloud. Per maggiori dettagli, vedi Abilitare le API.
- 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 creato questo servizio in precedenza devi farlo prima di continuare.
- 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 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.
- Copia il token OAuth 2.0 restituito e memorizzalo in una variabile, ad esempio
TOKEN
. Ad esempio:export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
- 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 Gestore sincronizzatore Apigee. 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 $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 posizione dei dati del piano di controllo se l'installazione ibrida utilizza la residenza dei dati. Si tratta della posizione in cui vengono archiviati i contenuti principali del cliente, 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 è 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 $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 l'API setSyncAuthorization.
- 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=" }