Endereço IP de saída exclusivo

Saiba como configurar e usar o endereço IP de saída dedicado, que permite que as conexões de saída do AEM se originem de um IP dedicado.

O que é o endereço IP de saída dedicado?

Endereço IP de saída dedicado permite que solicitações do AEM as a Cloud Service usem um endereço IP dedicado, permitindo que os serviços externos filtrem solicitações recebidas por esse endereço IP. Curtir portas de saída flexíveis, o IP de saída dedicado permite que você saia em portas fora do padrão.

Um programa do Cloud Manager só pode ter um solteiro tipo de infraestrutura de rede. Certifique-se de que o endereço IP de saída dedicado seja o mais tipo adequado de infraestrutura de rede para o AEM as a Cloud Service antes de executar os seguintes comandos.

Pré-requisitos

Os seguintes itens são necessários ao configurar o endereço IP de saída dedicado:

Para obter mais detalhes, assista à seguinte apresentação de como configurar e obter credenciais da API do Cloud Manager e como usá-las para fazer uma chamada de API do Cloud Manager.

Este tutorial usa curl para fazer as configurações da API do Cloud Manager. Os dados fornecidos curl assumem uma sintaxe Linux/macOS. Se estiver usando o prompt de comando do Windows, substitua o \ caractere de quebra de linha com ^.

Habilitar endereço IP de saída dedicado no programa

Comece habilitando e configurando o endereço IP de saída dedicado no AEM as a Cloud Service.

  1. Primeiro, determine a região em que a Rede avançada é necessária, usando a API do Cloud Manager listRegions operação. A variável region name O é necessário para fazer chamadas de API subsequentes do Cloud Manager. Normalmente, a região em que o ambiente de Produção reside é usada.

    Encontre a região do seu ambiente as a Cloud Service AEM em Cloud Manager no detalhes do ambiente. O nome da região exibido no Cloud Manager pode ser mapeado para o código de região usada na API do Cloud Manager.

    solicitação 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. Ative o endereço IP de saída dedicado para um programa do Cloud Manager usando a API do Cloud Manager createNetworkInfrastructure operação. Use o region código obtido da API do Cloud Manager listRegions operação.

    solicitação 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" }'
    

    Aguarde 15 minutos para que o programa do Cloud Manager provisione a infraestrutura de rede.

  3. Verifique se o programa foi concluído endereço IP de saída dedicado configuração usando a API do Cloud Manager getNetworkInfrastructure operação, utilizando o id retornado da solicitação HTTP createNetworkInfrastructure na etapa anterior.

    solicitação 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'
    

    Verifique se a resposta HTTP contém um status de pronto. Se ainda não estiver pronto, verifique novamente o status a cada poucos minutos.

Configurar proxies dedicados de endereço IP de saída por ambiente

  1. Configure o endereço IP de saída dedicado configuração em cada ambiente do AEM as a Cloud Service usando a API do Cloud Manager enableEnvironmentAdvancedNetworkingConfiguration operação.

    solicitação 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
    

    Defina os parâmetros JSON em uma dedicated-egress-ip-address.json e fornecido para curl via ... -d @./dedicated-egress-ip-address.json.

    Baixe o exemplo dedicated-egress-ip-address.json. Este arquivo é apenas um exemplo. Configure seu arquivo conforme necessário com base nos campos opcionais/obrigatórios documentados em 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
            }
        ]
    }
    

    A assinatura HTTP da configuração de endereço IP de saída dedicado é diferente apenas da porta de saída flexível na medida em que também apoia a nonProxyHosts configuração.

    nonProxyHosts declara um conjunto de hosts para o qual a porta 80 ou 443 deve ser roteada por meio dos intervalos de endereços IP compartilhados padrão em vez do IP de saída dedicado. nonProxyHosts pode ser útil, pois a criação de tráfego por meio de IPs compartilhados pode ser otimizada ainda mais automaticamente pelo Adobe.

    Para cada portForwards de rede avançada define a seguinte regra de encaminhamento:

    table 0-row-5 1-row-5
    Host do proxy Porta do proxy Host externo Porta externa
    AEM_PROXY_HOST portForwards.portOrig portForwards.name portForwards.portDest
  2. Para cada ambiente, valide se as regras de saída estão em vigor usando a API do Cloud Manager getEnvironmentAdvancedNetworkingConfiguration operação.

    solicitação 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. Configurações de endereço IP de saída dedicado podem ser atualizadas usando a API do Cloud Manager enableEnvironmentAdvancedNetworkingConfiguration operação. Lembrar enableEnvironmentAdvancedNetworkingConfiguration é um PUT para que todas as regras sejam fornecidas com cada chamada desta operação.

  4. Obtenha o endereço IP de saída dedicado usando um Resolvedor de DNS (como DNSChecker.org) no host: p{programId}.external.adobeaemcloud.comou executando dig na linha de comando.

    code language-shell
    $ dig +short p{programId}.external.adobeaemcloud.com
    

    O nome de host não pode ser pinged, uma vez que se trata de uma saída e não e entrada.

    Observe que endereço IP de saída dedicado é compartilhado por todos os ambientes as a Cloud Service AEM no programa.

  5. Agora você pode usar o endereço IP de saída dedicado no código e configuração personalizados do AEM. Geralmente, ao usar o endereço IP de saída dedicado, os serviços externos aos quais o AEM as a Cloud Service se conecta são configurados para permitir apenas o tráfego desse endereço IP dedicado.

