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
Este tutorial mostra as etapas para criar um túnel SSH do seu computador para o servidor web Apache Airflow para seu ambiente Amazon Managed Workflows for 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.
Rede privada
Este tutorial pressupõe que você tenha escolhido o modo de acesso à rede privada para seu servidor Web Apache Airflow.

O modo de acesso à rede privada limita o acesso à interface do usuário do Apache Airflow aos usuários da Amazon VPC que receberam acesso à política do IAM do seu ambiente.
Ao criar um ambiente com acesso privado ao servidor web, 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 Gerenciando dependências usando o Python wheel.
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 depois de criar um ambiente Amazon MWAA. Você deve usar o mesmo Amazon VPC, grupos de segurança VPC e sub-redes públicas do seu ambiente.
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 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.
-
Crie uma chave SSH. Você precisa criar uma chave Amazon EC2 SSH (.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 no Guia do EC2 usuário da Amazon.
Objetivos
Neste tutorial, você irá:
-
Crie uma instância do Linux Bastion Host usando um Modelo AWS CloudFormation para uma VPC existente
. -
Autorize o tráfego de entrada para o grupo de segurança da instância bastion usando uma regra de entrada na porta
22
. -
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.
-
Crie um túnel SSH para a instância do bastion.
-
Instale e configure o FoxyProxy complemento para o navegador Firefox para visualizar a interface do usuário do Apache Airflow.
Etapa 1: criar a instância do bastion
A seção a seguir descreve as etapas para criar a instância Linux Bastion usando um AWS CloudFormation modelo para uma VPC existente
Para criar o Linux Bastion Host
-
Abra a página Deploy Quick Start
no AWS CloudFormation console. -
Use o seletor de região na barra de navegação para escolher a mesma AWS região do seu ambiente Amazon MWAA.
-
Escolha Próximo.
-
Digite um nome no campo de texto Nome da pilha, como.
mwaa-linux-bastion
. -
No painel Parâmetros, Configuração de rede, escolha as seguintes opções:
-
Escolha o seu ID da VPC do ambiente do Amazon VPC.
-
Escolha o seu ID da sub-rede pública 1 do ambiente do Amazon VPC.
-
Escolha o seu ID da sub-rede pública 2 do ambiente do Amazon VPC.
-
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 AWS CloudFormation modelo na Criar a rede VPC página são e.
10.192.10.0/24
10.192.11.0/24
-
-
No painel de EC2 configuração da Amazon, escolha o seguinte:
-
Escolha sua chave SSH na lista suspensa em Nome do par de chaves.
-
Insira um nome em Nome do bastion host.
-
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.
-
-
Escolha Avançar, Avançar.
-
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 on the AWS Cloud: Architecture.
Etapa 2: criar o túnel ssh
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.
nota
Se você receber um Permission denied (publickey)
erro, recomendamos usar a AWSSupport-TroubleshootSSHferramenta e escolher Executar esta automação (console) para solucionar problemas na configuração do SSH.
Etapa 3: configurar o grupo de segurança bastion como uma regra de entrada
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.
-
Abra a página Ambientes
no console do Amazon MWAA. -
Escolha um ambiente.
-
No painel Rede, escolha Grupo de segurança VPC.
-
Escolha Editar regras de entrada.
-
Escolha Adicionar regra.
-
Escolha sua ID do grupo de segurança da VPC na lista suspensa Fonte.
-
Deixe as opções restantes em branco ou defina-as com seus valores padrão.
-
Escolha Salvar regras.
Etapa 4: copiar o URL do Apache Airflow
As etapas a seguir descrevem como abrir o console do Amazon MWAA e copiar o URL para a IU do Apache Airflow.
-
Abra a página Ambientes
no console do Amazon MWAA. -
Escolha um ambiente.
-
Copie o URL na IU do Airflow para as etapas subsequentes.
Etapa 5: definir as configurações de proxy
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, você pode usar o --proxy-server
recurso do Chromium para iniciar uma sessão do navegador ou usar a FoxyProxy extensão no navegador Mozilla FireFox .
Opção um: configure um túnel SSH usando o encaminhamento de portas locais
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 EC2 ResourceManagerweb da Amazon encaminhando o tráfego na porta local 8157.
-
Abra uma nova janela do prompt de comando.
-
Digite o seguinte comando para abrir um túnel SSH.
ssh -i
mykeypair.pem
-N -L 8157:YOUR_VPC_ENDPOINT_ID
-vpce.YOUR_REGION
.airflow.amazonaws.com:443 ubuntu@YOUR_PUBLIC_IPV4_DNS
.YOUR_REGION
.compute.amazonaws.com-L
significa o uso do encaminhamento de portas locais, que permite especificar uma porta local usada para encaminhar dados à porta remota identificada no servidor Web local do nó principal. -
Digite
http://localhost:8157/
em seu navegador.nota
Talvez seja necessário usar
https://localhost:8157/
.
Opção dois: proxies via linha de comando
A maioria dos navegadores da Web permite que você configure 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.YOUR_REGION
.airflow.amazonaws.com/home.
Opção três: uso de proxies FoxyProxy para o Mozilla Firefox
O exemplo a seguir demonstra uma configuração FoxyProxy padrão (versão 7.5.1) para o Mozilla Firefox. FoxyProxy fornece um conjunto de ferramentas de gerenciamento de proxy. Ele permite que você use um servidor proxy para URLs os padrões de correspondência correspondentes aos domínios usados pela interface do usuário do Apache Airflow.
-
No Firefox, abra a página de extensão FoxyProxy padrão
. -
Escolha Adicionar ao Firefox.
-
Escolha Adicionar.
-
Escolha o FoxyProxy ícone na barra de ferramentas do seu navegador e escolha Opções.
-
Copie o código a seguir e salve localmente como
mwaa-proxy.json
. Substitua o valor da amostra pelo seu URL do Apache Airflow.YOUR_HOST_NAME
{ "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" } -
No painel Importar configurações do painel FoxyProxy 6.0+, escolha Importar configurações e selecione o arquivo.
mwaa-proxy.json
-
Escolha OK.
Etapa 6: abra a IU do Apache Airflow
As etapas a seguir descrevem como abrir sua IU do Apache Airflow.
-
Abra a página Ambientes
no console do Amazon MWAA. -
Escolha Abrir a IU do Airflow.
Próximas etapas
-
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.
-
Aprenda a fazer upload de um código DAG para seu bucket do Amazon S3 em Adicionando ou atualizando DAGs.