Configurar o Synchronizer

Esta seção descreve o sincronizador.

Visão geral do Synchronizer

No híbrido da Apigee, a tarefa principal do Synchronizer é pesquisar e fazer o download dos contratos de ambiente de execução fornecidos pelo plano de gerenciamento. As informações comunicadas por contrato incluem proxies de API produtos de API, caches e hosts virtuais. O sincronizador por padrão armazena dados de configuração do ambiente no banco de dados do Cassandra.

Espera-se que as instâncias do Synchronizer em execução no plano de ambiente de execução pesquise o plano de gerenciamento regularmente, faça o download dos contratos e disponibilize o mesmo para instâncias de ambiente de execução local.

Um Synchronizer pode aceitar vários processadores de mensagens implantados no mesmo pod.

Ativar acesso do Synchronizer

É preciso conceder a permissão Synchronizer para extrair artefatos da Apigee, como pacotes e recursos de proxy do plano de gerenciamento. Você precisa chamar uma API Apigee para autorizar o sincronizador a extrair artefatos do plano de gerenciamento para o plano de ambiente de execução.

  1. Verifique se você ativou a API Apigee, conforme explicado nas etapas de configuração do GCP. Veja mais detalhes em Etapa 3: ativar APIs.
  2. Localize a chave da conta de serviço do GCP ativada para gravação (um arquivo JSON) que foi salvo como parte de Criar contas de serviço. A conta de serviço tem o papel Administrador da organização Apigee e é denominada "apigee-org-admin". Se você não criou essa conta de serviço anteriormente, faça isso antes de continuar.
  3. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS para o caminho onde a chave da conta de serviço está localizada:

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

    Em que:

    • your_org_name: o nome da organização híbrida.
    • synchronizer-manager-service-account-name: o nome de uma conta de serviço com o papel Gerenciador de Synchronizer da Apigee. O nome tem o formato de endereço de e-mail. 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 essa API, consulte API SyncAuthorization .

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

    A resposta será semelhante a:

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