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:

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.

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

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

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

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

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

  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 utilizzeranno l’indirizzo IP in uscita dedicato se non sono configurate in modo appropriato come descritto di seguito.

TIP
Consulta la documentazione dedicata dell’indirizzo IP in uscita dell’as a Cloud Service AEM per insieme completo di regole di instradamento.

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 rendere la connessione HTTP/HTTPS dall’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 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).

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