

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Tutorial: Configuración del acceso a la red privada mediante un host bastión de Linux
<a name="tutorials-private-network-bastion"></a>

En este tutorial, se explican los pasos necesarios para crear un túnel SSH desde su equipo hasta el servidor web de Apache Airflow para su entorno de Amazon Managed Workflows para Apache Airflow. Se asume que ya ha creado un entorno Amazon MWAA. Una vez configurado, un host bastión de Linux actúa como jump server que permite una conexión segura desde el equipo a los recursos de la VPC. A continuación, debe utilizar un complemento de administración de proxy SOCKS para controlar la configuración del proxy en su navegador y acceder a la interfaz de usuario de Apache Airflow.

**Topics**
+ [Red privada](#private-network-lb-onconsole)
+ [Casos de uso](#private-network-lb-usecases)
+ [Antes de empezar](#private-network-lb-prereqs)
+ [Objetivos](#private-network-lb-objectives)
+ [Paso uno: crear la instancia del bastión](#private-network-lb-create-bastion)
+ [Paso dos: crear el túnel SSH](#private-network-lb-create-test)
+ [Paso tres: configurar el grupo de seguridad del bastión como regla de entrada](#private-network-lb-create-sgsource)
+ [Paso cuatro: copiar la URL de Apache Airflow](#private-network-lb-view-env)
+ [Paso cinco: configurar los ajustes del proxy](#private-network-lb-browser-extension)
+ [Paso seis: abrir la interfaz de usuario de Apache Airflow](#private-network-lb-open)
+ [Siguientes pasos](#bastion-next-up)

## Red privada
<a name="private-network-lb-onconsole"></a>

En este tutorial, se asume que ha elegido el modo de acceso **red privada** para su servidor web de Apache Airflow.

![En la imagen, se muestra la arquitectura de un entorno de Amazon MWAA con un servidor web privado.](http://docs.aws.amazon.com/es_es/mwaa/latest/userguide/images/mwaa-private-web-server.png)


El modo de acceso de red privada limita el acceso a la UI 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](access-policies.md).

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 cómo [administrar dependencias con archivos wheel de Python](best-practices-dependencies.md#best-practices-dependencies-python-wheels).

En la siguiente imagen, se muestra dónde se encuentra la opción de **red privada** en la consola de Amazon MWAA.

![En la imagen, se muestra dónde se encuentra la opción de red privada en la consola de Amazon MWAA.](http://docs.aws.amazon.com/es_es/mwaa/latest/userguide/images/mwaa-console-private-network.png)


## Casos de uso
<a name="private-network-lb-usecases"></a>

Puede utilizar este tutorial 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 públicas que su entorno.

## Antes de empezar
<a name="private-network-lb-prereqs"></a>

1. 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.

1. Utilice su VPC de Amazon MWAA. En este tutorial, se asume que está asociando el host bastión a una VPC existente. La Amazon VPC debe estar en la misma región que su entorno de Amazon MWAA y tener dos subredes privadas, tal y como se define en [Creación de la red de VPC](vpc-create.md).

1. Cree una clave de SSH. Debe crear una clave SSH de Amazon EC2 (**.pem**) en la misma región que su entorno de Amazon MWAA para conectarse a los servidores virtuales. Si no tiene una clave SSH, consulte cómo [crear o importar un par de claves](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#prepare-key-pair) en la *guía del usuario de Amazon EC2*.

## Objetivos
<a name="private-network-lb-objectives"></a>

En este tutorial, hará lo siguiente:

1. Crear una instancia de host bastión de Linux mediante una [plantilla de CloudFormation para una VPC existente](https://fwd.aws/vWMxm).

1. Autorizar el tráfico entrante al grupo de seguridad de la instancia bastión mediante una regla de entrada en el puerto `22`.

1. Autorizar el tráfico de entrada del grupo de seguridad de un entorno de Amazon MWAA al grupo de seguridad de la instancia de bastión.

1. Crear un túnel SSH hasta la instancia de bastión.

1. Instalar y configurar el complemento FoxyProxy para el navegador Firefox para ver la UI de Apache Airflow.

## Paso uno: crear la instancia del bastión
<a name="private-network-lb-create-bastion"></a>

En la siguiente sección, se describen los pasos para crear la instancia de bastión de Linux mediante una [plantilla de CloudFormation para una VPC existente](https://fwd.aws/vWMxm) en la consola de CloudFormation.

**Creación del host bastión de Linux**

1. Abra la página [implementar el inicio rápido](https://fwd.aws/Jwzqv) en la consola CloudFormation.

1. Use el selector de región de la barra de navegación para elegir la misma Región de AWS que su entorno de Amazon MWAA.

1. Elija **Siguiente**.

1. Escriba un nombre en el campo de texto **Stack name** (Nombre de pila), como `mwaa-linux-bastion`.

1. En el panel **Parámetros**, **Configuración de red**, elija las siguientes opciones:

   1. Elija el **ID de VPC** de su entorno de Amazon MWAA.

   1. Elija el **ID de subred pública 1** de su entorno de Amazon MWAA.

   1. Elija el **ID de subred pública 2** de su entorno de Amazon MWAA.

   1. Introduzca el rango de direcciones más acotado posible (por ejemplo, un rango CIDR interno) en **CIDR de acceso externo al bastión permitido**.
**nota**  
La forma más sencilla de identificar un rango es usar el mismo rango de CIDR que las subredes públicas. Por ejemplo, las subredes públicas en la plantilla CloudFormation en la página [Creación de la red de VPC](vpc-create.md) son `10.192.10.0/24` y `10.192.11.0/24`.

1. En el panel **Configuración de Amazon EC2**, elija lo siguiente:

   1. Elija su clave SSH en la lista desplegable **Nombre del par de claves**.

   1. Introduzca un nombre en **Nombre del host bastión**.

   1. En **Reenvío de TCP**, elija **verdadero**.
**aviso**  
En este paso, el reenvío de TCP debe establecerse como **verdadero**. De lo contrario, no podrá crear un túnel SSH en el siguiente paso.

1. Seleccione **Siguiente**, **Siguiente**.

1. Seleccione la casilla de confirmación y, a continuación, **Crear pila**.

Para obtener más información sobre la arquitectura de su host bastión de Linux, consulte [Hosts bastión de Linux en la nube de AWS: arquitectura](https://docs.aws.amazon.com/quickstart/latest/linux-bastion/architecture.html).

## Paso dos: crear el túnel SSH
<a name="private-network-lb-create-test"></a>

Los siguientes pasos describen cómo crear el túnel SSH en el bastión de Linux. Un túnel SSH recibe la solicitud de su dirección IP local al bastión de Linux, que es por lo que en los pasos anteriores el reenvío TCP para el bastión de Linux se configuró como `true`.

------
#### [ macOS/Linux ]

**Pasos para crear un túnel con la línea de comandos**

1. Abra la página [Instancias](https://console.aws.amazon.com/ec2/v2/home#/Instances:) de la consola de Amazon EC2.

1. Elija una instancia.

1. Copie la dirección en **DNS IPv4 público**. Por ejemplo, `ec2-4-82-142-1.compute-1.amazonaws.com`.

1. En el símbolo del sistema, vaya hasta el directorio en el que está guardada la clave SSH.

1. Ejecute el comando siguiente para conectarse a la instancia del bastión mediante SSH. Sustituya el valor de muestra por el nombre de la clave SSH en `mykeypair.pem`.

   ```
   ssh -i {{mykeypair.pem}} -N -D 8157 ec2-user@{{YOUR_PUBLIC_IPV4_DNS}}
   ```

------
#### [ Windows (PuTTY) ]

**Creación de un túnel con PuTTY**

1. Abra la página [Instancias](https://console.aws.amazon.com/ec2/v2/home#/Instances:) de la consola de Amazon EC2.

1. Elija una instancia.

1. Copie la dirección en **DNS IPv4 público**. Por ejemplo, `ec2-4-82-142-1.compute-1.amazonaws.com`.

1. Abra [PuTTY](https://www.putty.org/) y seleccione **Sesión**.

1. En **Nombre de host**, ingrese ec2-user@{{YOUR\_PUBLIC\_IPV4\_DNS}} como nombre del host y `22` como **puerto**.

1. Expanda la pestaña **SSH** y seleccione **Autent**. En **Archivo de clave privada para la autenticación**, elija su archivo “ppk” local.

1. En SSH, seleccione la pestaña **Túneles** y, a continuación, seleccione las opciones *Dinámico* y *Autom.*

1. En **Puerto de origen**, agregue el puerto `8157` (o cualquier otro puerto que no se utilice) y, a continuación, deje el puerto **Destino** en blanco. Elija **Agregar**.

1. Seleccione la pestaña **Sesión** e introduzca un nombre de sesión. Por ejemplo: . `SSH Tunnel`.

1. Elija **Guardar** y **Abrir**.
**nota**  
Puede que tenga que introducir una contraseña para la clave pública.

------

**nota**  
Si recibe un error `Permission denied (publickey)`, le recomendamos que utilice la herramienta [AWSSupport-TroubleShootSSH](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-awssupport-troubleshootssh.html) y seleccione **Ejecutar esta automatización (consola)** para solucionar los problemas de la configuración de SSH.

## Paso tres: configurar el grupo de seguridad del bastión como regla de entrada
<a name="private-network-lb-create-sgsource"></a>

El acceso a los servidores y el acceso regular a Internet desde los servidores se permite con un grupo de seguridad de mantenimiento especial adjunto a esos servidores. Los siguientes pasos describen cómo configurar el grupo de seguridad bastión como fuente de tráfico entrante al grupo de seguridad de VPC de un entorno.

1. Abra la página [Entornos](https://console.aws.amazon.com/mwaa/home#/environments) en la consola de Amazon MWAA.

1. Seleccione un entorno.

1. En el panel **Redes**, elija **Grupo de seguridad de VPC**.

1. Elija **Editar reglas de entrada**.

1. Seleccione **Agregar regla**.

1. Elija el ID del grupo de seguridad de la lista desplegable **Origen**.

1. Deje las opciones restantes en blanco o establézcalas en sus valores predeterminados.

1. Seleccione **Guardar reglas**.

## Paso cuatro: copiar la URL de Apache Airflow
<a name="private-network-lb-view-env"></a>

En los siguientes pasos, se describe cómo abrir la consola de Amazon MWAA y copiar la URL en la interfaz de usuario de Apache Airflow.

1. Abra la página [Entornos](https://console.aws.amazon.com/mwaa/home#/environments) en la consola de Amazon MWAA.

1. Seleccione un entorno.

1. Copie la URL en la **interfaz de usuario de Airflow** para los pasos siguientes.

## Paso cinco: configurar los ajustes del proxy
<a name="private-network-lb-browser-extension"></a>

Si utiliza un túnel de SSH con enrutamiento de puertos dinámico, debe utilizar un complemento de administración de proxy de SOCKS para controlar los ajustes del proxy en el navegador. Por ejemplo, puede usar la característica `--proxy-server` de Chromium para iniciar una sesión de navegador o usar la extensión FoxyProxy en el navegador Mozilla Firefox.

### Opción uno: configurar un túnel SSH utilizando el enrutamiento de puertos local
<a name="private-network-lb-browser-extension-portforwarding"></a>

Si no desea utilizar un proxy SOCKS, puede configurar un túnel SSH al a través del enrutamiento de puertos local. El siguiente comando de ejemplo accede a la interfaz web *ResourceManager* de Amazon EC2 mediante el enrutamiento del tráfico por el puerto local 8157.

1. Abra una nueva ventana del símbolo del sistema.

1. Escriba el siguiente comando para abrir un túnel SSH.

   ```
   ssh -i {{mykeypair.pem}} -N -L 8157:{{YOUR_VPC_ENDPOINT_ID}}-vpce.{{us-east-1}}.airflow.amazonaws.com:443 ubuntu@{{YOUR_PUBLIC_IPV4_DNS}}.{{us-east-1}}.compute.amazonaws.com
   ```

   `-L` hace referencia al uso de enrutamiento de puertos local que le permite especificar un puerto local usado para reenviar datos al puerto remoto identificado en el servidor web local del nodo.

1. Introduzca `http://localhost:8157/` en su navegador.
**nota**  
Es posible que necesite usar `https://localhost:8157/`.

### Opción dos: proxies con la línea de comandos
<a name="private-network-lb-browser-extension-foxyp"></a>

La mayoría de los navegadores web permiten configurar los proxies mediante una línea de comandos o un parámetro de configuración. Por ejemplo, con Chromium puede iniciar el navegador con el comando siguiente:

```
chromium --proxy-server="socks5://localhost:8157"
```

Esto inicia una sesión de navegador que utiliza el túnel SSH creado en los pasos anteriores para enviar sus solicitudes por proxy. Puede abrir la URL de su entorno privado de Amazon MWAA (con *https://*) de la siguiente manera:

```
https://{{YOUR_VPC_ENDPOINT_ID}}-vpce.{{us-east-1}}.airflow.amazonaws.com/home.
```

### Opción tres: proxies que utilizan FoxyProxy para Mozilla Firefox
<a name="private-network-lb-browser-extension-foxyp"></a>

En el siguiente ejemplo se muestra una configuración de FoxyProxy Standard (versión 7.5.1) para Mozilla Firefox. FoxyProxy proporciona un conjunto de herramientas de administración de proxy. Le permite utilizar un servidor proxy para las URL que coincidan con los patrones correspondientes a los dominios utilizados por la interfaz de usuario de Apache Airflow.

1. En Firefox, abra la página de la extensión [FoxyProxy Standard](https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/).

1. Seleccione **Agregar a Firefox**.

1. Elija **Agregar**.

1. Elija el icono de FoxyProxy en la barra de herramientas de su navegador y seleccione **Opciones**.

1. Copie el siguiente código y guárdelo localmente como `mwaa-proxy.json`. Sustituya el valor de ejemplo de {{YOUR\_HOST\_NAME}} por la **URL de Apache Airflow**.

   ```
   {
     "e0b7kh1606694837384": {
       "type": 3,
       "color": "#66cc66",
       "title": "airflow",
       "active": true,
       "address": "localhost",
       "port": 8157,
       "proxyDNS": false,
       "username": "",
       "password": "",
       "whitePatterns": [
         {
           "title": "airflow-ui",
           "pattern": "{{YOUR_HOST_NAME}}",
           "type": 1,
           "protocols": 1,
           "active": true
         }
       ],
       "blackPatterns": [],
       "pacURL": "",
       "index": -1
     },
     "k20d21508277536715": {
       "active": true,
       "title": "Default",
       "notes": "These are the settings that are used when no patterns match a URL.",
       "color": "#0055E5",
       "type": 5,
       "whitePatterns": [
         {
           "title": "all URLs",
           "active": true,
           "pattern": "*",
           "type": 1,
           "protocols": 1
         }
       ],
       "blackPatterns": [],
         "index": 9007199254740991
     },
     "logging": {
       "active": true,
       "maxSize": 500
     },
     "mode": "patterns",
     "browserVersion": "82.0.3",
     "foxyProxyVersion": "7.5.1",
     "foxyProxyEdition": "standard"
   }
   ```

1. En el panel **Importar ajustes desde FoxyProxy 6.0\+**, seleccione **Importar ajustes** y seleccione el archivo `mwaa-proxy.json`.

1. Seleccione **Aceptar**.

## Paso seis: abrir la interfaz de usuario de Apache Airflow
<a name="private-network-lb-open"></a>

Los siguientes pasos describen cómo abrir la interfaz de usuario de Apache Airflow.

1. Abra la página [Entornos](https://console.aws.amazon.com/mwaa/home#/environments) en la consola de Amazon MWAA.

1. Elija **Abrir interfaz de usuario de Airflow**.

## Siguientes pasos
<a name="bastion-next-up"></a>
+ Aprenda a ejecutar los comandos de la CLI de Airflow en un túnel SSH para un host bastión en [Referencia de los comandos de la CLI de Apache Airflow](airflow-cli-command-reference.md).
+ Aprenda cómo cargar el código DAG a su bucket de Amazon S3 en [Cómo añadir o actualizar DAG](configuring-dag-folder.md).