Tutorial: Configuración del acceso a la red privada mediante una AWS Client VPN
En este tutorial, se explican los pasos necesarios para crear un túnel VPN desde su equipo hasta el servidor web Apache Airflow para su entorno Amazon Managed Workflows para Apache Airflow. Para conectarse a Internet a través de un túnel VPN, primero tendrá que crear un punto de conexión AWS Client VPN. Una vez configurado, un punto de conexión Client VPN actúa como servidor VPN, lo que permite una conexión segura desde el equipo a los recursos de la VPC. A continuación, se conectará a la Client VPN desde su equipo mediante la AWS Client VPN para escritorio
Secciones
- Red privada
- Casos de uso
- Antes de empezar
- Objetivos
- (Opcional) Paso uno: identificar la VPC, las reglas de CIDR y la seguridad de la VPC
- Paso dos: crear los certificados de servidor y cliente
- Paso tres: guardar la plantilla de AWS CloudFormation localmente
- Paso cuatro: crear la pila AWS CloudFormation de Client VPN
- Paso cinco: asociar subredes a su Client VPN
- Paso seis: agregar una regla de entrada de autorizaciones al Client VPN
- Paso siete: descargar el archivo de configuración del punto de conexión de Client VPN
- Paso ocho: conectarse a la AWS Client VPN
- Siguientes pasos
Red privada
En este tutorial, se asume que ha elegido el modo de acceso Red privada para su servidor web Apache Airflow.
El modo de acceso de red privada limita el acceso a la interfaz de usuario de Apache Airflow a los usuarios de su Amazon VPC a los que se les ha concedido acceso a la política de IAM de su entorno.
Al crear un entorno con acceso mediante red privada al servidor web, debe empaquetar todas sus dependencias en un archivo wheel de Python (.whl
), y luego hacer referencia al .whl
en su requirements.txt
. Para obtener instrucciones sobre cómo empaquetar e instalar sus dependencias mediante el archivo wheel, consulte Administración de dependencias con archivos wheel de Python.
La imagen siguiente muestra dónde se encuentra la opción de red privada en la consola de Amazon MWAA.
Casos de uso
Puede utilizar este tutorial antes o después de haber creado un entorno Amazon MWAA. Debe usar la misma Amazon VPC, los mismos grupos de seguridad de VPC y las mismas subredes privadas que su entorno. Si utiliza este tutorial después de haber creado un entorno de Amazon MWAA, una vez que haya completado los pasos, podrá volver a la consola de Amazon MWAA y cambiar el modo de acceso al servidor web Apache Airflow a Red privada.
Antes de empezar
-
Compruebe los permisos de usuario. Asegúrese de que su cuenta en AWS Identity and Access Management (IAM) tenga los permisos necesarios para crear y administrar los recursos de VPC.
-
Utilice su VPC de Amazon MWAA. En este tutorial, se asume que está asociando la Client VPN a una VPC existente. La VPC de Amazon debe estar en la misma región de AWS que un entorno de Amazon MWAA y tener dos subredes privadas. Si no ha creado una Amazon VPC, utilice la plantilla de AWS CloudFormation en Opción 3: creación de una red Amazon VPC sin acceso a Internet.
Objetivos
En este tutorial, hará lo siguiente:
-
Crear un punto de conexión AWS Client VPN mediante una plantilla de AWS CloudFormation para una Amazon VPC existente.
-
Generar certificados y claves de servidor y cliente y, a continuación, cargar el certificado y la clave del servidor en AWS Certificate Manager en la misma región de AWS que un entorno de Amazon MWAA.
-
Descargar y modificar un archivo de configuración de punto de conexión de Client VPN para su Client VPN y utilizar el archivo para crear un perfil de VPN para conectarse mediante Client VPN para escritorio.
(Opcional) Paso uno: identificar la VPC, las reglas de CIDR y la seguridad de la VPC
En la siguiente sección, se describe cómo encontrar los ID de su Amazon VPC, su grupo de seguridad de VPC y una forma de identificar las reglas de CIDR que necesitará para crear su Client VPN en los pasos siguientes.
Identificación de las reglas de su CIDR
En la siguiente sección, se muestra cómo identificar las reglas de su CIDR, que necesitará para crear su Client VPN.
Identificación del CIDR de su Client VPN
-
Abra la página Sus Amazon VPC
en la consola de Amazon VPC. -
Utilice el selector de región de la barra de navegación para elegir la misma región AWS que un entorno de Amazon MWAA.
-
Elija su Amazon VPC.
-
Supongamos que los CIDR de sus subredes privadas son:
-
Subred privada 1: 10.192.10.0
/24
-
Subred privada 2: 10.192.11.0
/24
Si el CIDR de su Amazon VPC es 10.192.0.0
/16
, el CIDR de IPv4 de cliente que especificaría para su Client VPN sería 10.192.0.0/22
. -
-
Guarde este valor de CIDR y el valor de su ID de VPC para los pasos siguientes.
Identificación de su VPC y sus grupos de seguridad
En la siguiente sección, se muestra cómo encontrar el ID de su Amazon VPC y de sus grupos de seguridad, que necesitará para crear su Client VPN.
nota
Puede que esté utilizando varios grupos de seguridad. Deberá especificar todos los grupos de seguridad de la VPC en los pasos siguientes.
Identificación de los grupos de seguridad
-
Abra la página Grupos de seguridad
en la consola de Amazon VPC. -
En la barra de navegación, utilice el selector de región para elegir la región de AWS.
-
Busque la Amazon VPC en el ID de la VPC e identifique los grupos de seguridad asociados a la VPC.
-
Guarde el ID de sus grupos de seguridad y de la VPC para los pasos siguientes.
Paso dos: crear los certificados de servidor y cliente
Los puntos de enlace de Client VPN solo admiten claves RSA con un tamaño de 1024 bits y 2048 bits. En la sección siguiente, se explica cómo utilizar easy-rsa de OpenVPN para generar los certificados y las claves del servidor y el cliente, y cargar después los certificados en ACM mediante la AWS Command Line Interface (AWS CLI).
Creación de certificados de cliente
-
Siga estos pasos rápidos para crear y cargar los certificados en ACM mediante la AWS CLI en autenticación y autorización de clientes: autenticación mutua.
-
En estos pasos, debe especificar la misma región AWS que un entorno de Amazon MWAA en el comando de la AWS CLI al cargar los certificados de servidor y cliente. A continuación, se muestran algunos ejemplos de cómo especificar la región en estos comandos:
-
ejemplo región para el 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
-
ejemplo región para el 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
-
Tras estos pasos, guarde el valor devuelto en la respuesta de la AWS CLI para los ARN del certificado de servidor y del certificado de cliente. Deberá especificar estos ARN en la plantilla de AWS CloudFormation para crear la Client VPN.
-
-
En estos pasos, se guardan un certificado de cliente y una clave privada en su equipo. A continuación, se muestra un ejemplo de dónde encontrar estas credenciales:
-
ejemplo en macOS
En macOS, el contenido se guarda en
/Users/
. Si incluye todos los contenidos (youruser
/custom_folderls -a
) de este directorio, debería ver algo parecido a lo siguiente:. .. ca.crt client1.domain.tld.crt client1.domain.tld.key server.crt server.key
-
Tras estos pasos, guarde el contenido o anote la ubicación del certificado de cliente en
client1.domain.tld.crt
y la clave privada enclient1.domain.tld.key
. Deberá agregar estos valores al archivo de configuración de su Client VPN.
-
Paso tres: guardar la plantilla de AWS CloudFormation localmente
La siguiente sección contiene la plantilla de AWS CloudFormation para crear la Client VPN. Debe especificar la misma Amazon VPC, los mismos grupos de seguridad de VPC y las mismas subredes privadas que su entorno Amazon MWAA.
-
Copie el contenido de la siguiente plantilla y guárdelo localmente como
mwaa_vpn_client.yaml
. También puede descargar la plantilla.Sustituya los valores siguientes:
-
YOUR_CLIENT_ROOT_CERTIFICATE_ARN
: el ARN de su certificado client1.domain.tld enClientRootCertificateChainArn
. -
YOUR_SERVER_CERTIFICATE_ARN
: el ARN del certificado de su servidor enServerCertificateArn
. -
La regla CIDR de IPv4 del cliente en
ClientCidrBlock
. Se proporciona una regla CIDR de10.192.0.0/22
. -
Su ID de Amazon VPC en
VpcId
. Se proporciona un VPC devpc-010101010101
. -
Sus ID de grupo de seguridad de VPC en
SecurityGroupIds
. Se proporciona un grupo de seguridad 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
Si utiliza más de un grupo de seguridad para su entorno, puede especificar varios grupos de seguridad en el siguiente formato:
SecurityGroupIds: - sg-0112233445566778b - sg-0223344556677889f
Paso cuatro: crear la pila AWS CloudFormation de Client VPN
Cómo crear el AWS Client VPN
-
Abra la consola de AWS CloudFormation
. -
Seleccione La plantilla está lista y Cargar un archivo de plantilla.
-
Seleccione Elegir archivo y seleccione su archivo
mwaa_vpn_client.yaml
. -
Seleccione Siguiente, Siguiente.
-
Seleccione la casilla de confirmación y, a continuación, Crear pila.
Paso cinco: asociar subredes a su Client VPN
Cómo asociar subredes privadas a la AWS Client VPN
-
Abra la consola de Amazon VPC
. -
Seleccione la página Puntos de enlace de Client VPN.
-
Seleccione su Client VPN y, a continuación, elija la pestaña Asociaciones, Asociar.
-
Elija lo siguiente en la lista desplegable:
-
Su Amazon VPC en VPC.
-
Una de sus subredes privadas en Elegir una subred para asociar.
-
-
Elija Asociar.
nota
La VPC y la subred tardan varios minutos en asociarse a Client VPN.
Paso seis: agregar una regla de entrada de autorizaciones al Client VPN
Debe agregar una regla de entrada de autorización mediante la regla CIDR para su VPC a su Client VPN. Si desea autorizar usuarios o grupos específicos de su grupo de Active Directory o proveedor de identidad (IdP) basado en SAML, consulte las reglas de autorización en la guía Client VPN.
Cómo añadir el CIDR a la AWS Client VPN
-
Abra la consola de Amazon VPC
. -
Seleccione la página Puntos de enlace de Client VPN.
-
Seleccione su Client VPN y, a continuación, elija la pestaña Autorización, Autorizar entrada.
-
Especifique lo siguiente:
-
La regla CIDR de su Amazon VPC en Red de destino que se habilitará. Por ejemplo:
10.192.0.0/16
-
En Conceder acceso a, elija Permitir el acceso a todos los usuarios.
-
En Descripción, escriba un nombre descriptivo.
-
-
Seleccione Agregar regla de autorización.
nota
Según los componentes de red de su Amazon VPC, es posible que también necesite esta regla de autorización de entrada a su lista de control de acceso a la red (NACL).
Paso siete: descargar el archivo de configuración del punto de conexión de Client VPN
Cómo descargar el archivo de configuración
-
Siga estos pasos rápidos para descargar el archivo de configuración de Client VPN en Descargar el archivo de configuración de punto de conexión de Client VPN.
-
En estos pasos, se le pedirá que añada una cadena al nombre de DNS del punto de conexión de Client VPN. A continuación se muestra un ejemplo:
-
ejemplo nombre de DNS del punto de conexión
Si el nombre de DNS del punto de conexión de Client VPN tiene el siguiente aspecto:
remote cvpn-endpoint-0909091212aaee1.prod.clientvpn.us-west-1.amazonaws.com 443
Puede agregar una cadena para identificar el punto de conexión de Client VPN de la siguiente manera:
remote
mwaavpn
.cvpn-endpoint-0909091212aaee1.prod.clientvpn.us-west-1.amazonaws.com 443
-
-
En estos pasos, se le pide que agregue el contenido del certificado de cliente entre un nuevo conjunto de etiquetas
<cert></cert>
y el contenido de la clave privada entre un nuevo conjunto de etiquetas<key></key>
. A continuación se muestra un ejemplo:-
Abra un símbolo del sistema y cambie los directorios a la ubicación del certificado de cliente y la clave privada.
-
ejemplo macOS client1.domain.tld.crt
Para mostrar el contenido del archivo
client1.domain.tld.crt
en macOS, puede usarcat client1.domain.tld.crt
.Copie el valor del terminal y péguelo en
downloaded-client-config.ovpn
así:ZZZ1111dddaBBB -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE-----
YOUR client1.domain.tld.crt
-----END CERTIFICATE----- </cert> -
ejemplo macOS client1.domain.tld.key
Para mostrar el contenido de
client1.domain.tld.key
, puede utilizarcat client1.domain.tld.key
.Copie el valor del terminal y péguelo en
downloaded-client-config.ovpn
así: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>
-
Paso ocho: conectarse a la AWS Client VPN
El cliente para AWS Client VPN se proporciona de forma gratuita. Puede conectar su equipo directamente a AWS Client VPN para disfrutar de una experiencia de VPN integral.
Conexión a Client VPN
-
Descargue e instale AWS Client VPN para escritorio
. -
Abra la AWS Client VPN.
-
Seleccione Archivo, Perfiles administrados en el menú del cliente VPN.
-
Seleccione Agregar perfil y, a continuación, elija
downloaded-client-config.ovpn
. -
Introduzca un nombre descriptivo en Nombre público.
-
Seleccione Agregar perfil, Listo.
-
Elija Conectar.
Después de conectarse a Client VPN, tendrá que desconectarse de otras VPN para ver cualquiera de los recursos de su Amazon VPC.
nota
Es posible que tenga que salir del cliente y empezar de nuevo antes de poder conectarse.
Siguientes pasos
-
Obtenga información sobre cómo crear un entorno Amazon MWAA en Introducción a Amazon Managed Workflows para Apache Airflow. Debe crear un entorno en la misma región de AWS que Client VPN y utilizar la misma VPC, las mismas subredes privadas y el mismo grupo de seguridad que Client VPN.