Indirizzo IP di uscita dedicato
Scopri come impostare e utilizzare l’indirizzo IP in uscita dedicato, che consente alle connessioni in uscita dall’AEM di provenire da un IP dedicato.
Cos’è l’indirizzo IP in uscita dedicato?
L’indirizzo IP in uscita dedicato consente alle richieste dell’AEM as a Cloud Service di utilizzare un indirizzo IP dedicato, consentendo ai servizi esterni di filtrare le richieste in ingresso in base a tale indirizzo IP. Mi piace porte di uscita flessibili, l’IP in uscita dedicato consente l’uscita su porte non standard.
Un programma Cloud Manager può avere solo singolo tipo di infrastruttura di rete. Assicurati che l’indirizzo IP in uscita dedicato sia il più tipo appropriato di infrastruttura di rete per l’AEM as a Cloud Service prima di eseguire i seguenti comandi.
Prerequisiti
Durante la configurazione dell’indirizzo IP in uscita dedicato sono necessari i seguenti elementi:
-
API di Cloud Manager con Autorizzazioni di Proprietario business di Cloud Manager
-
Accesso a Credenziali di autenticazione API di Cloud Manager
- ID organizzazione (ID organizzazione IMS)
- ID client (alias chiave API)
- Token di accesso (token Bearer)
-
ID del programma Cloud Manager
-
ID dell’ambiente di Cloud Manager
Per ulteriori dettagli, consulta la procedura dettagliata seguente per scoprire come impostare, configurare e ottenere le credenziali API di Cloud Manager e come utilizzarle per effettuare una chiamata API di Cloud Manager.
Questa esercitazione utilizza curl
per effettuare le configurazioni API di Cloud Manager. Il fornito curl
I comandi presuppongono una sintassi Linux/macOS. Se si utilizza il prompt dei comandi di Windows, sostituire \
carattere di interruzione di riga con ^
.
Abilita indirizzo IP in uscita dedicato sul programma
Per iniziare, abilita e configura l’indirizzo IP in uscita dedicato su AEM as a Cloud Service.
-
Innanzitutto, determina l’area geografica in cui è necessaria la rete avanzata, utilizzando l’API di Cloud Manager. listRegions operazione. Il
region name
è richiesto per effettuare chiamate API successive di Cloud Manager. In genere, viene utilizzata l’area in cui risiede l’ambiente di produzione.Trova l’area geografica dell’ambiente AEM as a Cloud Service in Cloud Manager sotto dettagli dell’ambiente. Il nome dell’area visualizzato in Cloud Manager può essere mappato al codice di regione utilizzato nell’API di Cloud Manager.
richiesta 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'
-
Abilitare l’indirizzo IP in uscita dedicato per un programma Cloud Manager utilizzando l’API di Cloud Manager createNetworkInfrastructure operazione. Utilizza il
region
codice ottenuto dall’API di Cloud ManagerlistRegions
operazione.richiesta 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" }'
Attendi 15 minuti affinché il programma Cloud Manager esegua il provisioning dell’infrastruttura di rete.
-
Verifica che il programma sia stato completato indirizzo IP in uscita dedicato configurazione tramite l’API di Cloud Manager getNetworkInfrastructure funzionamento, utilizzando
id
restituito dalla richiesta HTTP createNetworkInfrastructure nel passaggio precedente.richiesta 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'
Verifica che la risposta HTTP contenga un stato di pronto. Se non è ancora pronto, ricontrolla lo stato ogni pochi minuti.
Configurare proxy di indirizzi IP in uscita dedicati per ambiente
-
Configurare indirizzo IP in uscita dedicato configurazione in ogni ambiente AEM as a Cloud Service tramite l’API di Cloud Manager enableEnvironmentAdvancedNetworkingConfiguration operazione.
enableEnvironmentAdvancedNetworkingConfiguration richiesta HTTP
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
Definire i parametri JSON in una
dedicated-egress-ip-address.json
e forniti a curl tramite... -d @./dedicated-egress-ip-address.json
.Scarica l’esempio di indirizzo IP in uscita dedicato.json. Questo file è solo un esempio. Configura il file come richiesto in base ai campi facoltativi/obbligatori documentati in 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 firma HTTP della configurazione dell’indirizzo IP in uscita dedicato è diversa solo da porta di uscita flessibile in quanto supporta anche il
nonProxyHosts
configurazione.nonProxyHosts
dichiara un set di host per i quali la porta 80 o 443 deve essere instradata attraverso gli intervalli di indirizzi IP condivisi predefiniti anziché attraverso l’IP in uscita dedicato.nonProxyHosts
può essere utile in quanto, ad Adobe, il traffico in uscita attraverso gli IP condivisi può essere ulteriormente ottimizzato automaticamente.Per ogni
portForwards
mappatura, la rete avanzata definisce la seguente regola di inoltro:table 0-row-5 1-row-5 Host proxy Porta proxy Host esterno Porta esterna AEM_PROXY_HOST
portForwards.portOrig
→ portForwards.name
portForwards.portDest
-
Per ogni ambiente, verifica che le regole di uscita siano attive utilizzando l’API di Cloud Manager. getEnvironmentAdvancedNetworkingConfiguration operazione.
richiesta 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'
-
Le configurazioni degli indirizzi IP in uscita dedicati possono essere aggiornate utilizzando l’API di Cloud Manager enableEnvironmentAdvancedNetworkingConfiguration operazione. Ricorda
enableEnvironmentAdvancedNetworkingConfiguration
è unPUT
, pertanto tutte le regole devono essere fornite con ogni chiamata di questa operazione. -
Ottenere il indirizzo IP in uscita dedicato utilizzando un sistema di risoluzione DNS (ad esempio DNSChecker.org) sull'host:
p{programId}.external.adobeaemcloud.com
, o eseguendodig
dalla riga di comando.code language-shell $ dig +short p{programId}.external.adobeaemcloud.com
Il nome host non può essere
pinged
, in quanto è un’uscita e non e l'ingresso.Osserva indirizzo IP in uscita dedicato è condiviso da tutti gli ambienti AEM as a Cloud Service nel programma.
-
Ora puoi utilizzare l’indirizzo IP in uscita dedicato nel codice AEM e nella configurazione personalizzati. Spesso quando si utilizza un indirizzo IP in uscita dedicato, i servizi esterni a cui l’AEM as a Cloud Service si connette sono configurati per consentire solo il traffico da questo indirizzo IP dedicato.
Connessione a servizi esterni tramite indirizzo IP in uscita dedicato
Con l’indirizzo IP in uscita dedicato abilitato, il codice e la configurazione AEM possono utilizzare l’IP in uscita dedicato per effettuare chiamate a servizi esterni. Esistono due tipi di chiamate esterne che l’AEM tratta in modo diverso:
- Chiamate HTTP/HTTPS a servizi esterni
- Include le chiamate HTTP/HTTPS effettuate a servizi in esecuzione su porte diverse dalle porte standard 80 o 443.
- chiamate non HTTP/HTTPS a servizi esterni
- Include tutte le chiamate non HTTP, ad esempio le connessioni con i server di posta, i database SQL o i servizi eseguiti su altri protocolli non HTTP/HTTPS.
Le richieste HTTP/HTTPS dall’AEM sulle porte standard (80/443) sono consentite per impostazione predefinita, ma non utilizzeranno l’indirizzo IP in uscita dedicato se non sono configurate in modo appropriato come descritto di seguito.
HTTP/HTTPS
Quando si creano connessioni HTTP/HTTPS dall’AEM, quando si utilizza un indirizzo IP in uscita dedicato, le connessioni HTTP/HTTPS vengono automaticamente escluse dall’AEM utilizzando l’indirizzo IP in uscita dedicato. Per supportare le connessioni HTTP/HTTPS non è necessario alcun codice o configurazione aggiuntivi.
Esempi di codice
Connessioni non HTTP/HTTPS a servizi esterni
Durante la creazione di connessioni non HTTP/HTTPS (ad es. SQL, SMTP e così via) dall’AEM, la connessione deve essere effettuata attraverso uno speciale nome host fornito dall’AEM.
AEM_PROXY_HOST
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]
Le connessioni ai servizi esterni vengono quindi richiamate tramite AEM_PROXY_HOST
e la porta mappata (portForwards.portOrig
), che AEM indirizza quindi al nome host esterno mappato (portForwards.name
) e porta (portForwards.portDest
).
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest