Configurar e implementar entornos

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 del entorno de ejecución para los proxies de API y los flujos compartidos que deseas implementar. Debes implementar los proxies de API y los flujos compartidos en uno o más entornos antes de que se pueda acceder a ellos para realizar pruebas. Para obtener más información sobre los entornos, consulta Acerca de los entornos y los grupos de entornos.

Configura e, implementa entornos como se describe en las siguientes secciones. También consulta Administra carpetas y archivos en un lugar de trabajo de Apigee.

Configura un entorno

Antes de implementar un entorno, debes configurarlo para identificar los proxies de API y los flujos compartidos que deseas implementar, y configurar los hooks de flujo compartidos o los servidores de destino, según sea necesario.

Para configurar un entorno, crea el entorno y edita la configuración definida en la siguiente tabla.

Configuración Descripción
Máscaras de depuración (debugmasks.json) Define las opciones de configuración de la máscara para enmascarar datos específicos en las sesiones de seguimiento y depuración.
Implementaciones (deployments.json) Define los proxies de API y los flujos compartidos en tu implementación.
Hooks de flujo (flowhooks.json) Adjunta flujos compartidos a hooks de flujo a fin de que se ejecuten en el mismo lugar para todos los proxies de API implementados en el entorno.
Servidores de destino (targetservers.json) Separar los extremos concretos de los extremos de destino para admitir el balanceo de cargas y la conmutación por error en varias instancias del servidor de backend.
Almacén de claves (keystores.json) Agrega compatibilidad con TLS a los extremos de destino y los servidores de destino.

Además, si usas alguna política que requiera recursos, puedes administrar recursos a nivel de entorno, según sea necesario.

Crea un entorno

Para crear un entorno en Apigee en Cloud Code, haz lo siguiente:

  1. Realiza una de las siguientes acciones:

    • Coloca el cursor sobre la carpeta de entornos de la sección Apigee y haz clic en Crear ícono.

      Se muestra + cuando colocas el cursor sobre la carpeta de entornos

    • Selecciona View > Command pal para abrir la paleta de comandos y selecciona Cloud Code: Create Apigee environment.

    Se abrirá el asistente de creación de entornos.

  2. Ingresa un nombre para el entorno y presiona Intro.

El entorno se agrega a la carpeta entornos en la sección Apigee, como se muestra en la siguiente figura.

Carpeta de entornos con archivos deployments.json, Flowhooks.json y targetservers.json

Configura el entorno, como se describe en las siguientes secciones.

Configura máscaras de depuración (máscara de depuración.json)

Apigee te permite definir las opciones de configuración de máscaras para enmascarar datos específicos en sesiones de seguimiento y depuración. Cuando se enmascaran los datos, se reemplazan por asteriscos en el seguimiento de resultados. Por ejemplo:

<description>**********</description>

Para obtener más información, consulta Enmascara datos sensibles.

Para configurar máscaras de depuración, actualiza el archivo debugmask.json si editas directamente el archivo.

A continuación, se proporciona 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 la 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"
  ]
}

Configura las implementaciones (deployments.json)

Configura los proxies de API y los flujos compartidos que deseas incluir en la implementación.

Para configurar las implementaciones, actualiza el archivo deployments.json mediante el asistente de configuración (que se describe a continuación) o edita el archivo directamente.

Para configurar las implementaciones mediante el asistente de configuración, haz lo siguiente:

  1. Coloca el cursor sobre el archivo deployments.json del entorno y haz clic en Icono de asistente.

    El ícono de configuración se muestra cuando colocas el cursor sobre la carpeta deployments.json

  2. Revisa el asistente de configuración para seleccionar las implementaciones y propagar campos automáticamente en el archivo deployments.json.
    El archivo deployments.json se abre en el editor.

  3. Edita la configuración, según sea necesario.

  4. Selecciona Archivo > Guardar o ⌘S para guardar las ediciones.

En el siguiente ejemplo, se configura la implementación para que incluya el proxy de API helloworld y los flujos compartidos mysharedflow y hw-sharedflow:

{
  "proxies" : [
     "helloworld"
  ],
  "sharedflows" : [
     "mysharedflow",
     "hw-sharedflow"
  ]
}

Configura cuentas de servicio con implementaciones de proxy y flujo compartido

Los proxies de API que dependen de un servicio de Google como backend pueden requerir que se asocie una cuenta de servicio de Google Cloud a la implementación. Consulta Usa la autenticación de Google.

Cuando editas el archivo deployments.json, puedes asociar el proxy de API o el flujo compartido a una cuenta de servicio de Google Cloud. 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 con el proxy de API helloworld y el flujo compartido mysharedflow; sin embargo, el proxy healthcheck y el flujo compartido hw-sharedflow no están asociados con una cuenta de servicio:

{
  "proxies": [
    {
      "name": "helloworld",
      "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
    },
    "healthcheck"
  ],
  "sharedflows": [
    {
      "name": "mysharedflow",
      "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
    },
    "hw-sharedflow"
  ]
}

Obtén 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.

Adjunta flujos compartidos mediante enlaces de flujo (flowhooks.json)

