Saiba como conectar o AEM as a Cloud Service com sua VPN para criar canais de comunicação seguros entre o AEM e os serviços internos.
A VPN (Virtual Private Network) permite que um cliente as a Cloud Service AEM se conecte os ambientes AEM de um programa do Cloud Manager para um existente, suportado VPN. Isso permite conexões seguras e controladas entre o AEM as a Cloud Service e os serviços na rede do cliente.
Um programa do Cloud Manager só pode ter um solteiro tipo de infraestrutura de rede. Certifique-se de que a Rede Virtual Privada seja a mais tipo adequado de infraestrutura de rede para o AEM as a Cloud Service antes de executar os seguintes comandos.
Observe que não há suporte para a conexão do ambiente de compilação do Cloud Manager a uma VPN. Se você precisar acessar artefatos binários de um repositório privado, configure um repositório seguro e protegido por senha com um URL que esteja disponível na Internet pública conforme descrito aqui.
Os seguintes itens são necessários ao configurar a Rede Virtual Privada:
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 ^
.
Comece habilitando a Rede privada virtual no AEM as a Cloud Service.
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
$ 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'
Ativar a rede privada virtual para um programa do Cloud Manager usando as APIs do Cloud Manager createNetworkInfrastructure operação. Use o region
código obtido da API do Cloud Manager listRegions
operação.
solicitação HTTP createNetworkInfrastructure
$ 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 @./vpn-create.json
Defina os parâmetros JSON em uma vpn-create.json
e fornecido para curl via ... -d @./vpn-create.json
.
Baixe o exemplo vpn-create.json. Este arquivo é apenas um exemplo. Configure seu arquivo conforme necessário com base nos campos opcionais/obrigatórios documentados em enableEnvironmentAdvancedNetworkingConfiguration.
{
"kind": "vpn",
"region": "va7",
"addressSpace": [
"10.104.182.64/26"
],
"dns": {
"resolvers": [
"10.151.201.22",
"10.151.202.22",
"10.154.155.22"
],
"domains": [
"wknd.site",
"wknd.com"
]
},
"connections": [{
"name": "connection-1",
"gateway": {
"address": "195.231.212.78",
"addressSpace": [
"10.151.0.0/16",
"10.152.0.0/16",
"10.153.0.0/16",
"10.154.0.0/16",
"10.142.0.0/16",
"10.143.0.0/16",
"10.124.128.0/17"
]
},
"sharedKey": "<secret_shared_key>",
"ipsecPolicy": {
"dhGroup": "ECP256",
"ikeEncryption": "AES256",
"ikeIntegrity": "SHA256",
"ipsecEncryption": "AES256",
"ipsecIntegrity": "SHA256",
"pfsGroup": "ECP256",
"saDatasize": 102400000,
"saLifetime": 3600
}
}]
}
Aguarde de 45 a 60 minutos para que o programa do Cloud Manager provisione a infraestrutura de rede.
Verifique se o ambiente terminou Rede privada virtual 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
$ 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: <YOUR_BEARER_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.
Habilite e configure o Rede privada virtual configuração em cada ambiente do AEM as a Cloud Service usando a API do Cloud Manager enableEnvironmentAdvancedNetworkingConfiguration operação.
solicitação HTTP enableEnvironmentAdvancedNetworkingConfiguration
$ 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 @./vpn-configure.json
Defina os parâmetros JSON em uma vpn-configure.json
e fornecido para curl via ... -d @./vpn-configure.json
.
Baixe o exemplo vpn-configure.json
{
"nonProxyHosts": [
"example.net",
"*.example.org"
],
"portForwards": [
{
"name": "mysql.example.com",
"portDest": 3306,
"portOrig": 30001
},
{
"name": "smtp.sendgrid.com",
"portDest": 465,
"portOrig": 30002
}
]
}
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:
Host do proxy | Porta do proxy | Host externo | Porta externa | |
---|---|---|---|---|
AEM_PROXY_HOST |
portForwards.portOrig |
→ | portForwards.name |
portForwards.portDest |
Se a sua implantação do AEM somente exige conexões HTTP/HTTPS para o serviço externo, deixe o portForwards
matriz vazia, pois essas regras são necessárias somente para solicitações não HTTP/HTTPS.
Para cada ambiente, valide se as regras de roteamento de VPN estão em vigor usando as APIs do Cloud Manager getEnvironmentAdvancedNetworkingConfiguration operação.
solicitação HTTP getEnvironmentAdvancedNetworkingConfiguration
$ 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: Bearer <ACCESS_TOKEN>' \
-H 'Content-Type: application/json'
As configurações de proxy de rede privada virtual 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.
Agora você pode usar a configuração de saída da rede privada virtual em seu código e configuração personalizados do AEM.
Com a rede privada virtual ativada, o código e a configuração do AEM podem usá-los para fazer chamadas para serviços externos por meio da VPN. Há duas opções de chamadas externas que o AEM trata de forma diferente:
As solicitações HTTP/HTTPS do AEM em portas padrão (80/443) são permitidas por padrão, mas não usarão a conexão VPN se não estiverem configuradas adequadamente conforme descrito abaixo.
Ao criar conexões HTTP/HTTPS a partir do AEM, ao usar VPN, as conexões HTTP/HTTPS são automaticamente enviadas por proxy do AEM. Nenhum código ou configuração adicional é necessário para oferecer suporte a conexões HTTP/HTTPS.
Consulte a documentação da Rede privada virtual do AEM as a Cloud Service para o conjunto completo de regras de roteamento.
![]() 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. |
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 |
A configuração da Rede privada virtual limita o acesso a ambientes as a Cloud Service AEM para uma VPN.
![]() Configure uma inclui na lista de permissões de IP de modo que somente o tráfego de VPN possa acessar o AEM. |
![]() Exigir acesso VPN para caminhos específicos na publicação do AEM. |