

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Tutorial: Como configurar o acesso à rede privada usando um Linux Bastion Host
<a name="tutorials-private-network-bastion"></a>

Este tutorial mostra as etapas para criar um túnel SSH do seu computador para o servidor Web do Apache Airflow para seu ambiente Amazon Managed Workflows para Apache Airflow. Pressupõe-se que você já tenha criado um ambiente Amazon MWAA. Depois de configurado, um Linux Bastion Host atua como um servidor jump, permitindo uma conexão segura do seu computador com os recursos em sua VPC. Em seguida, você usará um complemento de gerenciamento de proxy SOCKS para controlar as configurações de proxy em seu navegador e acessar sua IU do Apache Airflow.

**Topics**
+ [Rede privada](#private-network-lb-onconsole)
+ [Casos de uso](#private-network-lb-usecases)
+ [Antes de começar](#private-network-lb-prereqs)
+ [Objetivos](#private-network-lb-objectives)
+ [Etapa 1: criar a instância do bastion](#private-network-lb-create-bastion)
+ [Etapa 2: criar o túnel ssh](#private-network-lb-create-test)
+ [Etapa 3: configurar o grupo de segurança bastion como uma regra de entrada](#private-network-lb-create-sgsource)
+ [Etapa 4: copiar o URL do Apache Airflow](#private-network-lb-view-env)
+ [Etapa 5: definir as configurações de proxy](#private-network-lb-browser-extension)
+ [Etapa 6: abra a IU do Apache Airflow](#private-network-lb-open)
+ [Próximas etapas](#bastion-next-up)

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

Este tutorial pressupõe que você tenha escolhido o modo de acesso à **rede privada** para seu servidor Web do Apache Airflow.

![Esta imagem mostra a arquitetura de um ambiente do Amazon MWAA com um servidor Web privado.](http://docs.aws.amazon.com/pt_br/mwaa/latest/userguide/images/mwaa-private-web-server.png)


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](access-policies.md).

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](best-practices-dependencies.md#best-practices-dependencies-python-wheels).

A imagem a seguir mostra onde encontrar a opção **Rede privada** no console do Amazon MWAA.

![Esta imagem mostra onde encontrar a opção de Rede privada no console do Amazon MWAA.](http://docs.aws.amazon.com/pt_br/mwaa/latest/userguide/images/mwaa-console-private-network.png)


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

Você pode usar este tutorial depois de criar um ambiente Amazon MWAA. Você deve usar a mesma Amazon VPC, grupos de segurança VPC e sub-redes públicas do seu ambiente.

## Antes de começar
<a name="private-network-lb-prereqs"></a>

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

1. Use sua VPC do Amazon MWAA. Este tutorial pressupõe que você esteja associando o bastion host a uma VPC existente. O Amazon VPC deve estar na mesma região de seu ambiente do Amazon MWAA e ter duas sub-redes privadas, como definido em [Criar a rede VPC](vpc-create.md).

1. Crie uma chave SSH. Você precisa criar uma chave SSH do Amazon EC2 (**.pem**) na mesma região do seu ambiente Amazon MWAA para se conectar aos servidores virtuais. Se você não tiver uma chave SSH, consulte [Criar ou importar um par de chaves](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#prepare-key-pair) no *Guia do usuário do Amazon EC2*.

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

Neste tutorial, você irá:

1. Crie uma instância do Linux Bastion Host usando um [Modelo CloudFormationpara uma VPC existente](https://fwd.aws/vWMxm).

1. Autorize o tráfego de entrada para o grupo de segurança da instância bastion usando uma regra de entrada na porta `22`.

1. Autorize o tráfego de entrada do grupo de segurança de um ambiente do Amazon MWAA para o grupo de segurança da instância do Bastion.

1. Crie um túnel SSH para a instância do bastion.

1. Instale e configure o complemento FoxyProxy para o navegador Firefox para acessar a IU do Apache Airflow.

## Etapa 1: criar a instância do bastion
<a name="private-network-lb-create-bastion"></a>

A seção a seguir descreve as etapas para criar a instância Linux Bastion usando um [Modelo CloudFormation para uma VPC existente](https://fwd.aws/vWMxm) no console CloudFormation.

**Para criar o Linux Bastion Host**

1. Abra a página [Implantar início rápido](https://fwd.aws/Jwzqv) no console CloudFormation.

1. Use o seletor de região na barra de navegação para escolher a mesma Região da AWS como seu ambiente Amazon MWAA.

1. Escolha **Próximo**.

1. Digite um nome no campo de texto **Nome da pilha**, como `mwaa-linux-bastion`.

1. No painel **Parâmetros**, **Configuração de rede**, escolha as seguintes opções:

   1. Escolha o seu **ID da VPC** do ambiente do Amazon VPC.

   1. Escolha o seu **ID da sub-rede pública 1** do ambiente do Amazon VPC.

   1. Escolha o seu **ID da sub-rede pública 2** do ambiente do Amazon VPC.

   1. Insira o intervalo de endereços mais estreito possível (por exemplo, um intervalo CIDR interno) em **CIDR de acesso externo permitido ao Bastion**.
**nota**  
A maneira mais simples de identificar um intervalo é usar o mesmo intervalo CIDR de suas sub-redes públicas. Por exemplo, as sub-redes públicas no modelo do CloudFormation na página [Criar a rede VPC](vpc-create.md) são `10.192.10.0/24` e `10.192.11.0/24`.

1. No painel **Configuração do Amazon EC2**, escolha o seguinte:

   1. Escolha sua chave SSH na lista suspensa em **Nome do par de chaves**.

   1. Insira um nome em **Nome do bastion host**.

   1. Escolha **verdadeiro** para **Encaminhamento TCP**.
**Atenção**  
O encaminhamento TCP deve ser definido como **verdadeiro** nesta etapa. Caso contrário, não será possível criar um túnel SSH na etapa seguinte.

1. Escolha **Avançar**, **Avançar**.

1. Selecione a confirmação e então escolha **Criar pilha**.

Para saber mais sobre a arquitetura do seu Linux Bastion Host, consulte [Linux Bastion Hosts na Nuvem da AWS: Arquitetura](https://docs.aws.amazon.com/quickstart/latest/linux-bastion/architecture.html).

## Etapa 2: criar o túnel ssh
<a name="private-network-lb-create-test"></a>

As etapas a seguir descrevem como criar o túnel ssh para o seu bastion do Linux. Um túnel SSH recebe a solicitação do seu endereço IP local para o linux bastion, e é por isso que o encaminhamento de TCP para o linux bastion foi configurado para `true` nas etapas anteriores.

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

**Para criar um túnel usando a linha de comando**

1. Abra a página [Instâncias](https://console.aws.amazon.com/ec2/v2/home#/Instances:) no console do Amazon EC2.

1. Escolha uma instância.

1. Copie o endereço em **DNS IPv4 pública**. Por exemplo, `ec2-4-82-142-1.compute-1.amazonaws.com`.

1. No prompt de comando, navegue até o diretório em que sua chave SSH está armazenada.

1. Execute o comando a seguir para se conectar à instância do bastion usando ssh. Substitua o valor da amostra pelo nome da sua chave SSH em `mykeypair.pem`.

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

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

**Para criar um túnel usando PuTTY**

1. Abra a página [Instâncias](https://console.aws.amazon.com/ec2/v2/home#/Instances:) no console do Amazon EC2.

1. Escolha uma instância.

1. Copie o endereço em **DNS IPv4 pública**. Por exemplo, `ec2-4-82-142-1.compute-1.amazonaws.com`.

1. Abra o [PuTTY](https://www.putty.org/), e selecione **Sessão**.

1. Insira o nome do host em **Nome do host** como ec2-user@{{YOUR\_PUBLIC\_IPV4\_DNS}} e a **porta** como `22`.

1. Expanda a guia **SSH** e selecione **Auth**. Em **Arquivo de chave privada para autenticação**, escolha seu arquivo “ppk” local.

1. Em SSH, escolha a guia **Túneis** e selecione as opções *Dinâmico* e *Automático*.

1. Em **Porta de origem** adicione a porta `8157` (ou qualquer outra porta não usada) e deixe a porta **Destino** em branco. Escolha **Adicionar**.

1. Escolha a guia **Sessão** e insira o nome da sessão. Por exemplo, . `SSH Tunnel`.

1. Escolha **Salvar**, **Abrir**.
**nota**  
Talvez seja necessário inserir uma frase secreta para sua chave pública.

------

**nota**  
Se você receber um erro `Permission denied (publickey)`, recomendamos usar a ferramenta [AWSSupport-TroubleshootSSH](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-awssupport-troubleshootssh.html) e escolher **Executar esta automação (console)** para solucionar problemas de configuração de SSH.

## Etapa 3: configurar o grupo de segurança bastion como uma regra de entrada
<a name="private-network-lb-create-sgsource"></a>

O acesso aos servidores e o acesso regular à Internet a partir dos servidores são permitidos com um grupo de segurança especial de manutenção conectado a esses servidores. As etapas a seguir descrevem como configurar o grupo de segurança bastion como uma fonte de tráfego de entrada para o grupo de segurança VPC de um ambiente.

1. Abra a [página Ambientes](https://console.aws.amazon.com/mwaa/home#/environments) no console do Amazon MWAA.

1. Escolha um ambiente.

1. No painel **Rede**, escolha **Grupo de segurança VPC**.

1. Escolha **Editar regras de entrada**.

1. Escolha **Adicionar regra**.

1. Escolha sua ID do grupo de segurança da VPC na lista suspensa **Fonte**.

1. Deixe as opções restantes em branco ou defina-as com seus valores padrão.

1. Escolha **Salvar regras**.

## Etapa 4: copiar o URL do Apache Airflow
<a name="private-network-lb-view-env"></a>

As etapas a seguir descrevem como abrir o console do Amazon MWAA e copiar o URL para a IU do Apache Airflow.

1. Abra a [página Ambientes](https://console.aws.amazon.com/mwaa/home#/environments) no console do Amazon MWAA.

1. Escolha um ambiente.

1. Copie o URL na **IU do Airflow** para as etapas subsequentes.

## Etapa 5: definir as configurações de proxy
<a name="private-network-lb-browser-extension"></a>

Se você usar um túnel SSH com o encaminhamento de portas dinâmicas, deverá usar um complemento de gerenciamento de proxy SOCKS para controlar as configurações de proxy no seu navegador. Por exemplo, é possível usar o atributo `--proxy-server` do Chromium para iniciar uma sessão do navegador ou usar a extensão FoxyProxy no navegador Mozilla FireFox.

### Opção um: configure um túnel SSH usando o encaminhamento de portas locais
<a name="private-network-lb-browser-extension-portforwarding"></a>

Se não quiser usar um proxy SOCKS, é possível configurar um túnel SSH usando o encaminhamento de portas locais. O comando de exemplo a seguir acessa a interface web do Amazon EC2 *ResourceManager* ao encaminhar o tráfego na porta local 8157.

1. Abra uma nova janela do prompt de comando.

1. Digite o seguinte comando para abrir um 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` significa o uso do encaminhamento de portas locais, que você pode usar para especificar uma porta local usada para encaminhar dados à porta remota identificada no servidor Web local do nó.

1. Digite `http://localhost:8157/` no navegador.
**nota**  
Talvez seja necessário usar `https://localhost:8157/`.

### Opção dois: proxies via linha de comando
<a name="private-network-lb-browser-extension-foxyp"></a>

É possível usar a maioria dos navegadores da Web para configurar proxies por meio de uma linha de comando ou parâmetro de configuração. Por exemplo, com o Chromium, é possível iniciar o navegador com o seguinte comando:

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

Ele inicia uma sessão do navegador que usa o túnel ssh que você criou nas etapas anteriores para proxy de suas solicitações. É possível abrir sua URL privada do ambiente Amazon MWAA (com *https://*) da seguinte forma:

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

### Opção três: Proxies usando FoxyProxy para o Mozilla Firefox
<a name="private-network-lb-browser-extension-foxyp"></a>

O exemplo a seguir demonstra uma configuração FoxyProxy Standard (versão 7.5.1) para o Mozilla Firefox. O FoxyProxy fornece um conjunto de ferramentas de gerenciamento de proxy. Permite que seja usado um servidor proxy para URLs que corresponda aos padrões correspondentes aos domínios usados pela IU do Apache Airflow.

1. No Firefox, abra a página de extensão [FoxyProxy Standard](https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/).

1. Escolha **Adicionar ao Firefox**.

1. Escolha **Adicionar**.

1. Escolha o ícone FoxyProxy na barra de ferramentas do seu navegador e escolha **Opções**.

1. Copie o código a seguir e salve localmente como `mwaa-proxy.json`. Substitua o exemplo do valor em {{YOUR\_HOST\_NAME}} pelo seu **URL do 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. No painel **Importar configurações do FoxyProxy 6.0\+**, escolha **Importar configurações** e selecione o arquivo `mwaa-proxy.json`.

1. Escolha **OK**.

## Etapa 6: abra a IU do Apache Airflow
<a name="private-network-lb-open"></a>

As etapas a seguir descrevem como abrir sua IU do Apache Airflow.

1. Abra a [página Ambientes](https://console.aws.amazon.com/mwaa/home#/environments) no console do Amazon MWAA.

1. Escolha **Abrir a IU do Airflow**.

## Próximas etapas
<a name="bastion-next-up"></a>
+ Saiba como executar comandos CLI do Airflow em um túnel SSH para um bastion host em [Referência de comandos da CLI do Apache Airflow](airflow-cli-command-reference.md).
+ Aprenda a fazer upload de um código DAG para seu bucket do Amazon S3 em [Como adicionar ou atualizar DAGs](configuring-dag-folder.md).