Synchronizer konfigurieren

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.

  1. Prüfen Sie, ob die Apigee API wie in den Google Cloud-Einrichtungsschritten beschrieben aktiviert wurde. Weitere Informationen finden Sie unter APIs aktivieren.
  2. 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.
  3. 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.

  4. Kopieren Sie das zurückgegebene OAuth 2.0-Token und speichern Sie es in einer Variablen wie TOKEN. Beispiel:
    export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
  5. 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"]}'
    

    Dabei gilt:

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

    Dabei gilt:

    • YOUR_ORG_NAME ist der Name der Hybridorganisation.
    • CONTROL_PLANE_LOCATION: Der Speicherort Ihrer Steuerungsebenendaten, wenn in Ihrer Hybridinstallation die Speicherorte von Daten verwendet werden. Hier werden wichtige Kundeninhalte wie Proxy-Bundles gespeichert. 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.

  6. 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="
    }