In diesem Abschnitt wird der Synchronizer beschrieben.
Synchronizer – Übersicht
In Apigee Hybrid besteht die Hauptaufgabe des Synchronizers darin, die von der Verwaltungsebene bereitgestellten Laufzeitverträge abzurufen und herunterzuladen. Zu den im Vertrag enthaltenen Informationen gehören API-Proxys, API-Produkte, Caches und virtuelle Hosts. Synchronizer speichert standardmäßig Umgebungskonfigurationsdaten in der Cassandra-Datenbank.
Synchronizer-Instanzen, die in der Laufzeitebene ausgeführt werden, sollten regelmäßig die Verwaltungsebene abfragen, die Verträge herunterladen und diese den lokalen Laufzeitinstanzen zur Verfügung stellen.
Ein Synchronizer unterstützt viele Nachrichtenverarbeiter, die im gleichen Pod bereitgestellt sind.
Synchronizer-Zugriff aktivieren
Sie müssen die Berechtigung Synchronizer erteilen, um Apigee-Artefakte wie Proxy-Bundles und Ressourcen von der Verwaltungsebene abzurufen. Sie müssen eine Apigee API aufrufen, um den Synchronizer zu autorisieren, Artefakte von der Verwaltungsebene zur Laufzeitebene abzurufen.
- Prüfen Sie, ob die Apigee API wie in den Google Cloud-Einrichtungsschritten beschrieben aktiviert wurde. Weitere Informationen finden Sie unter APIs aktivieren.
- Suchen Sie nach dem schreibberechtigten Google Cloud-Dienstkontoschlüssel (eine JSON-Datei), den Sie im Abschnitt Dienstkonten und Anmeldedaten erstellen heruntergeladen haben. Das Dienstkonto hat die Rolle Apigee-Organisationsadministrator und den Namen "apigee-org-admin". Wenn Sie dieses Dienstkonto nicht zuvor erstellt haben, müssen Sie dies tun, bevor Sie fortfahren.
- Generieren Sie mithilfe des Apigee-Org Admin-Dienstkontos ein OAuth 2.0-Zugriffstoken.
Dieses Token wird zur Authentifizierung der Apigee APIs benötigt.
Verwenden Sie gcloud, um ein OAuth 2.0-Zugriffstoken abzurufen, und übergeben Sie die JSON-Datei mit den Anmeldedaten des Dienstkontos, die Sie mit der Umgebungsvariablen
GOOGLE_APPLICATION_CREDENTIALS
heruntergeladen haben:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
gcloud auth application-default print-access-token
Ein OAuth2.0-Token wird zurückgegeben.
Weitere Informationen finden Sie unter gcloud beta auth application-default print-access-token.
- Kopieren Sie das zurückgegebene OAuth 2.0-Token und speichern Sie es in einer Variablen wie
TOKEN
. Beispiel:export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
- Rufen Sie die setSyncAuthorization API auf, um die erforderlichen Berechtigungen für Synchronizer zu aktivieren:
Kein Datenstandort
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"]}'
Wobei:
YOUR_ORG_NAME
ist der Name der Hybridorganisation.SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME
ist der Name eines Dienstkontos mit der Rolle Apigee Synchronizer Manager. Der Name sieht wie eine E-Mail-Adresse aus. Beispiel:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
Beispiel:
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"]}'
Datenstandort
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"]}'
Wobei:
YOUR_ORG_NAME
ist der Name der Hybridorganisation.CONTROL_PLANE_LOCATION
: Der Speicherort für die Daten der Steuerungsebene, wenn die Hybridinstallation den Datenstandort verwendet. Dies ist der Ort, an dem wichtige Kundeninhalte wie Proxy-Bundles gespeichert werden. Eine Liste finden Sie unter Verfügbare Regionen der Apigee API-Steuerungsebene.SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME
ist der Name eines Dienstkontos mit der Rolle Apigee Synchronizer Manager. Der Name sieht wie eine E-Mail-Adresse aus. Beispiel:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
Beispiel:
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"]}'
Weitere Informationen zu dieser API finden Sie unter setSyncAuthorization API.
- Rufen Sie die folgende API auf, um eine Liste der Dienstkonten abzurufen. So können Sie prüfen, ob das Dienstkonto entsprechend festgelegt wurde:
Kein Datenstandort
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \ -d ''
Datenstandort
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 ''
Die Ausgabe sieht dann ungefähr so aus:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }