Red privada virtual (VPN)

Aprenda a conectar AEM as a Cloud Service con su VPN para crear canales de comunicación seguros entre AEM y los servicios internos.

IMPORTANT
Puede configurar las VPN y el reenvío de puertos a través de la interfaz de usuario de Cloud Manager o mediante llamadas a la API. Este tutorial se centra en el método API.
Si prefiere usar la interfaz de usuario, consulte Configuración de redes avanzadas para AEM as a Cloud Service.

¿Qué es una red privada virtual?

La red privada virtual (VPN) permite que un cliente de AEM as a Cloud Service conecte los entornos de AEM dentro de un programa de Cloud Manager a una VPN existente admitida. La VPN permite conexiones seguras y controladas entre AEM as a Cloud Service y los servicios dentro de la red del cliente.

Un programa Cloud Manager solo puede tener un tipo de infraestructura de red single. Asegúrese de que Virtual Private Network sea el tipo de infraestructura de red más apropiado para su AEM as a Cloud Service antes de ejecutar los siguientes comandos.

NOTE
Tenga en cuenta que no se admite la conexión del entorno de compilación de Cloud Manager a una VPN. Si debe acceder a artefactos binarios desde un repositorio privado, debe configurar un repositorio seguro y protegido por contraseña con una URL que esté disponible en el Internet público tal como se describe aquí.

Requisitos previos

Se requiere lo siguiente al configurar una red privada virtual mediante las API de Cloud Manager:

Para obtener más información revise cómo configurar y obtener las credenciales de la API de Cloud Manager para utilizarlas en una llamada de la API de Cloud Manager.

IMPORTANT
Este tutorial usa curl para realizar las configuraciones de la API de Cloud Manager—si prefiere un enfoque programático. Los comandos curl proporcionados suponen una sintaxis de Linux® o macOS. Si usa el símbolo del sistema de Windows, reemplace el carácter de salto de línea \ por ^.
También puede completar la misma tarea a través de la interfaz de usuario de Cloud Manager. Si prefiere el enfoque de la interfaz de usuario, consulte Configuración de redes avanzadas para AEM as a Cloud Service.

Habilitar red privada virtual por programa

Comience habilitando la red privada virtual en AEM as a Cloud Service.

Cloud Manager

La salida de puerto flexible se puede activar mediante Cloud Manager. Los siguientes pasos describen cómo habilitar la salida de puerto flexible en AEM as a Cloud Service mediante Cloud Manager.

  1. Inicie sesión en Adobe Experience Manager Cloud Manager como propietario de Cloud Manager Business.

  2. Vaya al programa deseado.

  3. En el menú de la izquierda, vaya a Servicios > Infraestructura de red.

  4. Seleccione el botón Agregar infraestructura de red.

    Agregar infraestructura de red

  5. En el cuadro de diálogo Agregar infraestructura de red, seleccione la opción Red privada virtual. Rellene los campos y seleccione Continuar. Póngase en contacto con el administrador de red de su organización para obtener los valores correctos.

    Agregar VPN

  6. Cree al menos una conexión VPN. Asigne un nombre significativo a la conexión y seleccione el botón Agregar conexión.

    Agregar conexión VPN

  7. Configure la conexión VPN. Póngase en contacto con el administrador de red de su organización para obtener los valores correctos. Seleccione Guardar para confirmar la adición de la conexión.

    Configurar conexión VPN

  8. Si se requieren varias conexiones VPN, agregue más conexiones según sea necesario. Cuando se agreguen todas las conexiones VPN, seleccione Continuar.

    Configurar conexión VPN

  9. Seleccione Guardar para confirmar la adición de la VPN y todas las conexiones configuradas.

    Confirmar creación de VPN

  10. Espere a que se cree la infraestructura de red y se marque como Listo. Este proceso puede tardar hasta 1 hora.

    Estado de creación de VPN

Con la VPN creada, ahora puede configurarla mediante las API de Cloud Manager como se describe a continuación.

API de Cloud Manager

