Tutorial: Como configurar o acesso à rede privada usando um AWS Client VPN
Este tutorial mostra as etapas para criar um túnel VPN do seu computador para o servidor Web do Apache Airflow para seu ambiente Amazon Managed Workflows para Apache Airflow. Para se conectar à internet por meio de um túnel VPN, primeiro você precisará criar um endpoint AWS Client VPN. Depois de configurado, um endpoint do cliente VPN atua como um servidor VPN, permitindo uma conexão segura do seu computador com os recursos em sua VPC. Em seguida, você se conectará à VPN do cliente a partir do seu computador usando AWS Client VPN para Desktop
Seções
Rede privada
Este tutorial pressupõe que você tenha escolhido o modo de acesso à rede privada para seu servidor Web do Apache Airflow.
O modo de acesso à rede privada limita o acesso à interface do usuário do Apache Airflow aos usuários dentro da sua Amazon VPC que receberam acesso à política do IAM do seu ambiente.
Ao criar um ambiente com acesso ao servidor Web privado, você deve empacotar todas as suas dependências em um arquivo wheel do Python (.whl) e, em seguida, referenciar .whl em seu requirements.txt. Para obter instruções sobre como empacotar e instalar suas dependências usando o wheel, consulte Gerenciamento de dependências usando o wheel do Python.
A imagem a seguir mostra onde encontrar a opção Rede privada no console do Amazon MWAA.
Casos de uso
Você pode usar este tutorial antes ou depois de criar um ambiente Amazon MWAA. Você deve usar a mesma Amazon VPC, grupos de segurança VPC e sub-redes privadas do seu ambiente. Se você usar este tutorial após criar um ambiente do Amazon MWAA, depois de concluir as etapas, poderá retornar ao console do Amazon MWAA e alterar o modo de acesso do servidor Web do Apache Airflow para Rede privada.
Antes de começar
-
Verifique as permissões do usuário. Certifique-se de que sua conta no AWS Identity and Access Management (IAM) tenha permissões suficientes para criar e gerenciar recursos de VPC.
-
Use sua VPC do Amazon MWAA. Este tutorial pressupõe que você esteja associando a VPN do cliente a uma VPC existente. A Amazon VPC deve estar na mesma Região da AWS de um ambiente do Amazon MWAA e ter duas sub-redes privadas. Se você não criou um Amazon VPC, use o modelo CloudFormation em Opção três: criar uma rede Amazon VPC sem acesso à internet.
Objetivos
Neste tutorial, você irá:
-
Criar um endpoint AWS Client VPN usando um modelo CloudFormation para um Amazon VPC existente.
-
Gerar os certificados e as chaves de servidor e cliente e, em seguida, fazer upload do certificado e da chave de servidor para AWS Certificate Manager na mesma Região da AWS de um ambiente do Amazon MWAA.
-
Baixe e modifique um arquivo de configuração de endpoint do cliente VPN para sua VPN do cliente e use o arquivo para criar um perfil de VPN para se conectar usando a VPN do cliente para Desktop.
Etapa 1 (opcional): identifique sua VPC, as regras CIDR e a segurança da VPC
A seção a seguir descreve como encontrar IDs para seu Amazon VPC, grupo de segurança da VPC e uma forma de identificar as regras CIDR necessárias para criar sua VPN do cliente nas etapas subsequentes.
Identifique suas regras CIDR
A seção a seguir explica como identificar as regras CIDR que você precisará para criar sua VPN do cliente.
Para identificar o CIDR da sua VPN do cliente
-
Abra a página Suas Amazon VPCs
no console do Amazon VPC. -
Use o seletor de região na barra de navegação para escolher a mesma Região da AWS que a de um ambiente do Amazon MWAA.
-
Escolha sua Amazon VPC.
-
Supondo que os CIDRs de suas sub-redes privadas são:
-
Sub-rede privada 1: 10.192.10.0
/24 -
Sub-rede privada 2: 10.192.11.0
/24
Se o CIDR para seu Amazon VPC for 10.192.0.0
/16, o CIDR IPv4 do cliente que você especificaria para sua VPN do cliente seria 10.192.0.0/22. -
-
Salve este valor de CIDR e o valor do seu ID de VPC para as etapas subsequentes.
Identifique sua VPC e os grupos de segurança
A seção a seguir explica como encontrar a ID da sua Amazon VPC e os grupos de segurança de que você precisará para criar sua VPN do cliente.
nota
Você pode estar usando mais de um grupo de segurança. Você precisará especificar todos os grupos de segurança da sua VPC nas etapas subsequentes.
Para identificar os grupos de segurança
-
Abra a página Grupo de segurança
no console do Amazon VPC. -
Use o seletor de região na barra de navegação para escolher a Região da AWS.
-
Procure a Amazon VPC na ID da VPC e identifique os grupos de segurança associados à VPC.
-
Salve a ID de seus grupos de segurança e da VPC para as etapas subsequentes.
Etapa 2: crie os certificados de servidor e de cliente
Um endpoint do cliente VPN é compatível apenas com tamanhos de chave RSA de 1024 bits e 2048 bits. A seção a seguir explica como usar o OpenVPN easy-rsa para gerar os certificados e as chaves de servidor e cliente e fazer em seguida o upload dos certificados para ACM usando a AWS Command Line Interface (AWS CLI).
Criar os certificados de cliente
-
Siga estas etapas rápidas para criar e fazer upload dos certificados no ACM por meio da AWS CLI em Autenticação e autorização do cliente: autenticação mútua.
-
Nestas etapas, você deve especificar a mesma Região da AWS de um ambiente do Amazon MWAA no comando AWS CLI ao fazer upload de seus certificados de servidor e cliente. Veja a seguir alguns exemplos de como especificar a região nestes comandos:
-
exemplo região para certificado de servidor
aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt--region us-west-2 -
exemplo região para certificado de cliente
aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt--region us-west-2 -
Após essas etapas, salve o valor retornado na resposta AWS CLI para os ARNs do certificado do servidor e do certificado do cliente. Você especificará esses ARNs em seu modelo CloudFormation para criar a VPN do cliente.
-
-
Nestas etapas, um certificado de cliente e uma chave privada são salvos no seu computador. Veja a seguir um exemplo de onde encontrar essas credenciais:
-
exemplo No macOS
No macOS, o conteúdo é salvo em
/Users/. Se você listar todos os conteúdos (your-user/custom_folderls -a) deste diretório, deverá obter algo semelhante ao seguinte:. .. ca.crt client1.domain.tld.crt client1.domain.tld.key server.crt server.key -
Após estas etapas, salve o conteúdo ou anote a localização do certificado do cliente em
client1.domain.tld.crte a chave privada emclient1.domain.tld.key. Você adicionará estes valores ao arquivo de configuração de sua VPN do cliente.
-
Etapa 3: salve o modelo CloudFormation localmente
A seção a seguir contém o modelo CloudFormation para criar a VPN do cliente. Você deve especificar a mesma Amazon VPC, os mesmos grupos de segurança VPC e as mesmas sub-redes privadas de seu ambiente do Amazon MWAA.
-
Copie o conteúdo do modelo a seguir e salve localmente como
mwaa_vpn_client.yaml. Também é possível baixar o modelo.Substitua os seguintes valores:
-
YOUR_CLIENT_ROOT_CERTIFICATE_ARN- o ARN do seu certificado client1.domain.tld emClientRootCertificateChainArn. -
YOUR_SERVER_CERTIFICATE_ARN- o ARN do seu certificado server emServerCertificateArn. -
A regra CIDR IPv4 do cliente em
ClientCidrBlock. É fornecida uma regra CIDR de10.192.0.0/22. -
Seu ID da Amazon VPC está em
VpcId. É fornecida uma VPC devpc-010101010101. -
Suas IDs de grupo de segurança da VPC em
SecurityGroupIds. É fornecido um grupo de segurança desg-0101010101.
AWSTemplateFormatVersion: 2010-09-09 Description: This template deploys a VPN Client Endpoint. Resources: ClientVpnEndpoint: Type: 'AWS::EC2::ClientVpnEndpoint' Properties: AuthenticationOptions: - Type: "certificate-authentication" MutualAuthentication: ClientRootCertificateChainArn: "YOUR_CLIENT_ROOT_CERTIFICATE_ARN" ClientCidrBlock: 10.192.0.0/22 ClientConnectOptions: Enabled: false ConnectionLogOptions: Enabled: false Description: "MWAA Client VPN" DnsServers: [] SecurityGroupIds: - sg-0101010101 SelfServicePortal: '' ServerCertificateArn: "YOUR_SERVER_CERTIFICATE_ARN" SplitTunnel: true TagSpecifications: - ResourceType: "client-vpn-endpoint" Tags: - Key: Name Value: MWAA-Client-VPN TransportProtocol: udp VpcId: vpc-010101010101 VpnPort: 443 -
nota
Se você estiver usando mais de um grupo de segurança para seu ambiente, poderá especificar vários grupos de segurança no seguinte formato:
SecurityGroupIds: - sg-0112233445566778b - sg-0223344556677889f
Etapa 4: crie a pilha CloudFormation VPN do cliente
Para criar o AWS Client VPN
-
Abra o console de AWS CloudFormation
. -
Escolha O modelo está pronto e Fazer upload de um arquivo de modelo.
-
Selecione Escolher arquivo e selecione seu arquivo
mwaa_vpn_client.yaml. -
Escolha Avançar, Avançar.
-
Selecione a confirmação e então escolha Criar pilha.
Etapa 5: associe sub-redes à sua VPN do cliente
Para associar sub-redes privadas à AWS Client VPN
-
Abra Console do Amazon VPC
. -
Escolha a página Endpoint do cliente VPN.
-
Selecione sua VPN do cliente e, em seguida, escolha a guia Associações, Associar.
-
Na lista suspensa, escolha:
-
Seu Amazon VPC em VPC.
-
Uma de suas sub-redes privadas em Escolha uma sub-rede para associar.
-
-
Selecione Associar.
nota
A VPC e a sub-rede levam vários minutos para serem associadas à VPN do cliente.
Etapa 6: adicione uma regra de entrada de autorização à sua VPN do cliente
Você precisa adicionar uma regra de entrada de autorização usando a regra CIDR da sua VPC à sua VPN do cliente. Se você quiser autorizar usuários ou grupos específicos do seu grupo do Active Directory ou do Provedor de Identidades (IdP) baseado em SAML, consulte as regras de autorização no Guia da VPN do cliente.
Para adicionar o CIDR à AWS Client VPN
-
Abra Console do Amazon VPC
. -
Escolha a página Endpoint do cliente VPN.
-
Selecione sua VPN do cliente e, em seguida, escolha a guia Autorização, Autorizar entrada.
-
Especifique o seguinte:
-
A regra CIDR do Amazon VPC na Rede de destino para habilitação. Por exemplo:
10.192.0.0/16 -
Para Conceder acesso a, escolha Permitir acesso a todos os usuários.
-
Para Descrição, insira um nome descritivo.
-
-
Escolha Adicionar regra de autorização.
nota
Dependendo dos componentes de rede da sua Amazon VPC, você também pode precisar dessa regra de entrada de autorização na sua lista de controle de acesso à rede (NACL).
Etapa 7: baixe o arquivo de configuração do endpoint do cliente VPN
Para fazer download do arquivo de configuração
-
Siga estas etapas rápidas para baixar o arquivo de configuração do Client VPN em Baixar o arquivo de configuração do endpoint do Client VPN.
-
Nestas etapas, você deverá acrescentar uma string ao nome DNS do endpoint do cliente VPN. Veja um exemplo abaixo:
-
exemplo nome DNS do endpoint
Se o nome DNS do endpoint da VPN do cliente for:
remote cvpn-endpoint-0909091212aaee1.prod.clientvpn.us-west-1.amazonaws.com 443Você pode adicionar uma string para identificar seu endpoint do cliente VPN da seguinte forma:
remotemwaavpn.cvpn-endpoint-0909091212aaee1.prod.clientvpn.us-west-1.amazonaws.com 443
-
-
Nestas etapas, você deve adicionar o conteúdo do certificado do cliente entre um novo conjunto de etiquetas
<cert></cert>e o conteúdo da chave privada entre um novo conjunto de etiquetas<key></key>. Veja um exemplo abaixo:-
Abra um prompt de comando e altere os diretórios para o local do certificado do cliente e da chave privada.
-
exemplo client1.domain.tld.crt do macOS
Para mostrar o conteúdo do arquivo
client1.domain.tld.crtno macOS, você pode usarcat client1.domain.tld.crt.Copie o valor do terminal e cole em
downloaded-client-config.ovpn, desta forma:ZZZ1111dddaBBB -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE-----YOUR client1.domain.tld.crt-----END CERTIFICATE----- </cert> -
exemplo client1.domain.tld.key do macOS
Para mostrar o conteúdo de
client1.domain.tld.key, você pode usarcat client1.domain.tld.key.Copie o valor do terminal e cole em
downloaded-client-config.ovpn, desta forma:ZZZ1111dddaBBB -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE-----YOUR client1.domain.tld.crt-----END CERTIFICATE----- </cert> <key> -----BEGIN CERTIFICATE-----YOUR client1.domain.tld.key-----END CERTIFICATE----- </key>
-
Etapa 8: conecte-se à AWS Client VPN
O cliente para AWS Client VPN é fornecido gratuitamente. Você pode conectar seu computador diretamente à AWS Client VPN para uma experiência completa de VPN.
Para se conectar à VPN do cliente
-
Baixe e instale AWS Client VPN for Desktop
. -
Abra a AWS Client VPN.
-
Escolha Arquivo, Perfis gerenciados no menu do cliente VPN.
-
Escolha Adicionar perfil e, em seguida, escolha
downloaded-client-config.ovpn. -
Insira um nome descritivo em Nome de exibição.
-
Escolha Adicionar perfil e Concluído.
-
Selecione Conectar.
Depois de se conectar à VPN do cliente, você precisará se desconectar de outras VPNs para acessar qualquer um dos recursos em sua Amazon VPC.
nota
Talvez seja necessário sair do cliente e começar de novo antes de conseguir se conectar.
Próximas etapas
-
Saiba como criar um ambiente do Amazon MWAA em Comece a usar o Amazon Managed Workflows for Apache Airflow. Você deve criar um ambiente na mesma Região da AWS como uma VPN do cliente e usar a mesma VPC, as mesmas sub-redes privadas e o mesmo grupo de segurança da VPN do cliente.