Con un hook de flujo, adjuntas un flujo compartido a fin de que se ejecute en el mismo lugar para todos los proxies de API implementados en un entorno específico. Esto te brinda una secuencia de lógica implementada y separada por separado que no forma parte del código de implementación del proxy de API. En particular, puedes conectar un flujo compartido en las siguientes ubicaciones del flujo del proxy de API:

  • Antes de que se ejecute un extremo del proxy de API (PreProxyFlowHook)
  • Después de que se ejecuta el extremo del proxy de API y justo antes de que se envíe la respuesta al cliente (PostProxyFlowHook)
  • Antes de que se ejecute un extremo de destino (PreTargetFlowHook)
  • Después de que se ejecute la respuesta objetivo (PostTargetFlowHook)

Para obtener más información sobre los hooks de flujo, consulta Adjunta flujos compartidos mediante hooks de flujo.

Para adjuntar flujos compartidos mediante hooks de flujo, actualiza el archivo flowhooks.json con el asistente de configuración (que se describe a continuación) o edita el archivo directamente.

Para configurar las implementaciones mediante el asistente de configuración, haz lo siguiente:

  1. Coloca el cursor sobre el archivo flowhooks.json del entorno y haz clic en Icono de asistente.
  2. Revisa el asistente de configuración a fin de seleccionar los flujos compartidos que se adjuntarán a ubicaciones específicas en el flujo del proxy de API y campos de propagación automática en el archivo flowhooks.json.
    El archivo flowhooks.json se abre en el editor.
  3. Edita la configuración, según sea necesario.
  4. Selecciona Archivo > Guardar o ⌘S para guardar las ediciones.

En el siguiente ejemplo, se adjunta mysharedflow a PreProxyFlowHook para que se ejecute antes de que se ejecute un extremo del proxy de API:

{
  "PreProxyFlowHook": {
    "continueOnError": true,
    "sharedFlow": "mysharedflow",
    "description": "Shared enforced before a proxy endpoint executes."
  }
}

Configura los servidores de destino (targetservers.json)

Los servidores de destino (TargetServers) separan las URL de extremos concretas de las opciones de configuración de extremo de destino (TargetEndpoint). En lugar de definir una URL concreta en la configuración, puedes configurar uno o más TargetServers con nombre. Luego, haz referencia a cada TargetServer por nombre en una HTTPConnection de TargetEndpoint.

Para obtener más información sobre los servidores de destino, consulta los siguientes temas:

Para configurar los servidores de destino, actualiza el archivo targetservers.json mediante el asistente de configuración (que se describe a continuación) o edita 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, haz lo siguiente:

  1. Coloca el cursor sobre el archivo targetservers.json del entorno y haz clic en Icono de asistente.
  2. Sigue los pasos del asistente de configuración para configurar el servidor de destino y propagar los campos automáticamente en el archivo targetservers.json. El archivo targetservers.json se abre en el editor.
  3. Edita la configuración, según sea necesario.
  4. Selecciona Archivo > Guardar o ⌘S para guardar las ediciones.

En el siguiente ejemplo, se agrega un nuevo servidor de destino en el entorno:

[
  {
    "enabled": true,
    "description": "My first target server",
    "name": "mytargetserver",
    "host": "localhost",
    "port": 80
  }
]

En el siguiente ejemplo, se configura un servidor de destino con TLS mutua 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"
        }
    }
]

Configura los almacenes de claves (keystores.json)

Los almacenes de claves definen repositorios de certificados de seguridad que se usan para la encriptación TLS en los extremos y los servidores de destino.

Si deseas obtener más información sobre la configuración de TLS, consulta Opciones para configurar TLS.

Para configurar los almacenes de claves, haz lo siguiente:

  1. 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 y los alias que se agregan.
    • references: Es un mapa de todos los nombres de referencia del almacén de claves y el nombre del almacén de claves asociado.
  2. Edita la configuración, según sea necesario.
  3. Selecciona Archivo > Guardar o ⌘S para guardar las ediciones.

En el ejemplo siguiente, 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"
        }
      }
    }
  }

Implementa un entorno

Implementa los proxies de API y los flujos compartidos configurados para un entorno a fin de que se pueda acceder a ellos y puedas realizar pruebas.

Para implementar un entorno, haz lo siguiente:

  1. En la sección Apigee, coloca el cursor sobre la carpeta del entorno que deseas implementar.
  2. Haga clic en Ícono de implementación.

    El ícono de implementación se muestra cuando ubicas el cursor sobre la carpeta del entorno de desarrollo

  3. Si varios contenedores para el emulador de Apigee están en ejecución, selecciona el contenedor en el que deseas implementar el entorno.
  4. Selecciona el paquete de prueba que deseas exportar con la implementación o selecciona Implementar sin un paquete de prueba.

    Solicitud para exportar paquete de prueba

    Puedes exportar recursos de prueba más tarde, como se describe en Exporta recursos de prueba al emulador de Apigee.

El entorno está implementado, y la siguiente información se muestra en la pestaña Resultado:

Environment dev deployed successfully with revision 7

Las aplicaciones implementadas se muestran en el emulador de Apigee, como se muestra a continuación.

Emulador de Apigee que muestra una aplicación de helloworld implementada y recursos de prueba activos

Próximos pasos

Ahora, es el momento de probar tu API.