La red privada virtual se puede habilitar mediante las API de Cloud Manager. Los siguientes pasos describen cómo habilitar una VPN en AEM as a Cloud Service mediante la API de Cloud Manager.

  1. En primer lugar, determine la región en la que se necesita la conexión avanzada mediante la operación listRegions de la API de Cloud Manager. Se requiere region name para realizar llamadas subsiguientes a la API de Cloud Manager. Normalmente, se utiliza la región en la que reside el entorno de producción.

    Busque la región de su entorno de AEM as a Cloud Service en Cloud Manager en los detalles del entorno. El nombre de región mostrado en Cloud Manager se puede asignar al código de región utilizado en la API de Cloud Manager.

    solicitud HTTP listRegions

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/regions \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json'
    
  2. Habilite la red privada virtual para un programa de Cloud Manager mediante la operación de las API de Cloud Manager createNetworkInfrastructure. Utilice el código region apropiado obtenido de la operación de la API de Cloud Manager listRegions.

    solicitud HTTP createNetworkInfrastructure

    code language-shell
    $ curl -X POST https://cloudmanager.adobe.io/api/program/{programId}/networkInfrastructures \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json'
        -d @./vpn-create.json
    

    Defina los parámetros JSON en un vpn-create.json y proporcione para ondularse mediante ... -d @./vpn-create.json.

    Descargue el ejemplo vpn-create.json. Este archivo es solo un ejemplo. Configure el archivo según sea necesario en función de los campos opcionales/obligatorios documentados en enableEnvironmentAdvancedNetworkingConfiguration.

    code language-json
    {
        "kind": "vpn",
        "region": "va7",
        "addressSpace": [
            "10.104.182.64/26"
        ],
        "dns": {
            "resolvers": [
                "10.151.201.22",
                "10.151.202.22",
                "10.154.155.22"
            ],
            "domains": [
                "wknd.site",
                "wknd.com"
            ]
        },
        "connections": [{
            "name": "connection-1",
            "gateway": {
                "address": "195.231.212.78",
                "addressSpace": [
                    "10.151.0.0/16",
                    "10.152.0.0/16",
                    "10.153.0.0/16",
                    "10.154.0.0/16",
                    "10.142.0.0/16",
                    "10.143.0.0/16",
                    "10.124.128.0/17"
                ]
            },
            "sharedKey": "<secret_shared_key>",
            "ipsecPolicy": {
                "dhGroup": "ECP256",
                "ikeEncryption": "AES256",
                "ikeIntegrity": "SHA256",
                "ipsecEncryption": "AES256",
                "ipsecIntegrity": "SHA256",
                "pfsGroup": "ECP256",
                "saDatasize": 102400000,
                "saLifetime": 3600
            }
        }]
    }
    

    Espere entre 45 y 60 minutos para que el programa Cloud Manager aprovisione la infraestructura de red.

  3. Compruebe que el entorno haya finalizado la configuración de la red privada virtual mediante la operación getNetworkInfrastructure de la API de Cloud Manager, utilizando la id devuelta desde la solicitud HTTP createNetworkInfrastructure del paso anterior.

    petición HTTP getNetworkInfrastructure

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/networkInfrastructure/{networkInfrastructureId} \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: <YOUR_BEARER_TOKEN>' \
        -H 'Content-Type: application/json'
    

    Compruebe que la respuesta HTTP contiene un estado de listo. Si aún no está listo, vuelva a comprobar el estado cada pocos minutos.

Con la VPN creada, ahora puede configurarla mediante las API de Cloud Manager como se describe a continuación.

Configuración de proxies de red privada virtual por entorno

  1. Habilite y configure la configuración de Red privada virtual en cada entorno de AEM as a Cloud Service mediante la operación enableEnvironmentAdvancedNetworkingConfiguration de la API de Cloud Manager.

    petición HTTP enableEnvironmentAdvancedNetworkingConfiguration

    code language-shell
    $ curl -X PUT https://cloudmanager.adobe.io/api/program/{programId}/environment/{environmentId}/advancedNetworking \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json' \
        -d @./vpn-configure.json
    

    Defina los parámetros JSON en un vpn-configure.json y proporcione para ondularse mediante ... -d @./vpn-configure.json.

Descargue el ejemplo vpn-configure.json

{
    "nonProxyHosts": [
        "example.net",
        "*.example.org"
    ],
    "portForwards": [
        {
            "name": "mysql.example.com",
            "portDest": 3306,
            "portOrig": 30001
        },
        {
            "name": "smtp.sendgrid.com",
            "portDest": 465,
            "portOrig": 30002
        }
    ]
}

nonProxyHosts declara un conjunto de hosts para los que el puerto 80 o 443 debe enrutarse a través de los intervalos de direcciones IP compartidos predeterminados en lugar de la IP de salida dedicada. nonProxyHosts puede resultar útil ya que la salida de tráfico a través de direcciones IP compartidas se optimiza automáticamente con Adobe.

Para cada asignación portForwards, la red avanzada define la siguiente regla de reenvío:

