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 artigo 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 artigo Crie contas de serviço e credenciais. 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. Use a chave da conta de serviço de administrador organizacional do Apigee para gerar um token de acesso OAuth 2.0. Este token é necessário para autenticar as APIs Apigee.

    gcloud

    Use o gcloud para obter um token de acesso do OAuth 2.0, transmitindo o ficheiro JSON das credenciais da conta de serviço que transferiu através da variável de ambiente GOOGLE_APPLICATION_CREDENTIALS:

    export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
    gcloud auth application-default print-access-token

    É devolvido um token OAuth2.0.

    Para mais informações, consulte o artigo gcloud beta auth application-default print-access-token.

  4. Copie o token OAuth 2.0 devolvido e armazene-o numa variável, como TOKEN. Por exemplo:
    export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
  5. Chame a API setSyncAuthorization para ativar as autorizações necessárias para o sincronizador:
    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"]}'
    

    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 $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 setSyncAuthorization.

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