Adresse IP de sortie dédiée
Découvrez comment configurer et utiliser une adresse IP de sortie dédiée, qui permet aux connexions sortantes d’AEM d’être issues d’une adresse IP dédiée.
Qu’est-ce que l’adresse IP de sortie dédiée ?
Une adresse IP de sortie dédiée permet aux requêtes d’AEM as a Cloud Service d’utiliser une adresse IP dédiée, ce qui permet aux services externes de filtrer les requêtes entrantes par cette adresse IP. Comme les ports de sortie flexibles, une adresse IP de sortie dédiée vous permet de passer sur des ports non standards.
Un programme Cloud Manager ne peut avoir qu’un seul type d’infrastructure réseau. Assurez-vous que l’adresse IP de sortie dédiée est le type le plus approprié d’infrastructure réseau pour votre instance AEM as a Cloud Service avant d’exécuter les commandes suivantes.
Conditions préalables
Les éléments suivants sont requis lors de la configuration d’une adresse IP de sortie dédiée qui utilise les API Cloud Manager :
-
API Cloud Manager avec autorisations de la personne propriétaire d’entreprise Cloud Manager
-
Accès aux informations d’identification de l’authentification à l’API Cloud Manager
- ID d’organisation (ou ID d’organisation IMS)
- ID client (ou clé API)
- Jeton d’accès (ou jeton porteur)
-
ID de programme Cloud Manager
-
ID d’environnement de Cloud Manager
Pour plus d’informations, passez en revue la configuration, la configuration et l’obtention des informations d’identification de l’API Cloud Manager afin de 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. Les commandes curl
fournies reposent sur la syntaxe Linux/macOS. Si vous utilisez l’invite de commande Windows, remplacez le caractère de saut de ligne \
par ^
.
Activer l’adresse IP de sortie dédiée sur le programme
Commencez par activer et configurer l’adresse IP de sortie dédiée sur AEM as a Cloud Service.
L’adresse IP de sortie dédiée peut être activée à l’aide de Cloud Manager. Les étapes suivantes indiquent comment activer les adresses IP de sortie dédiées sur AEM as a Cloud Service à l’aide de Cloud Manager.
-
Connectez-vous à Adobe Experience Manager Cloud Manager en tant que personne propriétaire d’entreprise Cloud Manager.
-
Accédez au programme souhaité.
-
Dans le menu de gauche, accédez à Services > Infrastructure de réseau.
-
Sélectionnez le bouton Ajouter une infrastructure de réseau.
-
Dans la boîte de dialogue Ajouter une infrastructure de réseau, sélectionnez Adresse IP de sortie dédiée et sélectionnez l’option Région pour créer l’adresse IP de sortie dédiée.
-
Sélectionnez Enregistrer pour confirmer l’ajout de l’adresse IP de sortie dédiée.
-
Attendez que l’infrastructure de réseau soit créée et marquée comme Prête. Ce processus peut prendre jusqu’à 1 heure.
Une fois l’adresse IP de sortie dédiée créée, vous pouvez la configurer à l’aide des API Cloud Manager comme décrit ci-dessous.
Les adresses IP de sortie dédiées peuvent être activées à l’aide des API Cloud Manager. Les étapes suivantes décrivent comment activer l’adresse IP sortante dédiée sur AEM as a Cloud Service à l’aide de l’API Cloud Manager.
-
Tout d’abord, déterminez la région dans laquelle la mise en réseau avancée est nécessaire à l’aide de l’opération listRegion de l’API Cloud Manager. Le
region name
est nécessaire pour effectuer les appels d’API Cloud Manager ultérieurs. En règle générale, la région dans laquelle l’environnement de production réside est utilisée.Recherchez la région de votre environnement AEM as a Cloud Service AEM dans Cloud Manager sous les détails de l’environnement. Le nom de région affiché dans Cloud Manager peut être mappé au code de région utilisé dans l’API Cloud Manager.
Requête HTTP listRegion
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'
-
Activez l’adresse IP de sortie dédiée pour un programme Cloud Manager à l’aide de l’opération createNetworkInfrastructure de l’API Cloud Manager. Utilisez le code
region
approprié obtenu de l’opérationlistRegions
de l’API Cloud Manager.Requête 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 '{ "kind": "dedicatedEgressIp", "region": "va7" }'
Patientez 15 minutes pendant que le programme Cloud Manager approvisionne l’infrastructure réseau.
-
Vérifiez que le programme a terminé la configuration de l’adresse IP de sortie dédiée à l’aide de l’opération getNetworkInfrastructure de l’API Cloud Manager et de l’
id
renvoyé par la requête HTTPcreateNetworkInfrastructure
dans l’étape précédente.Requête 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: Bearer <ACCESS_TOKEN>' \ -H 'Content-Type: application/json'
Vérifiez que la réponse HTTP contient un statut prêt. Si elle n’est pas encore prête, revérifiez le statut quelques minutes plus tard.
Une fois l’adresse IP de sortie dédiée créée, vous pouvez la configurer à l’aide des API Cloud Manager comme décrit ci-dessous.
Configurer des proxys d’adresses IP de sorties dédiées par environnement
-
Définissez la configuration de l’adresse IP de sortie dédiée sur chaque environnement AEM as a Cloud Service à l’aide de l’opération enableEnvironmentAdvancedNetworkingConfiguration de l’API Cloud Manager.
Requête 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 @./dedicated-egress-ip-address.json
Définissez les paramètres JSON dans un
dedicated-egress-ip-address.json
et fourni à curl via... -d @./dedicated-egress-ip-address.json
.Téléchargez l’exemple de dedicated-egress-ip-address.json. Ce fichier n’est qu’un exemple. Configurez votre fichier selon les besoins en fonction des champs facultatifs/obligatoires documentés dans enableEnvironmentAdvancedNetworkingConfiguration.
code language-json { "nonProxyHosts": [ "example.net", "*.example.org", ], "portForwards": [ { "name": "mysql.example.com", "portDest": 3306, "portOrig": 30001 }, { "name": "smtp.sendgrid.net", "portDest": 465, "portOrig": 30002 } ] }
La signature HTTP de la configuration de l’adresse IP de sortie dédiée diffère du port de sortie flexible uniquement parce qu’il prend également en charge la configuration facultative
nonProxyHosts
.nonProxyHosts
déclare un ensemble d’hôtes pour lesquels 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 de sortie dédiée.nonProxyHosts
peut s’avérer utile, car le trafic sortant par les adresses IP partagées est optimisé automatiquement par Adobe.Pour chaque mappage
portForwards
, la mise en réseau avancée définit la règle de transfert suivante :table 0-row-5 1-row-5 Hôte du proxy Port du proxy Hôte externe Port externe AEM_PROXY_HOST
portForwards.portOrig
→ portForwards.name
portForwards.portDest
-
Pour chaque environnement, validez les règles de sortie en vigueur à l’aide de l’opération getEnvironmentAdvancedNetworkingConfiguration de l’API Cloud Manager.
Requête HTTP getEnvironmentAdvancedNetworkingConfiguration
code language-shell $ 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: <YOUR_TOKEN>' \ -H 'Content-Type: application/json'
-
Les configurations d’adresses IP de sorties dédiées peuvent être mises à jour à l’aide de l’opération enableEnvironmentAdvancedNetworkingConfiguration de l’API Cloud Manager. N’oubliez pas que
enableEnvironmentAdvancedNetworkingConfiguration
est une opérationPUT
, et que toutes les règles doivent par conséquent être fournies à chaque appel de cette opération. -
Obtenez l’adresse IP de sortie dédiée en utilisant un résolveur DNS (tel que DNSChecker.org) sur l’hôte :
p{programId}.external.adobeaemcloud.com
, ou en exécutantdig
à partir de la ligne de commande.code language-shell $ dig +short p{programId}.external.adobeaemcloud.com
Le nom d’hôte ne peut pas être
pinged
, car il s’agit d’une sortie et non d’une entrée.Notez que l’adresse IP de sortie dédiée est partagé par tous les environnements AEM as a Cloud Service du programme.
-
Vous pouvez désormais utiliser l’adresse IP de sortie dédiée dans votre code personnalisé et dans votre configuration AEM. Souvent, lors de l’utilisation d’une adresse IP de sortie dédiée, les services externes auxquels AEM as a Cloud Service se connecte sont configurés pour autoriser uniquement le trafic à partir de cette adresse IP dédiée.
Se connecter à des services externes sur une adresse IP de sortie dédiée
Lorsque l’adresse IP de sortie dédiée est activée, le code et la configuration AEM peuvent utiliser l’adresse IP de sortie dédiée pour effectuer des appels vers des services externes. Il existe deux types d’appels externes qu’AEM traite différemment :
- Appels HTTP/HTTPS vers des services externes
- Cela inclut les appels HTTP/HTTPS effectués aux services s’exécutant sur des ports autres que les ports 80 ou 443 standard.
- Appels non HTTP/HTTPS aux services externes
- Cela inclut tous les appels non HTTP, tels que les connexions aux serveurs de messagerie, aux bases de données SQL ou aux services qui s’exécutent sur d’autres protocoles non HTTP/HTTPS.
Les requêtes HTTP/HTTPS provenant d’AEM sur les ports standard (80/443) sont autorisées par défaut, mais elles n’utilisent pas l’adresse IP de sortie dédiée si elles ne sont pas correctement configurées comme décrit ci-dessous.
HTTP/HTTPS
Lors de la création de connexions HTTP/HTTPS à partir d’AEM et de l’utilisation d’adresses IP de sortie dédiées, les connexions HTTP/HTTPS sont automatiquement traitées par proxy hors d’AEM à l’aide de l’adresse IP de sortie dédiée. La prise en charge des connexions HTTP/HTTPS ne nécessite pas de code ou de configuration supplémentaire.
Exemples de code
Connexions non HTTP/HTTPS à des services externes
Lors de la création de connexions non HTTP/HTTPS (par exemple, SQL, SMTP, etc.) depuis AEM, la connexion doit être établie par un nom d’hôte spécial fourni par AEM.
AEM_PROXY_HOST
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]
Les connexions à des services externes sont ensuite appelées par l’intermédiaire de AEM_PROXY_HOST
et du port mappé (portForwards.portOrig
), qu’AEM achemine ensuite vers le nom d’hôte externe mappé (portForwards.name
) et le port (portForwards.portDest
).
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest