Esta seção descreve o sincronizador.
Visão geral do Synchronizer
Na Apigee híbrida, 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 ao Synchronizer permissão para extrair artefatos da Apigee, como recursos e pacotes 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.
- Verifique se você ativou a API Apigee conforme explicado nas etapas de configuração do Google Cloud. Para ver detalhes, consulte Ativar APIs.
- Localize a chave da conta de serviço do Google Cloud ativada para gravação (um arquivo JSON) de que fez o download como parte de Criar contas de serviço e credenciais. 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.
- Use a chave da conta de serviço de admin. da organização da Apigee para gerar um token de acesso do OAuth 2.0.
Esse token é necessário para autenticar as
APIs da Apigee.
Use o gcloud para receber um token de acesso do OAuth 2.0, passando o arquivo JSON das credenciais da conta de serviço que você salvou usando a variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
gcloud auth application-default print-access-token
Um token OAuth2.0 é retornado.
Para mais informações, consulte token de acesso de impressão padrão de aplicativo de autenticação gcloud beta.
- Copie o token OAuth 2.0 retornado e armazene-o em uma variável, como
TOKEN
. Exemplo:export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
- Chame a API setSyncAuthorization a fim de
ativar as permissões necessárias para o sincronizador:
Sem residência de dados
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"]}'
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 $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"]}'
Residência dos dados
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"]}'
Em que:
YOUR_ORG_NAME
: o nome da organização híbrida.CONTROL_PLANE_LOCATION
: o local dos dados do plano de controle caso a instalação híbrida use residência de dados. Esse é o local onde o conteúdo principal do cliente, como pacotes de proxy, é armazenado. Para uma lista, consulte Regiões disponíveis do plano de controle da API Apigee.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 $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"]}'
Para mais informações sobre essa API, consulte API setSyncAuthorization.
- Para verificar se a conta de serviço foi definida, chame a seguinte API para receber uma lista de contas de serviço:
Sem residência de dados
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \ -d ''
Residência dos dados
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 ''
A resposta será semelhante a:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }