Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
Cómo comenzar
- ¿Cómo instalo Edge Microgateway?
- Consulta Instalación Edge Microgateway.
- ¿Cómo ejecuto Edge Microgateway?
- Ver Configura Edge Microgateway.
- ¿Necesito una base de datos para ejecutar ¿Microgateway?
- Las APIs que se envían con proxy a través de Edge Microgateway pueden interactuar con una base de datos que se ejecuta como parte de un destino servicio. Sin embargo, Edge Microgateway funciona de manera independiente de cualquier base de datos o datos de backend en una tienda física.
Operación
- Qué cambia en Edge reiniciar Edge Microgateway?
- Edge Microgateway sondea automáticamente para detectar cambios realizados en Apigee Edge, como modificaciones
proxies, productos o desarrolladores con reconocimiento de micropuertas de enlace
de Google Chat. El intervalo de sondeo predeterminado es de 600 segundos; Sin embargo, puedes cambiar el intervalo con el
Parámetro de configuración de
config_change_poll_interval
. Consulta atributos de Edgemicro - Si no quieres esperar el intervalo de sondeo, usa
edgemicro reload
. para recoger los últimos cambios. Consulta Vuelve a cargar el clúster de microgateway. - ¿Cómo puedo diferenciar entre un proxy implementado en Edge y uno en Edge Microgateway?
- Cuando configuras Edge Microgateway, se genera una lista de proxies con reconocimiento de micropuertas de enlace implementados en Apigee
Edge se descarga en la configuración local de Edge Microgateway. Proxies compatibles con Microgateway
son aquellos llamados con el prefijo
edgemicro_
. - ¿Cuáles son mis opciones para el registro con Edge Microgateway?
- Edge Microgateway tiene una función de registro integrada. Para obtener detalles, consulta Administra archivos de registro.
- También puedes escribir a complemento personalizado para usar un servicio de registro de terceros con Edge Microgateway. Por el modo Edge Microgateway funciona, no puedes usar Apigee Edge Política de registro de mensajes para registrar mensajes de Edge Microgateway. Consulta también la Artículo de la comunidad sobre el complemento de Logging para Microgateway.
- ¿Puedo reutilizar combinaciones de clave/secreto entre instancias de Edge Microgateway?
- Siempre que la organización y el entorno sean los mismos para las instancias de Microgateway, puedes reutilizar el par clave-secreto que se genera durante la configuración.
- ¿Cómo configuro Edge Microgateway para que se inicie en un entorno de producción?
- Puedes establecer las variables de entorno para los parámetros del comando de inicio, como
EDGEMICRO_KEY
,EDGEMICRO_SECRET
,EDGEMICRO_ORG
yEDGEMICRO_ENV
. Con estas y otras variables puedes empezar Edge Microgateway con el único comandoedgemicro start
. Consulta también Configura variables de entorno. - ¿Puedo usar atributos personalizados de apps de desarrollador o de productos con Edge Microgateway?
- No. De forma predeterminada, Edge Microgateway solo actúa sobre los atributos relacionados con el enrutamiento básico y
seguridad. Sin embargo, como soluciones alternativas, tienes las siguientes opciones posibles:
-
Agrega atributos personalizados al proxy
edgemicro-auth
que Edge Microgateway implementa en Apigee Edge. Estos atributos estarán disponibles cuando se use la clave de API o la seguridad con token de OAuth. - Modifica el complemento de OAuth para actuar sobre esos atributos.
-
Agrega atributos personalizados al proxy
- ¿Hay un límite para el tamaño del encabezado de la solicitud?
- Si actualizas Node.js a la v8.14.0 o una versión posterior, ten en cuenta que el tamaño máximo del encabezado permitido en las solicitudes se redujo de 80 KB a 8 KB. Los encabezados que superan los 8 KB generan un error HTTP 431.
- Una opción de configuración de Node.js que se agregó en la versión 11.6.0 de Node.js te permite cambiar el valor máximo predeterminado
tamaño del encabezado. Este parámetro,
--max-http-header-size
, te permite especificar el tamaño máximo (expresado en bytes) de los encabezados HTTP. - Para cambiar la configuración predeterminada, establece el valor del entorno
NODE_OPTIONS
. variable en la línea de comandos de la siguiente manera:NODE_OPTIONS=--max-http-header-size=NUM_BYTES
Por ejemplo:
NODE_OPTIONS=--max-http-header-size=80000
¿Qué APIs de administración usa Edge Microgateway?
Los siguientes comandos de Edge Microgateway llaman a las APIs de administración de Apigee Edge para realizar su trabajo: como se describe en Referencia de la CLI para Edge Microgateway:
edgemicro configure
edgemicro upgradeauth
edgemicro upgradekvm
edgemicro rotatekey
edgemicro cert check
edgemicro cert delete
edgemicro cert install
En las siguientes secciones, se enumeran las llamadas a la API de Management que usa cada comando.
Los comandos edgemicro configure
y upgradeauth
llaman a
las siguientes APIs de administración:
- (enumerar implementaciones)
GET: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/deployments
- (obtén información de implementación)
GET: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=java&name=micro-gateway-products-javacallout-2.0.0.jar
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=adjust-quota.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=generate-jwk.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=generate-verify-jwt.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=jsrsasign-all-min.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=jwt-initialization.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=send-jwk-response.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=send-product-list.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=send-public-key.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=set-jwt-variables.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=set-quota-variables.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=set-response.js
- (subir recursos)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/resources?type=jsc&name=validate-params.js
- (crear proxy de API)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis?action=import&validate=false&name=edgemicro-auth
- (políticas de carga)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/policies
- (cargar proxies)
POST: https://api.enterprise.apigee.com/v1/o/[org]/apis/edgemicro-auth/revisions/1/proxies?name=default
- (implementar proxy)
POST: https://api.enterprise.apigee.com/v1/o/[org]/e/[env]/apis/edgemicro-auth/revisions/1/deployments
El comando upgradekvm
llama a la siguiente API de Management:
PUT: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway
El comando rotatekey
llama a la siguiente API de Management:
GET: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway/entries/private_key
El comando cert check
llama a la siguiente API de Management:
GET: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway
El comando cert delete
llama a la siguiente API de Management:
DELETE: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps/microgateway
El comando cert install
llama a la siguiente API de Management:
POST: https://api.enterprise.apigee.com/v1/organizations/[org]/environments/[env]/keyvaluemaps
Implementación
- ¿Puedo implementar ¿Edge Microgateway en el mismo servidor en el que se ejecuta mi servicio de destino?
- Sí. Edge Microgateway es un proceso básico que puede ejecutarse cerca del servicio de destino, incluso en la misma máquina.
- ¿Puedo implementar un paquete de proxy de Edge existente como una implementación de Edge Microgateway?
- No. Los proxies que reconocen las Microgateway de Edge tienen requisitos específicos y no son compatibles con todas las funciones de proxies de Edge regulares. Consulta la parte 2: Crea entidades en Apigee Edge.
- ¿Puedo habilitar la conmutación por error entre un paquete de proxy perimetral? Deployment y la implementación de Edge Microgateway en el mismo proxy de API?
- No. Edge Microgateway no conoce las implementaciones de proxy de API que no sean microgateway en Apigee Edge.
- ¿Cuál es el modelo de implementación de alta disponibilidad para Edge Microgateway?
- Para ver un buen análisis sobre cómo ejecutar Edge Microgateway con NGINX como balanceador de cargas, consulta Administra APIs con Apigee Edge Microgateway y NGINX.
- ¿Qué balanceadores de cargas puedo usar con Edge Microgateway?
- Edge Microgateway puede funcionar con cualquier balanceador de cargas.
- ¿Existe un límite para la cantidad de proxies de Edge Microgateway que puedo implementar?
- Consulta los límites de configuración del producto especificados para proxies de Edge regulares. La cantidad de proxies que reconocen micropuertas de enlace que puedes implementar en Apigee Edge organización y entorno, y llamar a través de Edge Microgateway deben cumplir con esos mismos límites.
- ¿Puedo asociar mi implementación de Edge Microgateway a una organización y un entorno específicos?
- Cuando configuras una instancia de Edge Microgateway, debes asociarla a un Organización y entorno perimetrales.
- ¿Puedo asociar mi implementación de Edge Microgateway a una región específica (si soy un cliente multirregional)?
- Edge Microgateway elige automáticamente la mejor región para su interacción con Apigee Edge. Puedes implementar instancias de Edge Microgateway en cada región a la que quieras entregar el servicio.
Administración
- ¿Necesito ser administrador de la organización para configurar y, luego, implementar Edge Microgateway?
- Sí. Debes tener credenciales de administrador de la organización para configurar y, luego, implementar Edge Microgateway.
- ¿Debo ser administrador de la organización para ejecutar Edge Microgateway?
- No. Edge Microgateway es una aplicación de
Node.js
y la puede ejecutar cualquier persona que tenga permiso para ejecutar esas aplicaciones en una máquina determinada. - ¿Cualquiera de los miembros de mi organización usuarios a usar Edge Microgateway?
- No es necesario ser usuario de la organización de Apigee Edge para realizar llamadas a la API a través de Edge Microgateway Sin embargo, debes tener permisos a nivel de la organización para crear o cambiar Edge Microgateway. que se implementan en Edge.
Rendimiento
- ¿Cuáles son las consideraciones de rendimiento para usar Edge Microgateway?
- Si se ejecuta Edge Microgateway junto a la aplicación de destino, asegúrate de que el servidor y que tenga capacidad suficiente.
- ¿Cuáles son las prácticas recomendadas para ejecutar Edge Microgateway a gran escala?
- Apigee recomienda ejecutar varias instancias de Edge Microgateway en diferentes servidores con un frente por balanceadores de cargas como NGINX. Consulta también Administra APIs con Apigee Edge Microgateway y NGINX y Escalamiento horizontal vertical en la comunidad de Apigee.
- ¿Cuáles son los TPS de Edge Microgateway de forma predeterminada y cuáles son los requisitos de hardware necesarios para una Instancia de Microgateway
- Los requisitos de hardware y las mediciones de TPS son difíciles de medir con Edge Microgateway. Depende en la configuración, que es una combinación de ajuste de Edge Microgateway, uso de complementos, complementos personalizados y configurar otras funciones, como TLS. Por lo general, Apigee recomienda que tengas una idea de eso una combinación de elementos y hacer pruebas de rendimiento con tu configuración específica.
Implementación de nube privada
- Edge ¿Las micropuertas de enlace funcionan con Edge para la nube privada?
- Sí. Para obtener detalles, consulta Pasos de configuración de Apigee Private Cloud.
Complementos
- Cómo se aplica la cuota en Edge ¿Microgateway?
- De manera opcional, puedes agregar un complemento de cuota a tu instancia de Edge Microgateway. Para obtener más información, consulta Uso de la cuota complemento.
- ¿Cómo funciona Spike Arrest con Edge Microgateway?
- De forma opcional, puedes agregar un complemento de protección contra aumentos de tráfico a tu instancia de Edge Microgateway. Para detalles, consulta Uso de los picos arrest.
- Son
¿Existen otras maneras de escribir complementos que no sean
Node.js
para Edge Microgateway? - No. Los complementos deben escribirse en
Node.js
. - ¿Qué sucede cuando Edge Microgateway no puede subir datos de Analytics a Edge?
- Edge Microgateway tiene un búfer en la memoria. Si el búfer se llena, se descartan las cargas útiles más antiguas para permitir que el tráfico de la API fluya sin problemas.
- ¿Puedo agregar políticas a Edge? ¿Microgateway?
- Si adjuntas políticas regulares de Apigee Edge a microgateway-aware
proxies en Apigee Edge, se ignoran. En su lugar, Edge Microgateway usa complementos para proporcionar
funcionalidades similares a las de Edge, como cuotas, protección contra aumentos de tráfico, seguridad de claves de API y
Seguridad OAuth2. También puedes escribir complementos personalizados. Consulta
Usar complementos y
Desarrolla complementos personalizados.
En las siguientes publicaciones y blogs de la comunidad de Apigee, se analizan casos de uso adicionales de complementos:
Seguridad
- ¿Cómo protejo el recurso
/products
? - Descripción general
- Cuando configuras Edge Microgateway,
se implementa un proxy de API llamado
edgemicro-auth
a tu organización:entorno en Apigee Edge. Este proxy expone un extremo/products
que muestra un de productos de API. Si instalaste Edge Microgateway el 5 de octubre de 2018 o antes, Apigee recomienda que tome medidas para proteger este extremo, ya que la respuesta contiene la dirección de correo electrónico del desarrollador que creó y modificó los productos de la API en tu instancia de Apigee organización. - Para proteger el extremo, actualiza Edge Microgateway o configura TLS mutua. Ambas opciones de estas opciones se describen a continuación.
- Verifica si el extremo
/products
está protegido -
Si no sabes con certeza si el extremo
/products
está protegido, ve a la sección. Verifica que el recurso/products
esté protegido y sigue los pasos allí. antes de continuar.Opción 1: Actualiza Edge Microgateway
Si instalaste Edge Microgateway el 5 de octubre de 2018 o antes, Apigee recomienda que actualices al con la última versión de Edge Microgateway. Sigue los pasos que se indican en Actualiza Edge Microgateway si tienes conexión a Internet.
Si no puedes hacer la actualización en este momento, ve a la opción 2.
Opción 2: Configurar TLS mutua
Si no puedes actualizar Edge Microgateway en este momento, Apigee recomienda que protejas el la comunicación entre Edge Microgateway y el proxy
edgemicro-auth
con TLS (también conocido como TLS bidireccional).- Abre el archivo
$HOME/.edgemicro/org-env-config.yaml
. Consulta ¿Dónde está instalado Edge Microgateway si no puedes encontrar este archivo. - Agrega el siguiente bloque
tlsOptions
a laorg-env-config.yaml
para habilitar la TLS mutua entre Edge Microgateway y Apigee Edge:edge_config: bootstrap: >- https://domain/edgemicro/bootstrap/organization/org/environment/env jwt_public_key: 'https://domain/edgemicro-auth/publicKey' managementUri: 'https://api.enterprise.apigee.com' tlsOptions: agentOptions: requestCert: true cert: 'path/to/cert' key: 'path/to/key'
Por ejemplo:
tlsOptions: agentOptions: requestCert: true cert: '/Users/jdoe/twowayssl/ssl/client.key' key: '/Users/jdoe/twowayssl/ssl/ca.crt'
También puedes incluir los siguientes parámetros opcionales de
agentOptions
:ca
: Especifica la ruta de acceso a la autoridad certificadora.pfx
: Inclúyelo si deseas usar un archivo p12/pfx en lugar de un certificado y una clave.passphrase
: Es la frase de contraseña para un archivo PFX.ciphers
: Especifica los algoritmos de cifrado TLS.
- Asegúrate de que el host virtual en el que se implementa el proxy
edgemicro-auth
tenga habilitada la TLS mutua. Si deseas obtener más información, consulta Define un host virtual para TLS bidireccional. en la documentación de Apigee Edge.En la siguiente captura de pantalla, se muestra cómo habilitar TLS mutua en un host virtual en la IU de Apigee Edge:
- Observa el proxy de API
edgemicro-auth
en la IU de Edge y asegúrate de que el el host virtual correcto se especifica en la configuración del proxy. Por ejemplo, si creaste una red con TLS habilitada host virtual llamadomutualtls
, la estrofaHTTPProxyConnection
del proxy debería verse de la siguiente manera:<HTTPProxyConnection> <BasePath>/edgemicro-auth</BasePath> <Properties/> <VirtualHost>mutualtls</VirtualHost> </HTTPProxyConnection>
- Abre el archivo
/products
esté protegido/products
recurso está protegido. Es importante que realices esta prueba después de completar los pasos
(Opción 1 u Opción 2) para proteger el recurso. Puedes hacerlo con cURL, por ejemplo:
curl -v https://your_domain/edgemicro-auth/products
/products
está protegido:
{ "error":"unauthorized", "error_description": "authentication failed" }
O
curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
Si ves una respuesta como esta, significa que el recurso /products
no está protegido.
y los correos electrónicos de los desarrolladores:
{ "apiProduct":[ { "apiResources":[ "/", "/**" ], "approvalType":"auto", "attributes":[ ], "createdAt":1537374680948, "createdBy":"jdoe@foo.com", "description":"", "displayName":"mock", "environments":[ "test" ], "lastModifiedAt":1537374680948, "lastModifiedBy":"test@test.com", "name":"mock", "proxies":[ "edgemicro-auth", "edgemicro_mock" ], "quota":"null", "quotaInterval":"null", "quotaTimeUnit":"null", "scopes":[ "" ] } ] }
Apigee también recomienda que pruebes el host virtual HTTP:
Por ejemplo:
curl -v http://your_domain/edgemicro-auth/products
Si la llamada cURL devuelve la lista de productos de API, entonces es posible que los correos electrónicos del desarrollador se
expuestos. Si no quieres exponer el extremo con este host virtual sin TLS, asegúrate de quitarlo de la
Configuración de HTTPProxyConnection edgemicro-auth
.
Para proteger el recurso, realiza una de las siguientes opciones:
Actualmente, no puedes renovar el token JWT para una instancia determinada de Edge Microgateway.
Solución alternativa:
Cada token JWT tiene un atributo exp que indica la fecha de vencimiento del token. Una app puede
calcular el tiempo de caducidad y solicitar un nuevo token realizando una llamada a la API directamente al
Extremo del token edgemicro-auth
. Por ejemplo, puedes realizar una llamada a la API como la siguiente:
POST https: //{your_org}-{your_env}.apigee.net/edgemicro-auth/token
... con un cuerpo JSON como el siguiente:
{ "client_id": {your_id}, "client_secret": {your_secret},
"grant_type": "client_credentials" }
Consulta lo siguiente:
- Seguridad la API con un token de OAuth o una clave de API en los documentos de Edge Microgateway.
- ¿Qué el proceso de renovación de los tokens del portador cuando vencen en la comunidad de Apigee.
Actualmente, solo se verifica la ruta base para determinar si una API está aprobada para productos de API. asociados con un token de OAuth en particular.
Por ejemplo:
- Crearás un proxy con el prefijo
edgemicro_
que incluya una ruta base y un destino. - Debes agregar este proxy a un producto. La llamaremos
edgemicro-prod1
. - Cuando se realiza una llamada a la API a través de Edge Microgateway con una clave de API o OAuth
token, Edge Microgateway comprueba si la ruta base de la API coincide con la ruta base de
Un proxy de
edgemicro_*
aprobado para la lista de productos aprobados para esa clave o token.
Consulta también Cuando se usa la puerta de enlace Edgemicro en los productos cuya URL necesita una lista blanca en los productos en recursos? en la comunidad de Apigee.
Solo el SSL predeterminado de Apigee cert. Los certificados SSL personalizados no son compatibles en este momento.
Soluciones alternativas:
Si quieres usar un certificado SSL personalizado (predeterminado que no es de Apigee), tienes las siguientes opciones:
-
Usa un extremo
jwt_public_key
que no sea SSL. Modificar la configuración de Edge Microgateway para usarhttp://{org}-{env}.apigee.net/edgemicro-auth/publicKey
, o bien: -
Antes de iniciar Edge Microgateway, configura esta variable de entorno: exportación
NODE_TLS_REJECT_UNAUTHORIZED ="0"
Consulta también Verificar los errores de instalación de Edge Micro en el certificado SSL en la comunidad de Apigee.
edgemicro-auth
en Edge,
requiere credenciales de administrador de la organización.Puedes usar tu propio token, pero primero debes desactivar la autorización integrada para Edge Microgateway Para ello, sigue estos pasos:
- Abre el archivo de configuración de Edge Microgateway.
-
Cambia las dos configuraciones de OAuth a "true" de la siguiente manera:
oauth: allowNoAuthorization: true allowInvalidAuthorization: true
edgemicro start -o [org] -e [env] -k [key] -s [secret]
Pruebas y depuración
- ¿Cómo Impedir que se abran demasiados archivos errores durante la prueba de carga?
-
En algunos casos, tu sistema puede llegar a una situación en la que hay demasiadas conexiones de archivos abiertas y esto puede provocar que Edge Micro falle. El registro predeterminado requiere dos conexiones HTTP para enviar y recibir transacciones entrantes y salientes con Microgateway.
Para realizar pruebas y comparativas, Apigee recomienda configurar el comando ulimit de tu sistema a ilimitado:
ulimit -n unlimited
. Consulta también Edge Error de Microgateway durante la prueba de carga en la comunidad de Apigee. - Sugerencias para hacerlo rápido desarrollo y depuración
-
Si estás desarrollando complementos para Edge Microgateway, tal vez descubras que admiten y el desarrollo es limitado.
Por ahora, estos son algunos consejos:
- Para iniciar Edge Microgateway, puedes establecer las variables de entorno EDGEMICRO_KEY y EDGEMICRO_SECRET con el par clave-secreto requerido por el comando de inicio de Microgateway. Esto te permite iniciar Edge Microgateway sin ingresar la clave o el secreto en el comando línea. Consulta también Configura variables de entorno en los documentos de Edge Microgateway.
-
Inicia Edge Microgateway en modo DEBUG para ver resultados adicionales en la terminal de comando:
DEBUG=* edgemicro start -o [org] -e [env] -k [key] -s [secret]
Comerciales y licencias
- ¿Cuál es la relación entre los modelos de compatibilidad de Apigee-127 y Edge Microgateway?
-
Apigee-127 es un proyecto de software de código abierto compatible con el modelo de código abierto. Que es que puedes plantear problemas en el proyecto de GitHub y realizar una solicitud de extracción si intentas solucionarlos o algo. Apigee-127 no requiere ni incluye ningún Contrato de Licencia de Software con Apigee
Por otro lado, Edge Microgateway es un producto empresarial que admite Apigee para para clientes de Apigee. Es decir, los clientes de Apigee pueden crear tickets de asistencia, solicitudes de funciones y errores de seguridad con la Asistencia de Apigee Edge de Google Cloud.