- v1.15 (última)
- v1.14
- v1.13
- Lista de versiones admitidas
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8
- v1.7
- Versión 1.6
- v1.5
- Versión 1.4
- Versión 1.3
- v1.2
- v1.1
Versiones compatibles:
Versiones no compatibles:
En esta sección se describe cómo usar Apigee Connect (beta) para la comunicación entre el plano de gestión híbrido y el servicio MART en el plano de tiempo de ejecución.
Introducción
Apigee Connect permite que el plano de gestión de Apigee hybrid se conecte de forma segura al servicio MART del plano de entorno de ejecución sin que tengas que exponer el endpoint de MART en Internet. Si usas Apigee Connect, no tienes que configurar la pasarela de entrada de MART con un alias de host y un certificado DNS autorizado.
Requisitos previos
Debes instalar y configurar Apigee Hybrid versión 1.2.0 o posterior antes de configurar Apigee Connect.
- Si es la primera vez que instalas Apigee Hybrid, sigue las instrucciones de instalación de la documentación de Apigee Hybrid.
- Si actualmente usas la versión 1.1.x de Apigee hybrid, debes actualizar tu instalación a la versión 1.2.0 antes de continuar. Para ver los pasos de la actualización, consulta Actualizar la versión de Apigee Hybrid.
Añadir Apigee Connect al entorno de ejecución híbrido
En esta sección se da por hecho que has instalado o actualizado a Apigee hybrid 1.2.0 o una versión posterior y que lo has configurado.
Cuando Apigee Connect está configurado y habilitado, se ignora el ingreso de MART: el plano de gestión solo se conecta a MART mediante Apigee Connect. Todo el tráfico de MART entre el plano del entorno de ejecución híbrido pasa por la conexión segura de Apigee Connect.
Sigue estos pasos para habilitar y usar Apigee Connect con Apigee hybrid:
- Habilita la API Apigee Connect en la
biblioteca de APIs de Google Cloud. Puedes habilitar la API en la
consola de Google Cloud (GCP) o con
gcloud
. Para obtener instrucciones sobre cómo habilitar APIs en la consola de Google Cloud, consulta el paso 3: Habilita las APIs. Para usargcloud
y habilitar la API, sigue estos pasos:
$ gcloud config set project YOUR_GCP_PROJECT_ID $ gcloud services enable apigeeconnect.googleapis.com
DondeYOUR_GCP_PROJECT_ID
es el mismo proyecto de GCP en el que se habilitó Apigee y se aprovisionó una organización de Apigee. - Añade el rol Agente de conexión de Apigee a la cuenta de servicio de MART que has creado
en el
paso Crear cuentas de servicio de las instrucciones de instalación de Apigee hybrid:
$ gcloud projects add-iam-policy-binding YOUR_GCP_PROJECT_ID --member serviceAccount:YOUR_MART_SERVICE_ACCOUNT_EMAIL --role roles/apigeeconnect.Agent
DondeYOUR_GCP_PROJECT_ID
es el mismo proyecto de GCP en el que se habilitó Apigee y se te proporcionó una organización de Apigee, yYOUR_MART_SERVICE_ACCOUNT_EMAIL
es el nombre de la cuenta de servicio de MART. El nombre tiene el formato de una dirección de correo electrónico. Por ejemplo:apigee-mart@my-project.iam.gserviceaccount.com
.
El rol Agente de conexión de Apigee está predefinido y tiene asignado el siguiente permiso:
Permiso Descripción apigeeconnect.endpoints.connect
Este es el permiso para configurar el agente de conexión de Apigee. Para obtener información sobre cómo asignar permisos de acceso a través de la consola de GCP o de las APIs, consulta los siguientes artículos:
- Asegúrate de que el archivo de clave de la cuenta de servicio de MART esté en el directorio
hybrid_files/service_accounts
, tal como se explica en Crear cuentas de servicio. - Abre el archivo de anulaciones y añade las siguientes estrofas. Para completar la configuración, debes proporcionar la ruta a la clave de la cuenta de servicio descargada. La clave debe ser de una cuenta de servicio con el rol Agente de conexión de Apigee .
# Apigee Connect Agent connectAgent: enabled: true serviceAccountPath: ./service-accounts/connect_agent_sa_key.json
Añada la estrofa en el encabezado k8sCluster. Por ejemplo:
k8sCluster: name: your_cluster_name region: your_cluster_region # Apigee Connect Agent connectAgent: enabled: true serviceAccountPath: ./service-accounts/connect_agent_sa_key.json
# Apigee Connect Agent connectAgent: enabled: true replicaCountMin: 3 serviceAccountPath: ./service-accounts/connect_agent_sa_key.json
- Busca la clave de la cuenta de servicio con el rol Administrador de la organización de Apigee que descargaste cuando instalaste Apigee hybrid por primera vez, tal como se describe en la sección Habilitar el acceso del sincronizador. Necesitas esta clave para generar un token que se requiere para hacer una llamada a la API, tal como se explica más abajo.
- Ejecuta estos dos comandos para obtener un token:
$ export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file $ export TOKEN=$(gcloud auth application-default print-access-token)
Donde org-admin-service-account-file es la ruta de tu sistema a la clave de la cuenta de servicio que descargaste con el rol Administrador de la organización de Apigee. - Llama a la siguiente API de Apigee para habilitar Apigee Connect en tu organización:
curl -v -X PUT \ https://apigee.googleapis.com/v1/organizations/your_org_name \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ -d '{ "name" : "your_org_name", "properties" : { "property" : [ { "name" : "features.hybrid.enabled", "value" : "true" }, { "name" : "features.mart.connect.enabled", "value" : "true" } ] } }'
- Inicia el agente de conexión de Apigee en el clúster:
$ $APIGEECTL_HOME/apigeectl apply -f your_overrides_file.yaml -c connect-agent
- Consulta el registro del agente de conexión de Apigee. Si no se ha detectado ningún error, la actualización se ha completado correctamente:
$ kubectl logs -n namespace apigee-connect-agent-pod-name
El agente de Apigee Connect registra las siguientes categorías de registros:
Categoría de registros de auditoría Operaciones DATA_READ ConnectionService.ListConnections
DATA_WRITE Tether.Egress
- Prueba la instalación.
mart: hostAlias: "mart.apigee-hybrid-docs.net" serviceAccountPath: ./service-accounts/example-project-apigee-mart.json sslCertPath: ./certs/fullchain.pem sslKeyPath: ./certs/privkey.key
Con esta actualización, el plano de entorno de ejecución híbrido se comunica con el plano de gestión a través de Apigee Connect.
Consulta también Eliminar Apigee Connect.
Probar la instalación
- Abre la interfaz de usuario de Apigee hybrid.
- Verifica que los desarrolladores y las aplicaciones de desarrollador que hayas creado anteriormente estén presentes en la interfaz de usuario. Como estas entidades se consultan desde el servidor MART, solo estarán presentes si la comunicación entre los planos de gestión y de tiempo de ejecución está configurada correctamente.
- Para asegurarte de que las solicitudes se envían a través de Apigee Connect y no a través del ingreso de MART, consulta el registro del servidor de MART. Deberías ver entradas del agente de conexión de Apigee llamado
apigee-connect-agent-1.0
:
$ kubectl logs -n apigee apigee-mart-orgname-rc101-q72tl -c apigee-mart | grep connect
Por ejemplo:
"2019-12-11 04:59:52,321 org: env: target: action: context-id: mode: pool-1-thread-1 INFO MART_AUDITLOG - MartAuditListener.eventOccurred() : Type:Audit edge-gaambo-controlplane@system.gserviceaccount.com 1576040392317 /v1/organizations/apigee-connect-hybrid-prod/developers/ count=100&expand=true&startKey=4ee9e8f7-12b2-4cde-bf10-32d991469876 200 GET apigee-connect-hybrid-prod 10.40.11.3 10.40.0.5 apigee-connect-agent-1.0 null"
- En la interfaz de usuario híbrida, crea un producto de API, un desarrollador y una aplicación de desarrollador. A continuación, consulta el registro de servicio de MART para asegurarte de que las entradas de registro confirmen que las entidades se han enviado al plano de tiempo de ejecución. Por ejemplo, la siguiente entrada de registro muestra que se ha recibido el producto de API llamado
foo-product
:
$ kubectl logs -n apigee apigee-mart-orgname-rc101-q72tl -c apigee-mart
2019-12-16 22:15:29,572 org: env: target: action: context-id: mode: pool-1-thread-1 INFO MART_AUDITLOG - MartAuditListener.eventOccurred() : Type:Audit edge-gaambo-controlplane@system.gserviceaccount.com 1576534529566 /v1/organizations/myorg/apiproducts/foo-product/ -NA- 201 CREATE myorg 10.16.1.61 10.16.1.64 apigee-connect-agent-1.0 null 2019-12-16 22:15:30,412 org: env: target: action: context-id: mode: pool-1-thread-1 INFO MART_AUDITLOG - MartAuditListener.eventOccurred() : Type:Audit edge-gaambo-controlplane@system.gserviceaccount.com 1576534530407 /v1/organizations/myorg/apps/ apiProduct=foo-product&expand=false 200 GET myorg 10.16.1.61 10.16.1.64 apigee-connect-agent-1.0 null
- Prueba a crear y desplegar un nuevo proxy, tal como se explica en Crear y desplegar un proxy.
- Para configurar el proxy con la verificación de claves de API, sigue los pasos que se indican en el artículo Proteger un proxy de APIs con claves de API. El tiempo de ejecución obtiene los datos necesarios para validar una clave de API del plano de gestión a través de Apigee Connect. Por lo tanto, si la verificación de la clave de API funciona, sabrás que Apigee Connect funciona correctamente. También puede consultar los registros de Apigee Connect para ver un informe de las transferencias de datos.
Quitar Apigee Connect
Si eliminas la implementación de Apigee Connect, el estado del pod puede permanecer en el estado "Terminating" (Finalizando) durante un máximo de siete minutos. Este tiempo es el esperado. Los agentes de Apigee Connect esperan a que caduquen las conexiones existentes en lugar de detenerlas de repente. El retraso asegura que no se pierdan las solicitudes en curso.