Aprenda a conectar AEM as a Cloud Service con su VPN para crear canales de comunicación seguros entre AEM y servicios internos.
La red privada virtual (VPN) permite que un cliente as a Cloud Service AEM se conecte los entornos AEM dentro de un programa de Cloud Manager a un existente, admitido VPN. Esto permite conexiones seguras y controladas entre AEM as a Cloud Service y servicios dentro de la red del cliente.
Un programa de Cloud Manager solo puede tener un single tipo de infraestructura de red. Asegúrese de que la red privada virtual sea la más tipo apropiado de infraestructura de red para su AEM as a Cloud Service antes de ejecutar los siguientes comandos.
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 disponible en la Internet pública tal como se describe aquí.
A la hora de configurar la red privada virtual, es necesario lo siguiente:
Para obtener más información, consulte el siguiente tutorial sobre cómo configurar, configurar y obtener credenciales de API de Cloud Manager y cómo utilizarlas para realizar una llamada de API de Cloud Manager.
Este tutorial utiliza curl
para realizar las configuraciones de la API de Cloud Manager. El curl
asume una sintaxis Linux/macOS. Si utiliza el símbolo del sistema de Windows, reemplace la variable \
carácter de salto de línea con ^
.
Comience habilitando la Red privada virtual en AEM as a Cloud Service.
En primer lugar, determine la región en la que se necesitan las redes avanzadas mediante la API de Cloud Manager listRegion operación. La variable region name
es necesario para realizar llamadas posteriores 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 as a Cloud Service AEM en Cloud Manager en el detalles del entorno. El nombre de región que se muestra en Cloud Manager puede ser asignado al código de región se utiliza en la API de Cloud Manager.
petición HTTP listRegion
$ 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'
Habilitar la red privada virtual para un programa de Cloud Manager mediante las API de Cloud Manager createNetworkInfrastructure operación. Utilice el region
código obtenido de la API de Cloud Manager listRegions
operación.
solicitud HTTP createNetworkInfrastructure
$ 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 una vpn-create.json
y se proporcionan para curl a través de ... -d @./vpn-create.json
.
Descargue el ejemplo vpn-create.json. Este archivo solo es un ejemplo. Configure el archivo según sea necesario en función de los campos opcionales/obligatorios documentados en enableEnvironmentAdvancedNetworkingConfiguration.
{
"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 proporcione la infraestructura de red.
Comprobar que el entorno ha finalizado Red privada virtual configuración mediante la API de Cloud Manager getNetworkInfrastructure mediante la función id
devuelto desde la solicitud HTTP createNetworkInfrastructure en el paso anterior.
petición HTTP getNetworkInfrastructure
$ 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 status de ready. Si aún no está listo, vuelva a comprobar el estado cada pocos minutos.
Habilitar y configurar el Red privada virtual configuración en cada entorno as a Cloud Service AEM mediante la API de Cloud Manager enableEnvironmentAdvancedNetworkingConfiguration operación.
solicitud HTTP enableEnvironmentAdvancedNetworkingConfiguration
$ 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 una vpn-configure.json
y se proporcionan para curl a través de ... -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 predeterminados de direcciones IP compartidas en lugar de la dirección IP de salida dedicada. nonProxyHosts
puede resultar útil, ya que la salida de tráfico a través de direcciones IP compartidas puede optimizarse aún más automáticamente mediante Adobe.
Para cada portForwards
, la red avanzada define la siguiente regla de reenvío:
Host proxy | Puerto proxy | Host externo | Puerto externo | |
---|---|---|---|---|
AEM_PROXY_HOST |
portForwards.portOrig |
→ | portForwards.name |
portForwards.portDest |
Si su implementación AEM only requiere conexiones HTTP/HTTPS al servicio externo, deje el portForwards
matriz vacía, ya que estas reglas solo son necesarias para solicitudes que no sean HTTP/HTTPS.
Para cada entorno, valide las reglas de enrutamiento vpn que están en vigor utilizando la API de Cloud Manager getEnvironmentAdvancedNetworkingConfiguration operación.
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'
Las configuraciones de proxy de red privada virtual se pueden actualizar mediante la API de Cloud Manager enableEnvironmentAdvancedNetworkingConfiguration operación. Recordar enableEnvironmentAdvancedNetworkingConfiguration
es PUT
, por lo que todas las reglas deben proporcionarse con cada invocación de esta operación.
Ahora puede utilizar la configuración de salida de red privada virtual en su código de AEM y configuración personalizados.
Con la red privada virtual habilitada, AEM código y configuración pueden utilizarlos para realizar llamadas a servicios externos a través de la VPN. Hay dos tipos de llamadas externas que AEM tratan de forma diferente:
Las solicitudes HTTP/HTTPS de AEM en puertos estándar (80/443) están permitidas de forma predeterminada, pero no utilizarán la conexión VPN si no están configuradas adecuadamente como se describe a continuación.
Al crear conexiones HTTP/HTTPS desde AEM, al utilizar VPN, las conexiones HTTP/HTTPS se procesan automáticamente como proxy fuera de AEM. No se requiere código o configuración adicional para admitir conexiones HTTP/HTTPS.
Consulte la documentación de red privada virtual de AEM as a Cloud Service para el conjunto completo de reglas de enrutamiento.
![]() Ejemplo de código Java™ que establece la conexión HTTP/HTTPS de AEM as a Cloud Service a un servicio externo mediante el protocolo 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 la función AEM_PROXY_HOST
y el puerto asignado (portForwards.portOrig
), que luego AEM enruta al nombre de host externo asignado (portForwards.name
) y puerto (portForwards.portDest
).
Host proxy | Puerto proxy | Host externo | Puerto externo | |
---|---|---|---|---|
AEM_PROXY_HOST |
portForwards.portOrig |
→ | portForwards.name |
portForwards.portDest |
La configuración de la Red privada virtual limita el acceso a AEM entornos as a Cloud Service a una VPN.
![]() Configure una lista de permitidos IP de modo que solo el tráfico VPN pueda acceder a AEM. |
![]() Requiere acceso VPN para rutas específicas en AEM Publish. |