En esta sección, se describe el sincronizador.
Descripción general del sincronizador
En Apigee Hybrid, el trabajo principal del sincronizador es consultar y descargar los contratos del entorno de ejecución que proporciona el plano de administración. La información que se comunica por contrato incluye proxies de API, productos de API, cachés y hosts virtuales. El sincronizador almacena de forma predeterminada los datos de configuración del entorno en la base de datos de Cassandra.
Se espera que las instancias de sincronización que se ejecutan en el plano del entorno de ejecución sondeen el plano de administración de forma periódica, descarguen los contratos y los pongan a disposición de las instancias de entorno de ejecución locales.
Un sincronizador puede admitir muchos procesadores de mensajes implementados en el mismo pod.
Habilita el acceso del sincronizador
Debes otorgar el permiso Sincronizador para extraer artefactos de Apigee, como paquetes de proxy y recursos del plano de administración. Debes llamar a una API de Apigee a fin de autorizar que el sincronizador extraiga artefactos del plano de administración al plano del entorno de ejecución.
- Asegúrate de que habilitaste la API de Apigee como se explica en los pasos de configuración de Google Cloud. Para obtener más detalles, consulta cómo habilitar las APIs.
- Busca la clave de la cuenta de servicio de Google Cloud habilitada para la escritura (un archivo JSON) que descargaste como parte de Crea cuentas de servicio y credenciales. La cuenta de servicio tiene la función de Administrador de la organización de Apigee y se llama “apigee-org-admin”. Si no creaste esta cuenta de servicio antes, debes hacerlo antes de continuar.
- Usa la clave de cuenta de servicio del administrador de la organización de Apigee para generar un token de acceso de OAuth 2.0.
Este token es obligatorio para autenticar las APIs de Apigee.
Usa gcloud para obtener un token de acceso de OAuth 2.0 y pasa el archivo JSON de credenciales de la cuenta de servicio que descargaste mediante la variable de entorno
GOOGLE_APPLICATION_CREDENTIALS
:export GOOGLE_APPLICATION_CREDENTIALS=your_sa_credentials_file.json
gcloud auth application-default print-access-token
Se muestra un token OAuth2.0.
Para obtener más información, consulta gcloud beta auth application-default print-access-token.
- Copia el token de OAuth 2.0 que se muestra y almacénalo en una variable, como
TOKEN
. Por ejemplo:export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
- Llama a la API de setSyncAuthorization para habilitar los permisos requeridos por el sincronizador:
Sin residencia de datos
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"]}'
Donde:
YOUR_ORG_NAME
: Es el nombre de la organización híbrida.SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME
: Es el nombre de una cuenta de servicio con la función de Apigee Synchronizer Manager. El nombre se forma como una dirección de correo electrónico. Por ejemplo:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
Ejemplo:
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"]}'
Residencia de los datos
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"]}'
Donde:
YOUR_ORG_NAME
: Es el nombre de la organización híbrida.CONTROL_PLANE_LOCATION
: la ubicación de los datos del plano de control si la instalación híbrida usa la residencia de datos. Esta es la ubicación donde se almacena el contenido principal del cliente, como los paquetes de proxy. Para obtener una lista, consulta Regiones del plano de control de la API de Apigee disponibles.SYNCHRONIZER_MANAGER_SERVICE_ACCOUNT_NAME
: Es el nombre de una cuenta de servicio con la función de Apigee Synchronizer Manager. El nombre se forma como una dirección de correo electrónico. Por ejemplo:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com
Ejemplo:
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 obtener más información sobre esta API, consulta API de setSyncAuthorization.
- Para verificar que se configuró la cuenta de servicio, llama a la siguiente API para obtener una lista de cuentas de
servicio:
Sin residencia de datos
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type:application/json" \ "https://apigee.googleapis.com/v1/organizations/your_org_name:getSyncAuthorization" \ -d ''
Residencia de los datos
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 ''
El resultado es similar al siguiente:
{ "identities":[ "serviceAccount:my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com" ], "etag":"BwWJgyS8I4w=" }