Red privada virtual (VPN)
Aprenda a conectar AEM as a Cloud Service AEM con su VPN para crear canales de comunicación seguros entre los servicios internos y los de la red de servicios de comunicación de la red.
¿Qué es la red privada virtual?
La red privada virtual (VPN) permite que un cliente de AEM as a Cloud Service AEM conecte los entornos de la red de seguridad dentro de un programa de Cloud Manager a una VPN admitida existente. 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.
Requisitos previos
Se requiere lo siguiente al configurar una red privada virtual mediante las API de Cloud Manager:
-
Cuenta de Adobe con permisos de propietario de Cloud Manager Business
-
Acceso a credenciales de autenticación de la API de Cloud Manager
- ID de organización (también conocido como ID de organización de IMS)
- ID del cliente (también conocido como clave API)
- Token de acceso (también conocido como Token de portador)
-
El ID del programa Cloud Manager
-
Los ID de entorno de Cloud Manager
-
Una red privada virtual basada en rutas, con acceso a todos los parámetros de conexión necesarios.
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.
Este tutorial utiliza curl
para realizar las configuraciones de la API de Cloud Manager. Los comandos curl
proporcionados suponen una sintaxis Linux/macOS. Si usa el símbolo del sistema de Windows, reemplace el carácter de salto de línea \
por ^
.
Habilitar red privada virtual por programa
Comience habilitando la red privada virtual en AEM as a Cloud Service.
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.
-
Inicie sesión en Adobe Experience Manager Cloud Manager como propietario de Cloud Manager Business.
-
Vaya al programa deseado.
-
En el menú de la izquierda, vaya a Servicios > Infraestructura de red.
-
Seleccione el botón Agregar infraestructura de red.
-
En el 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.
-
Cree al menos una conexión VPN. Asigne un nombre significativo a la conexión y seleccione el botón Agregar conexión.
-
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.
-
Si se requieren varias conexiones VPN, agregue más conexiones según sea necesario. Cuando se agreguen todas las conexiones VPN, seleccione Continuar.
-
Seleccione Guardar para confirmar la adición de la VPN y todas las conexiones configuradas.
-
Espere a que se cree la infraestructura de red y se marque como Listo. Este proceso puede tardar hasta 1 hora.
Con la VPN creada, ahora puede configurarla mediante las API de Cloud Manager como se describe a continuación.
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.
-
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'
-
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 ManagerlistRegions
.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 ondulación 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.
-
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 HTTPcreateNetworkInfrastructure
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
-
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 ondulación 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 mediante el Adobe.
Para cada asignación portForwards
, la red avanzada define la siguiente regla de reenvío:
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest
AEM Si la implementación de la 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. AEM Ahora, puede utilizar la configuración de salida de red privada virtual en el código y la configuración personalizados de la.
Conexión a servicios externos a través de la red privada virtual
AEM Con la red privada virtual habilitada, el código y la configuración de la red privada virtual pueden utilizarlos para realizar llamadas a servicios externos a través de la VPN. AEM Existen dos tipos de llamadas externas que se tratan de manera diferente en el modo que se hace:
- Llamadas HTTP/HTTPS a servicios externos
- Incluye llamadas HTTP/HTTPS realizadas a servicios que se ejecutan en puertos que no son los puertos estándar 80 o 443.
- llamadas no HTTP/HTTPS a servicios externos
- Incluye cualquier llamada que no sea HTTP, como conexiones con servidores de correo, bases de datos SQL o servicios que se ejecutan en otros protocolos que no son HTTP/HTTPS.
AEM Las solicitudes HTTP/HTTPS de los puertos estándar (80/443) se permiten de forma predeterminada, pero no utilizan la conexión VPN si no se configura correctamente como se describe a continuación.
HTTP/HTTPS
AEM AEM Cuando se crean conexiones HTTP/HTTPS desde la red de redes privadas virtuales (HTTP/HTTPS) desde la red de redes privadas virtuales (HTTP/HTTPS), las conexiones HTTP/HTTPS se procesan automáticamente como proxy fuera de la red de conexiones de red de red de red de red de área de trabajo (). No se requiere código ni configuración adicional para admitir conexiones HTTP/HTTPS.
Ejemplos de código
Ejemplos de código de conexiones no HTTP/HTTPS
Al crear conexiones no HTTP/HTTPS (por ejemplo, AEM AEM SQL, SMTP, etc.) desde el punto de vista de la seguridad, la conexión debe realizarse a través de un nombre de host especial proporcionado por el usuario de la red de seguridad de la red de datos (SQL, SMTP, etc.) de la red de seguridad de la red de datos
AEM_PROXY_HOST
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]
AEM 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 luego enruta al nombre de host externo asignado (portForwards.name
) y al puerto (portForwards.portDest
).
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest
Ejemplos de código
Limitar el acceso a AEM as a Cloud Service a través de VPN
La configuración de Red privada virtual limita el acceso a los entornos de AEM as a Cloud Service a una VPN.