Host de proxy
Puerto Proxy
Host externo
Puerto externo
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Si su implementación de AEM only requiere conexiones HTTP/HTTPS con un servicio externo, deje vacía la matriz portForwards, ya que estas reglas solo son necesarias para solicitudes que no sean HTTP/HTTPS.

​2. Para cada entorno, valide que las reglas de enrutamiento VPN estén en vigor mediante la operación getEnvironmentAdvancedNetworkingConfiguration de la API de Cloud Manager.

petición HTTP getEnvironmentAdvancedNetworkingConfiguration

$ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/environment/{environmentId}/advancedNetworking \
    -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
    -H 'x-api-key: <CLIENT_ID>' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Content-Type: application/json'

​3. Las configuraciones de proxy de red privada virtual se pueden actualizar mediante la operación enableEnvironmentAdvancedNetworkingConfiguration de la API de Cloud Manager. Recuerde que enableEnvironmentAdvancedNetworkingConfiguration es una operación de PUT, por lo que todas las reglas deben proporcionarse con cada invocación de esta operación.

​4. Ahora puede utilizar la configuración de salida de red privada virtual en su código y configuración personalizados de AEM.

Conexión a servicios externos a través de la red privada virtual

Con la red privada virtual habilitada, el código y la configuración de AEM pueden utilizarlos para realizar llamadas a servicios externos a través de la VPN. Hay dos tipos de llamadas externas que AEM trata de manera diferente:

  1. Llamadas HTTP/HTTPS a servicios externos
    • Estos servicios externos incluyen llamadas HTTP/HTTPS realizadas a servicios que se ejecutan en puertos que no son los puertos estándar 80 o 443.
  2. Llamadas no HTTP/HTTPS a servicios externos
    • Estos servicios externos incluyen cualquier llamada que no sea HTTP, como conexiones a servidores de correo, bases de datos SQL o servicios que utilizan protocolos distintos de HTTP/HTTPS.

Las solicitudes HTTP/HTTPS de AEM en puertos estándar (80/443) están permitidas de forma predeterminada, pero no utilizan la conexión VPN si no se configura correctamente como se describe a continuación.

HTTP/HTTPS

Al crear conexiones HTTP/HTTPS desde AEM, al utilizar una VPN, las conexiones HTTP/HTTPS se procesan como proxy automáticamente fuera de AEM. No se requiere código ni configuración adicional para admitir conexiones HTTP/HTTPS.

TIP
Consulte la documentación de la red privada virtual de AEM as a Cloud Service para obtener el conjunto completo de reglas de enrutamiento.

Ejemplos de código

HTTP/HTTPS

HTTP/HTTPS

Ejemplo de código Java™ conexión HTTP/HTTPS de AEM as a Cloud Service a un servicio externo mediante el protocolo HTTP/HTTPS.

Ejemplos de código de conexiones no HTTP/HTTPS

Al crear conexiones no HTTP/HTTPS (por ejemplo, SQL, SMTP, etc.) de AEM, la conexión debe realizarse mediante un nombre de host especial proporcionado por AEM.

Nombre de variable
Uso
Código Java™
Configuración de OSGi
AEM_PROXY_HOST
Host proxy para conexiones no HTTP/HTTPS
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]

A continuación, se llama a las conexiones a servicios externos a través de AEM_PROXY_HOST y del puerto asignado (portForwards.portOrig), que AEM enruta al nombre de host externo asignado (portForwards.name) y al puerto (portForwards.portDest).

Host de proxy
Puerto Proxy
Host externo
Puerto externo
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Ejemplos de código

Conexión SQL con JDBC DataSourcePool

Conexión SQL con el conjunto de datos JDBC

Ejemplo de código Java™ conectarse a bases de datos SQL externas configurando el grupo de fuentes de datos JDBC de AEM.

Conexión SQL con API de Java

Conexión SQL con API de Java™

Ejemplo de código Java™ conectarse a bases de datos SQL externas mediante las API SQL de Java™.

Red privada virtual (VPN)

Servicio de correo electrónico

Ejemplo de configuración de OSGi que utiliza AEM para conectarse a servicios de correo electrónico externos.

Limitar el acceso a AEM as a Cloud Service a través de la VPN

La configuración de Red privada virtual limita el acceso a los entornos de AEM as a Cloud Service a una VPN.

Ejemplos de configuración

Aplicación de una lista de permitidos IP

Aplicando una lista de permitidos IP

Configure una lista de permitidos IP de modo que solo el tráfico VPN pueda acceder a AEM.

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69