Conexão com serviços externos por meio do endereço IP de saída dedicado

Com o endereço IP de saída dedicado ativado, o código e a configuração do AEM podem usar o IP de saída dedicado para fazer chamadas para serviços externos. Há duas opções de chamadas externas que o AEM trata de forma diferente:

  1. Chamadas HTTP/HTTPS para serviços externos
    • Inclui chamadas HTTP/HTTPS feitas para serviços executados em portas diferentes das portas padrão 80 ou 443.
  2. chamadas não HTTP/HTTPS para serviços externos
    • Inclui chamadas não HTTP, como conexões com servidores de email, bancos de dados SQL ou serviços que são executados em outros protocolos não HTTP/HTTPS.

As solicitações HTTP/HTTPS do AEM em portas padrão (80/443) são permitidas por padrão, mas não usarão o endereço IP de saída dedicado se não estiver configurado adequadamente, conforme descrito abaixo.

TIP
Consulte a documentação dedicada de endereço IP de saída do AEM as a Cloud Service para o conjunto completo de regras de roteamento.

HTTP/HTTPS

Ao criar conexões HTTP/HTTPS do AEM, ao usar o endereço IP de saída dedicado, as conexões HTTP/HTTPS são automaticamente enviadas por proxy do AEM usando o endereço IP de saída dedicado. Nenhum código ou configuração adicional é necessário para oferecer suporte a conexões HTTP/HTTPS.

Exemplos de código

HTTP/HTTPS

HTTP/HTTPS

Exemplo de código Java™ que faz a conexão HTTP/HTTPS do AEM as a Cloud Service para um serviço externo usando o protocolo HTTP/HTTPS.

Conexões não HTTP/HTTPS com serviços externos

Ao criar conexões não HTTP/HTTPS (por exemplo, SQL, SMTP e assim por diante) do AEM, a conexão deve ser feita por meio de um nome de host especial fornecido pelo AEM.

Nome da variável
Utilização
Código Java™
Configuração OSGi
AEM_PROXY_HOST
Host proxy para conexões não HTTP/HTTPS
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]

As conexões com serviços externos são então chamadas por meio do AEM_PROXY_HOST e a porta mapeada (portForwards.portOrig), que o AEM roteia para o nome de host externo mapeado (portForwards.name) e porta (portForwards.portDest).

Host do proxy
Porta do proxy
Host externo
Porta externa
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Exemplos de código

Conexão SQL usando JDBC DataSourcePool

Conexão SQL usando JDBC DataSourcePool

Exemplo de código Java™ conectando-se a bancos de dados SQL externos configurando o pool de fontes de dados JDBC do AEM.

Conexão SQL usando APIs Java

Conexão SQL usando APIs Java™

Exemplo de código Java™ conectando-se a bancos de dados SQL externos usando APIs SQL do Java™.

VPN (Virtual Private Network)

Serviço de e-mail

Exemplo de configuração OSGi usando AEM para se conectar a serviços de email externos.

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