Configure o sincronizador

Esta secção descreve o sincronizador.

Vista geral do sincronizador

No Apigee hybrid, a principal tarefa do sincronizador é sondar e transferir os contratos de tempo de execução fornecidos pelo plano de gestão. As informações comunicadas por contrato incluem proxies de API, produtos de API, caches e anfitriões virtuais. Por predefinição, o sincronizador armazena os dados de configuração do ambiente na base de dados Cassandra.

Espera-se que as instâncias do sincronizador em execução no plano de tempo de execução sondem o plano de gestão regularmente, transfiram os contratos e os disponibilizem às instâncias de tempo de execução locais.

Um sincronizador pode suportar muitos processadores de mensagens implementados no mesmo pod.

Ative o acesso do sincronizador

Tem de conceder a autorização Synchronizer para transferir artefactos do Apigee, como pacotes de proxy e recursos do plano de gestão. Tem de chamar uma API Apigee para autorizar o sincronizador a transferir artefactos do plano de gestão para o plano de tempo de execução.

  1. Certifique-se de que ativou a API Apigee, conforme explicado nos passos de configuração do Google Cloud. Para obter detalhes, consulte o Passo 3: ative as APIs.
  2. Localize a chave da conta de serviço da Google Cloud com acesso de escrita (um ficheiro JSON) que transferiu como parte do processo de criação de contas de serviço. A conta de serviço tem a função Apigee Org Admin e é a denominada "apigee-org-admin". Se não criou anteriormente esta conta de serviço, tem de o fazer antes de continuar.
  3. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS para o caminho onde se encontra a chave da conta de serviço:

    export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
  4. Chame a API setSyncAuthorization para ativar as autorizações necessárias para o sincronizador:
    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"]}'
    

    Onde:

    • your_org_name: o nome da organização híbrida.
    • synchronizer-manager-service-account-name: o nome de uma conta de serviço com a função Apigee Synchronizer Manager. O nome é formado como um endereço de email. Por exemplo: my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com

    Exemplo:

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

    Para mais informações sobre esta API, consulte a API SyncAuthorization.

  5. Para verificar se a conta de serviço foi definida, chame a seguinte API para obter uma lista de contas de serviço:
    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 ''

    O resultado tem um aspeto semelhante ao seguinte:

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