Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
Un entorno es un contexto de ejecución en tiempo de ejecución para los proxies de API y los flujos compartidos que quieras implementar. Debes desplegar tus proxies de API y flujos compartidos en uno o varios entornos para poder acceder a ellos y probarlos. Para obtener más información sobre los entornos, consulta el artículo Acerca de los entornos y los grupos de entornos.
Configura y despliega entornos tal como se describe en las siguientes secciones. Consulta también Gestionar carpetas y archivos en un espacio de trabajo de Apigee.
Configurar un entorno
Antes de desplegar un entorno, configúralo para identificar los proxies de API y los flujos compartidos que quieras desplegar, así como los enlaces de flujo compartido o los servidores de destino, según sea necesario.
Para configurar un entorno, créalo y edita la configuración definida en la siguiente tabla.
Configuración | Descripción |
---|---|
Máscaras de depuración (debugmasks.json ) |
Define configuraciones de máscara para ocultar datos específicos en sesiones de depuración y de seguimiento. |
Implementaciones (deployments.json ) |
Define los proxies de API y los flujos compartidos de tu implementación. |
Hooks de flujo (flowhooks.json ) |
Asocia flujos compartidos a ganchos de flujo para que se ejecuten en el mismo lugar en todos los proxies de API desplegados en el entorno. |
Servidores de destino (targetservers.json ) |
Desacopla tus endpoints concretos de tus endpoints de destino para admitir el balanceo de carga y la conmutación por error en varias instancias de servidor backend. |
Almacenes de claves (keystores.json ) |
Añade compatibilidad con TLS a tus endpoints de destino y servidores de destino. |
Además, si usas alguna política que requiera recursos, puedes gestionar recursos a nivel de entorno, según sea necesario.
Crear un entorno
Para crear un entorno en Apigee en Cloud Code, sigue estos pasos:
Realiza una de las siguientes acciones:
Coloca el cursor sobre la carpeta environments de tu espacio de trabajo de Apigee y haz clic en
.
Selecciona Ver > Paleta de comandos para abrir la paleta de comandos y selecciona Cloud Code: Create Apigee environment (Cloud Code: Crear entorno de Apigee).
Se abrirá el asistente Crear entorno.
Introduce un nombre para el entorno y pulsa Intro.
El entorno se añade a la carpeta environments (entornos) de la sección Apigee:
Configura el entorno como se describe en las siguientes secciones.
Configurar máscaras de depuración (debugmask.json)
Apigee te permite definir configuraciones de máscara para ocultar datos específicos en sesiones de seguimiento y depuración. Cuando se enmascaran los datos, se sustituyen por asteriscos en la salida de la traza. Por ejemplo:
<description>**********</description>
Para obtener más información, consulta Máscara de datos sensibles.
Para configurar las máscaras de depuración, actualiza el archivo debugmask.json
editándolo directamente.
A continuación, se muestra un ejemplo de la estructura básica de una configuración de máscara en formato JSON. Para obtener más información sobre los campos de configuración de máscara que se muestran en el ejemplo, consulta DebugMask.
{ "namespaces": { "myco": "https://example.com" }, "requestXPaths": [ "/myco:Greeting/myco:User" ], "responseXPaths": [ "/myco:Greeting/myco:User" ], "faultXPaths": [ "/myco:Greeting/myco:User" ], "requestJSONPaths": [ "$.store.book[].author" ], "responseJSONPaths": [ "$.store.book[].author" ], "faultJSONPaths": [ "$.store.book[*].author" ], "variables": [ "request.header.user-agent", "request.formparam.password" ] }
Configurar las implementaciones (deployments.json)
Configura los proxies de API y los flujos compartidos que quieras incluir en la implementación.
Para configurar las implementaciones, actualiza el archivo deployments.json
con el asistente de configuración o editando el archivo directamente.
Para configurar las implementaciones con el asistente de configuración, sigue estos pasos:
- Coloca el cursor sobre el archivo deployments.json del entorno y haz clic en
.
- Sigue los pasos del asistente de configuración para seleccionar las implementaciones y rellenar automáticamente los campos del archivo
deployments.json
. El archivodeployments.json
se abre en el editor. - Edita la configuración según sea necesario.
- Selecciona Archivo > Guardar o ⌘S para guardar los cambios.
En el siguiente ejemplo se configura la implementación para incluir el proxy de API helloworld
y los flujos compartidos mysharedflow
y hw-sharedflow
:
{ "proxies" : [ "helloworld" ], "sharedflows" : [ "mysharedflow", "hw-sharedflow" ] }
Configurar cuentas de servicio con implementaciones de proxy y de flujo compartido
Los proxies de API que dependen de un servicio de Google como backend pueden requerir que se asocie una Google Cloud cuenta de servicio a la implementación. Consulta Usar la autenticación de Google.
Cuando edites el archivo deployments.json
, puedes asociar el proxy de API o el flujo compartido a una Google Cloud cuenta de servicio. Por ejemplo:
{ "name": "proxy-name", "serviceAccount": "associated-service-account" }
En el siguiente ejemplo se muestra una configuración de implementación en la que las cuentas de servicio están asociadas al proxy de la API helloworld
y al flujo compartido mysharedflow
, pero el proxy healthcheck
y el flujo compartido hw-sharedflow
no están asociados a ninguna cuenta de servicio:
{ "proxies": [ { "name": "helloworld", "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com" }, "healthcheck" ], "sharedflows": [ { "name": "mysharedflow", "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com" }, "hw-sharedflow" ] }
Consulta más información sobre cómo configurar el emulador de Apigee para probar las funciones de autenticación de cuentas de servicio en tu proxy de API.
Vincular flujos compartidos mediante enlaces de flujos (flowhooks.json)
Con un gancho de flujo, puedes adjuntar un flujo compartido para que se ejecute en el mismo lugar en todos los proxies de API desplegados en un entorno específico. De esta forma, obtienes una secuencia de lógica implementada y desplegada por separado que no forma parte del código de implementación de un proxy de API. En concreto, puedes adjuntar un flujo compartido en las siguientes ubicaciones del flujo de proxy de API:
- Antes de que se ejecute un endpoint de proxy de API (
PreProxyFlowHook
) - Después de que se ejecute el endpoint del proxy de la API y justo antes de que se envíe la respuesta al cliente (
PostProxyFlowHook
) - Antes de que se ejecute un endpoint de destino (
PreTargetFlowHook
) - Después de que se ejecute la respuesta de destino (
PostTargetFlowHook
)
Para obtener más información sobre los enlaces de flujos, consulta Vincular flujos compartidos mediante enlaces de flujos.
Para adjuntar flujos compartidos mediante enlaces de flujos, actualiza el archivo flowhooks.json
con el asistente de configuración o editando el archivo directamente.
Para configurar los hooks de flujo con el asistente de configuración, sigue estos pasos:
- Coloca el cursor sobre el archivo flowhooks.json del entorno y haz clic en
.
- Selecciona los flujos compartidos que quieras adjuntar en ubicaciones específicas del flujo del proxy de API y rellena automáticamente los campos del archivo
flowhooks.json
. El archivoflowhooks.json
se abre en el editor. - Edita la configuración según sea necesario.
- Selecciona Archivo > Guardar o ⌘S para guardar los cambios.
En el siguiente ejemplo se adjunta mysharedflow
a PreProxyFlowHook
para que se ejecute antes de que se ejecute un endpoint de proxy de API:
{ "PreProxyFlowHook": { "continueOnError": true, "sharedFlow": "mysharedflow", "description": "Shared enforced before a proxy endpoint executes." } }
Configurar los servidores de destino (targetservers.json)
Los servidores de destino (TargetServers) desacoplan las URLs de endpoint concretas de las configuraciones de endpoint de destino (TargetEndpoint). En lugar de definir una URL concreta en la configuración, puedes configurar uno o varios TargetServers con nombre. A continuación, haz referencia a cada TargetServer por su nombre en un TargetEndpoint HTTPConnection.
Para obtener más información sobre los servidores de destino, consulta los siguientes temas:
- Balanceo de carga en servidores de backend
- Antipatrón: balancear carga con un único servidor de destino donde el valor MaxFailures es distinto de cero
Para configurar los servidores de destino, actualice el archivo targetservers.json
mediante el asistente de configuración o editando el archivo directamente.
Para obtener una descripción de los campos del archivo targetservers.json
, consulta Recurso: TargetServer.
Para configurar los servidores de destino con el asistente de configuración, sigue estos pasos:
- Coloca el cursor sobre el archivo targetservers.json del entorno y haz clic en
.
- Sigue los pasos del asistente de configuración para configurar el servidor de destino y rellenar automáticamente los campos del archivo
targetservers.json
. El archivotargetservers.json
se abre en el editor. - Edita la configuración según sea necesario.
- Selecciona Archivo > Guardar o ⌘S para guardar los cambios.
En el siguiente ejemplo se añade un nuevo servidor de destino al entorno:
[ { "enabled": true, "name": "mytargetserver", "description": "My first target server", "host": "localhost", "port": 80 } ]
En el siguiente ejemplo se configura un servidor de destino con TLS mutuo mediante almacenes de claves:
[ { "name": "mtlsserver", "host": "mytargetserver.mydomain", "port": 443, "enabled": true, "protocol": "HTTP", "tlsInfo": { "enabled": true, "clientAuthEnabled": true, "keyStore": "mykeystore", "keyAlias": "mykeyandcert", "trustStore": "mytruststore" } } ]
Configurar los almacenes de claves (keystores.json)
Los almacenes de claves definen repositorios de certificados de seguridad que se usan para el cifrado TLS en los endpoints y servidores de destino.
Para obtener más información sobre la configuración de TLS, consulta Opciones para configurar TLS.
Para configurar almacenes de claves, sigue estos pasos:
- Abre el archivo
keystores.json
del entorno en el editor. El archivo tiene dos elementos principales:stores
: un mapa del nombre del almacén de claves añadido y los alias.references
: un mapa de todos los nombres de referencia del almacén de claves y el nombre del almacén de claves asociado.
- Edita la configuración según sea necesario.
- Selecciona Archivo > Guardar o ⌘S para guardar los cambios.
En el siguiente ejemplo se muestra un almacén de claves mykeystore
con dos alias, mycert-alias
y mykeycert-alias
:
{ "stores": { "mykeystore": { "my-cert-alias": { "cert": "/Users/jdoe/testkeys/cert1.pem" }, "my-keycert-alias": { "key": "/Users/jdoe/testkeys/key1.pem", "cert": "/Users/jdoe/testkeys/cert1.pem" } } } }
Desplegar un entorno
Despliega tus proxies de API y flujos compartidos configurados para un entorno para que se pueda acceder a ellos con fines de prueba.
Para implementar un entorno, sigue estos pasos:
- En la sección Apigee, coloca el cursor sobre la carpeta del entorno que quieras desplegar.
- Haz clic en
.
- Si se están ejecutando varios contenedores del emulador de Apigee, selecciona el contenedor en el que quieras desplegar el entorno.
- Selecciona el paquete de prueba que quieras exportar con la implementación o selecciona Implementar sin paquete de prueba.
Puede exportar los recursos de prueba más adelante, tal como se describe en Exportar recursos de prueba al emulador de Apigee.
El entorno se implementa y muestra un mensaje de éxito en la pestaña Salida.
Las aplicaciones implementadas se muestran en el emulador de Apigee: