Configurer le synchronisateur

Cette section décrit le synchronisateur.

Présentation du synchronisateur

Dans Apigee hybrid, la tâche principale du synchronisateur consiste à interroger et à télécharger les contrats d'exécution fournis par le plan de gestion. Les informations communiquées dans les contrats incluent les proxys d'API, les produits d'API, les caches et les hôtes virtuels.

Les instances de synchronisateur exécutées dans le plan d'exécution doivent interroger régulièrement le plan de gestion, télécharger les contrats et les mettre à la disposition des instances d'exécution locales.

Un synchronisateur est compatible avec de nombreux processeurs de messages déployés dans le même pod.

Activer l'accès au synchronisateur

Vous devez accorder l'autorisation Synchronisateur pour extraire des artefacts Apigee, tels que des groupes de proxys et des ressources à partir du plan de gestion. Vous devez appeler une API Apigee pour autoriser le synchronisateur à extraire les artefacts à partir du plan de gestion vers le plan d'exécution.

  1. Assurez-vous d'avoir activé l'API Apigee, comme expliqué dans les étapes de configuration de GCP. Pour en savoir plus, consultez Étape 3 : Activer les API.
  2. Recherchez la clé de compte de service GCP activée en écriture (un fichier JSON) que vous avez téléchargée lors de la création de comptes de service. Le compte de service dispose du rôle Administrateur de l'organisation Apigee, dénommé "apigee-org-admin". Si vous n'avez pas encore créé ce compte de service, vous devez le faire avant de continuer.
  3. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS sur le chemin d'accès à la clé de compte de service :

    export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
  4. Appelez l'API setSyncAuthorization afin d'activer les autorisations requises pour le synchronisateur :
    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:setSyncAuthorization" \
       -d '{"identities":["serviceAccount:synchronizer-manager-service-account-name"]}'
    

    Où :

    • your_org_name : nom de l'organisation hybride.
    • synchronizer-manager-service-account-name : nom d'un compte de service disposant du rôle Gestionnaire de synchronisateur Apigee. Le nom se présente sous la forme d'une adresse e-mail. Par exemple, my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com.

    Exemple :

    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-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"]}'
    

    Pour en savoir plus sur cette API, consultez la section API SyncAuthorization.

  5. Pour vérifier que le compte de service a été défini, appelez l'API suivante pour obtenir la liste des comptes de service :
    curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type:application/json" \
      "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \
       -d ''

    La sortie ressemble à ceci :

    {
       "identities":[
          "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com"
       ],
       "etag":"BwWJgyS8I4w="
    }