Saiba como se conectar AEM as a Cloud Service com sua VPN para criar canais de comunicação seguros entre AEM e serviços internos.
A VPN (Virtual Private Network) permite que um cliente AEM as a Cloud Service se conecte os ambientes AEM dentro de um programa do Cloud Manager para um compatível VPN. Isso permite conexões seguras e controladas entre AEM serviços as a Cloud Service e na rede do cliente.
Um programa do Cloud Manager só pode ter um individual tipo de infraestrutura de rede. Certifique-se de que a rede privada virtual seja a mais tipo adequado de infraestrutura de rede para seu AEM as a Cloud Service antes de executar os seguintes comandos.
Observe que não há suporte para a conexão do ambiente de criação do Cloud Manager com uma VPN. Se você precisar acessar artefatos binários de um repositório privado, deverá configurar um repositório seguro e protegido por senha com um URL que esteja disponível na Internet pública conforme descrito aqui.
Os itens a seguir são necessários ao configurar a Rede Virtual Privada:
Para obter mais detalhes, consulte a seguinte apresentação sobre como configurar, configurar e obter credenciais da API do Cloud Manager e como usá-las para fazer uma chamada da API do Cloud Manager.
Este tutorial usa curl
para fazer as configurações da API do Cloud Manager. O curl
Os comandos assumem uma sintaxe Linux/macOS. Se estiver usando o prompt de comando do Windows, substitua o \
caractere de quebra de linha com ^
.
Comece ativando a Rede privada virtual AEM as a Cloud Service.
Primeiro, determine a região na qual a Rede avançada é necessária usando a API do Cloud Manager. listRegiões operação. O 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.
solicitação HTTP listRegiões
$ 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'
Habilitar rede privada virtual para um programa do Cloud Manager usando 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 um vpn-create.json
e fornecidos por via de curl ... -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 Cloud Manager forneça a infraestrutura de rede.
Verifique se o ambiente foi concluído Rede privada virtual configuração usando a API do Cloud Manager getNetworkInfrastructure , usando a 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 uma status de ready. Se ainda não estiver pronto, verifique novamente o status a cada poucos minutos.
Ative e configure a variável Rede privada virtual configuração em cada ambiente 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 um vpn-configure.json
e fornecidos por via de curl ... -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 os quais a porta 80 ou 443 deve ser roteada por meio dos intervalos de endereço IP compartilhado padrão em vez do IP de saída dedicado. nonProxyHosts
pode ser útil, pois o rastreamento de tráfego por meio de IPs compartilhados pode ser otimizado ainda mais automaticamente pelo Adobe.
Para cada portForwards
, a rede avançada define a seguinte regra de encaminhamento:
Host proxy | Porta proxy | Host externo | Porta externa | |
---|---|---|---|---|
AEM_PROXY_HOST |
portForwards.portOrig |
→ | portForwards.name |
portForwards.portDest |
Se sua implantação de AEM only requer conexões HTTP/HTTPS para serviço externo, deixe a variável portForwards
matriz vazia, pois essas regras são necessárias apenas para solicitações não HTTP/HTTPS.
Para cada ambiente, valide se as regras de roteamento de vpn estão em vigor usando a API 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
, portanto, todas as regras devem ser fornecidas com cada invocação desta operação.
Agora você pode usar a configuração de saída da Rede privada virtual em seu código e configuração de AEM personalizados.
Com a Rede privada virtual ativada, AEM código e configuração podem usá-las para fazer chamadas para serviços externos por meio da VPN. Há dois sabores de chamadas externas que AEM tratam de forma diferente:
Por padrão, as solicitações HTTP/HTTPS de AEM em portas padrão (80/443) são permitidas, mas não usarão a conexão VPN se não estiver configurada 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 AEM. Não é necessário nenhum código ou configuração adicional para suportar conexões HTTP/HTTPS.
Consulte AEM documentação da Virtual Private Network do as a Cloud Service para obter o conjunto completo de regras de roteamento.
![]() Exemplo de código Java™ tornando 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 da variável AEM_PROXY_HOST
e a porta mapeada (portForwards.portOrig
), que AEM então roteia para o nome de host externo mapeado (portForwards.name
) e a porta (portForwards.portDest
).
Host proxy | Porta 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 AEM ambientes as a Cloud Service a uma VPN.
![]() Configure uma IP lista de permissões de forma que somente o tráfego VPN possa acessar AEM. |
![]() Exigir acesso VPN para caminhos específicos na publicação do AEM. |