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:

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.

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.

Cloud Manager

È 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.

  1. Accedi a Adobe Experience Manager Cloud Manager come Proprietario business Cloud Manager.

  2. Passa al programma desiderato.

  3. Nel menu a sinistra, passare a Servizi > Infrastruttura di rete.

  4. Selezionare il pulsante Aggiungi infrastruttura di rete.

    Aggiungi infrastruttura di rete

  5. 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.

    Aggiungi indirizzo IP in uscita dedicato

  6. Seleziona Salva per confermare l'aggiunta dell'indirizzo IP in uscita dedicato.

    Conferma creazione indirizzo IP in uscita dedicato

  7. Attendere che l'infrastruttura di rete venga creata e contrassegnata come Pronta. Questo processo può richiedere fino a 1 ora.

    Stato creazione indirizzo IP in uscita dedicato

Una volta creato l’indirizzo IP in uscita dedicato, puoi configurarlo utilizzando le API di Cloud Manager come descritto di seguito.

API Cloud Manager

È 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.

  1. 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'
    
  2. 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'operazione listRegions 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.

  3. 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 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'
    

    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

  1. 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
  2. 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'
    
  3. Le configurazioni degli indirizzi IP in uscita dedicati possono essere aggiornate utilizzando l'operazione API enableEnvironmentAdvancedNetworkingConfiguration di Cloud Manager. Ricorda che enableEnvironmentAdvancedNetworkingConfiguration è un'operazione PUT, pertanto tutte le regole devono essere fornite con ogni chiamata di questa operazione.

  4. 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 eseguendo dig 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.

  5. 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:

  1. 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.
  2. 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.

TIP
Consulta la documentazione dedicata sugli indirizzi IP in uscita di AEM as a Cloud Service per l'intero set di regole di routing.

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

HTTP/HTTPS

HTTP/HTTPS

Esempio di codice Java™ per stabilire una connessione HTTP/HTTPS da AEM as a Cloud Service a un servizio esterno utilizzando il protocollo HTTP/HTTPS.

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.

Nome variabile
Utilizzare
Codice Java™
Configurazione OSGi
AEM_PROXY_HOST
Host proxy per connessioni non HTTP/HTTPS
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).

Host proxy
Porta proxy
Host esterno
Porta esterna
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Esempi di codice

Connessione SQL tramite DataSourcePool JDBC

Connessione SQL tramite DataSourcePool JDBC

Esempio di codice Java™ connessione a database SQL esterni tramite la configurazione del pool di origini dati JDBC dell'AEM.

Connessione SQL tramite API Java

Connessione SQL tramite API Java™

Esempio di codice Java™ per la connessione a database SQL esterni tramite le API SQL di Java™.

Virtual Private Network (VPN)

Servizio di posta elettronica

Esempio di configurazione OSGi con AEM per la connessione a servizi di posta elettronica esterni.

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69