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 di 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. Come porte di uscita flessibili, l'IP di uscita dedicato consente di uscire su porte non standard.
Un programma Cloud Manager può avere solo un tipo di infrastruttura di rete singolo. Prima di eseguire i seguenti comandi, assicurati che l'indirizzo IP in uscita dedicato sia il tipo di infrastruttura di rete 🔗 più appropriato per il tuo AEM as a Cloud Service.
Prerequisiti
Quando si imposta un indirizzo IP in uscita dedicato utilizzando le API di Cloud Manager, è necessario quanto segue:
-
API Cloud Manager con autorizzazioni Proprietario business Cloud Manager
-
Accesso a credenziali di autenticazione API 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 Cloud Manager
Per ulteriori dettagli consulta come impostare, configurare e ottenere le credenziali API di Cloud Manager, per utilizzarle per effettuare una chiamata API di Cloud Manager.
Questo tutorial utilizza curl
per creare le configurazioni API di Cloud Manager. I comandi curl
forniti assumono una sintassi Linux/macOS. Se si utilizza il prompt dei comandi di Windows, sostituire il 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.
È possibile abilitare un indirizzo IP in uscita dedicato utilizzando Cloud Manager. I passaggi seguenti descrivono come abilitare l’indirizzo IP in uscita dedicato su AEM as a Cloud Service utilizzando Cloud Manager.
-
Accedi a Adobe Experience Manager Cloud Manager come Proprietario business Cloud Manager.
-
Passa al programma desiderato.
-
Nel menu a sinistra, passare a Servizi > Infrastruttura di rete.
-
Selezionare il pulsante Aggiungi infrastruttura di rete.
-
Nella finestra di dialogo Aggiungi infrastruttura di rete, seleziona l'opzione Indirizzo IP in uscita dedicato e la Area per creare l'indirizzo IP in uscita dedicato.
-
Seleziona Salva per confermare l'aggiunta dell'indirizzo IP in uscita dedicato.
-
Attendere che l'infrastruttura di rete venga creata e contrassegnata come Pronta. Questo processo può richiedere fino a 1 ora.
Una volta creato l’indirizzo IP in uscita dedicato, puoi configurarlo utilizzando le API di Cloud Manager come descritto di seguito.
È possibile abilitare un indirizzo IP in uscita dedicato utilizzando le API di Cloud Manager. I passaggi seguenti descrivono come abilitare l’indirizzo IP in uscita dedicato su AEM as a Cloud Service utilizzando l’API Cloud Manager.
-
In primo luogo, determinare l'area in cui è necessaria la rete avanzata utilizzando l'operazione listRegions dell'API Cloud Manager.
region name
è necessario per effettuare chiamate API Cloud Manager successive. 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 nei dettagli ambiente. Il nome dell'area visualizzato in Cloud Manager può essere mappato al codice dell'area utilizzato nell'API 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'operazione API Cloud Manager createNetworkInfrastructure. Utilizza il codice
region
appropriato ottenuto dall'operazionelistRegions
dell'API Cloud Manager.createNetworkInfrastructure richiesta HTTP
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" }'
Attendere 15 minuti affinché il programma Cloud Manager esegua il provisioning dell'infrastruttura di rete.
-
Verificare che il programma abbia completato la configurazione di indirizzo IP in uscita dedicato tramite l'operazione getNetworkInfrastructure dell'API Cloud Manager, utilizzando
id
restituito dalla richiesta HTTPcreateNetworkInfrastructure
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'
Verificare che la risposta HTTP contenga un stato di pronto. Se non è ancora pronto, ricontrolla lo stato ogni pochi minuti.
Una volta creato l’indirizzo IP in uscita dedicato, puoi configurarlo utilizzando le API di Cloud Manager come descritto di seguito.
Configurare proxy di indirizzi IP in uscita dedicati per ambiente
-
Configura la configurazione dell'indirizzo IP in uscita dedicato in ogni ambiente AEM as a Cloud Service utilizzando l'operazione enableEnvironmentAdvancedNetworkingConfiguration dell'API Cloud Manager.
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
Definisci i parametri JSON in un
dedicated-egress-ip-address.json
e forniti per curl tramite... -d @./dedicated-egress-ip-address.json
.Scarica l'esempio di indirizzo-ip-in-uscita.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 differisce solo dalla porta di uscita flessibile in quanto supporta anche la configurazione opzionale
nonProxyHosts
.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 il traffico in uscita attraverso gli IP condivisi viene ottimizzato automaticamente da Adobe.Per ogni mappatura
portForwards
, 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'operazione API getEnvironmentAdvancedNetworkingConfiguration di Cloud Manager.
getEnvironmentAdvancedNetworkingConfiguration richiesta HTTP
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'operazione API enableEnvironmentAdvancedNetworkingConfiguration di Cloud Manager. Ricorda che
enableEnvironmentAdvancedNetworkingConfiguration
è un'operazionePUT
, pertanto tutte le regole devono essere fornite con ogni chiamata di questa operazione. -
Ottenere l'indirizzo IP in uscita dedicato utilizzando un sistema di risoluzione DNS (ad esempio DNSChecker.org) nell'host
p{programId}.external.adobeaemcloud.com
oppure eseguendodig
dalla riga di comando.code language-shell $ dig +short p{programId}.external.adobeaemcloud.com
Il nome host non può essere
pinged
, poiché è in uscita e non e in ingresso.L’indirizzo IP in uscita dedicato è condiviso da tutti gli ambienti AEM as a Cloud Service del 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 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 utilizzano l’indirizzo IP in uscita dedicato se non 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 chiamate tramite AEM_PROXY_HOST
e la porta mappata (portForwards.portOrig
), che AEM indirizza quindi al nome host esterno mappato (portForwards.name
) e alla porta (portForwards.portDest
).
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest