Découvrez comment connecter AEM as a Cloud Service à votre VPN pour créer des canaux de communication sécurisés entre AEM et les services internes.
Le réseau privé virtuel (VPN) permet à un client as a Cloud Service AEM de se connecter. les environnements AEM dans un programme Cloud Manager à un programme existant, pris en charge VPN. Cela permet des connexions sécurisées et contrôlées entre AEM as a Cloud Service et les services au sein du réseau du client.
Un programme Cloud Manager ne peut avoir qu’une single type d’infrastructure réseau. S’assurer que le réseau privé virtuel est le plus performant type approprié d’infrastructure réseau pour votre AEM as a Cloud Service avant d’exécuter les commandes suivantes.
Notez que la connexion de l’environnement de génération de Cloud Manager à un VPN n’est pas prise en charge. Si vous devez accéder aux artefacts binaires d’un référentiel privé, vous devez configurer un référentiel sécurisé et protégé par mot de passe avec une URL disponible sur l’Internet public. comme décrit ici.
Les éléments suivants sont requis lors de la configuration du réseau privé virtuel :
Pour plus d’informations, consultez la présentation suivante pour savoir comment configurer, configurer et obtenir les informations d’identification de l’API Cloud Manager, et comment les utiliser pour effectuer un appel de l’API Cloud Manager.
Ce tutoriel utilise curl
pour créer les configurations de l’API Cloud Manager. Le curl
supposent une syntaxe Linux/macOS. Si vous utilisez l’invite de commande Windows, remplacez la variable \
caractère de saut de ligne avec ^
.
Commencez par activer le réseau privé virtuel sur AEM as a Cloud Service.
Tout d’abord, déterminez la région dans laquelle la mise en réseau avancée sera configurée à l’aide de l’API Cloud Manager. listRegion opération. Le region name
sera nécessaire pour effectuer les appels d’API Cloud Manager suivants. En règle générale, la région dans laquelle réside l’environnement de production est utilisée.
requête 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'
Activation du réseau privé virtuel pour un programme Cloud Manager à l’aide des API Cloud Manager createNetworkInfrastructure opération. Utilisez les region
code obtenu à partir de l’API Cloud Manager listRegions
opération.
requête 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
Définition des paramètres JSON dans une vpn-create.json
et fourni à curl via ... -d @./vpn-create.json
.
Téléchargez l’exemple vpn-create.json. Ce fichier n’est qu’un exemple. Configurez votre fichier selon les besoins en fonction des champs facultatifs/obligatoires documentés à l’adresse 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
}
}]
}
Patientez 45 à 60 minutes pendant que le programme Cloud Manager approvisionne l’infrastructure réseau.
Vérifier que l'environnement est terminé Réseau privé virtuel configuration à l’aide de l’API Cloud Manager getNetworkInfrastructure , à l’aide de la fonction id
renvoyée par la requête HTTP createNetworkInfrastructure de l’étape précédente.
requête 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'
Vérifiez que la réponse HTTP contient une status de ready. Si vous n’êtes pas encore prêt, vérifiez l’état toutes les quelques minutes.
Activez et configurez les Réseau privé virtuel configuration sur chaque environnement as a Cloud Service AEM à l’aide de l’API Cloud Manager enableEnvironmentAdvancedNetworkingConfiguration opération.
requête 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
Définition des paramètres JSON dans une vpn-configure.json
et fourni à curl via ... -d @./vpn-configure.json
.
Téléchargez l’exemple 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
déclare un ensemble d’hôtes pour lequel le port 80 ou 443 doit être acheminé par les plages d’adresses IP partagées par défaut plutôt que par l’adresse IP sortante dédiée. nonProxyHosts
peut s’avérer utile, car le trafic passant par les adresses IP partagées peut être optimisé automatiquement par Adobe.
Pour chaque portForwards
, la mise en réseau avancée définit la règle de transfert suivante :
Hôte du proxy | Port du proxy | Hôte externe | Port externe | |
---|---|---|---|---|
AEM_PROXY_HOST |
portForwards.portOrig |
→ | portForwards.name |
portForwards.portDest |
Si votre déploiement AEM only nécessite des connexions HTTP/HTTPS à un service externe ; laissez la variable portForwards
vide, car ces règles ne sont requises que pour les requêtes non HTTP/HTTPS.
Pour chaque environnement, validez les règles de routage vpn en vigueur à l’aide de l’API Cloud Manager. getEnvironmentAdvancedNetworkingConfiguration opération.
requête 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'
Les configurations de proxy de réseau privé virtuel peuvent être mises à jour à l’aide de l’API Cloud Manager. enableEnvironmentAdvancedNetworkingConfiguration opération. Mémoriser enableEnvironmentAdvancedNetworkingConfiguration
est un PUT
toutes les règles doivent donc être fournies avec chaque appel de cette opération.
Vous pouvez désormais utiliser la configuration de sortie de réseau privé virtuel dans votre code d’AEM personnalisé et dans votre configuration.
Lorsque le réseau privé virtuel est activé, le code AEM et la configuration peuvent les utiliser pour lancer des appels à des services externes via le VPN. Il existe deux types d’appels externes qui AEM traitent différemment :
Les requêtes HTTP/HTTPS provenant d’AEM sur les ports standard (80/443) sont autorisées par défaut, mais elles n’utiliseront pas la connexion VPN si elles ne sont pas configurées correctement comme décrit ci-dessous.
Lors de la création de connexions HTTP/HTTPS à partir d’AEM, lors de l’utilisation de VPN, les connexions HTTP/HTTPS sont automatiquement traitées par proxy hors d’AEM. Aucun code ou configuration supplémentaire n’est requis pour la prise en charge des connexions HTTP/HTTPS.
Voir la documentation d’AEM sur le réseau privé virtuel d’as a Cloud Service pour l’ensemble complet des règles de routage.
![]() Exemple de code Java™ permettant d’établir une connexion HTTP/HTTPS d’AEM as a Cloud Service à un service externe à l’aide du protocole HTTP/HTTPS. |
Lors de la création de connexions non HTTP/HTTPS (ex. SQL, SMTP, etc.) depuis AEM, la connexion doit être établie par un nom d’hôte spécial fourni par AEM.
| Nom de variable | Utilisation | Code Java™ | Configuration OSGi | | - | - | - | - | | AEM_PROXY_HOST
| Hôte proxy pour les connexions non HTTP/HTTPS | System.getenv("AEM_PROXY_HOST")
| $[env:AEM_PROXY_HOST]
|
Les connexions à des services externes sont ensuite appelées par l’intermédiaire de la fonction AEM_PROXY_HOST
et le port mappé (portForwards.portOrig
), qui AEM ensuite achemine vers le nom d’hôte externe mappé (portForwards.name
) et port (portForwards.portDest
).
Hôte du proxy | Port du proxy | Hôte externe | Port externe | |
---|---|---|---|---|
AEM_PROXY_HOST |
portForwards.portOrig |
→ | portForwards.name |
portForwards.portDest |
La configuration du réseau privé virtuel limite l’accès à AEM environnements as a Cloud Service à un VPN.
![]() Configurez une liste autorisée IP de sorte que seul le trafic VPN puisse accéder à AEM. |
![]() Nécessite un accès VPN pour des chemins spécifiques sur AEM Publish. |