View a markdown version of this page

Solução de problemas: Como criar e atualizar um ambiente do Amazon MWAA - Amazon Managed Workflows for Apache Airflow

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

Solução de problemas: Como criar e atualizar um ambiente do Amazon MWAA

Os tópicos desta página contêm erros que podem ser encontrados ao criar e atualizar um ambiente do Amazon Managed Workflows para Apache Airflow e como resolver esses erros.

Atualizando o requirements.txt

O tópico a seguir descreve os erros que você pode receber ao atualizar seu requirements.txt.

Eu especifiquei uma nova versão do meu requirements.txt e está demorando mais de 20 minutos para atualizar meu ambiente

Se o ambiente demorar mais de vinte minutos para instalar uma nova versão de um arquivo requirements.txt, a atualização do ambiente falhou e o Amazon MWAA está voltando para a última versão estável da imagem do contêiner.

  1. Verifique as versões do pacote. Recomendamos sempre especificar uma versão específica (==) ou uma versão máxima (<=) para as dependências do Python em seu requirements.txt.

  2. Verifique os logs do Apache Airflow. Se você ativou os registros do Apache Airflow, verifique se seus grupos de registros foram criados com sucesso na página Grupos de registros no CloudWatch console. Se você receber registros em branco, o motivo mais comum é a falta de permissões em sua função de execução CloudWatch ou no Amazon S3, onde os registros são gravados. Consulte para saber mais: Perfil de execução.

  3. Verifique as opções de configuração do Apache Airflow. Caso esteja usando o Secrets Manager, verifique se os pares de chave-valor que você especificou como uma opção de configuração do Apache Airflow foram configurados corretamente. Consulte Configurando uma conexão do Apache Airflow usando um AWS Secrets Manager secret para saber mais.

  4. Verifique a configuração de rede da VPC. Consulte Eu tentei criar um ambiente e ele está preso no estado Criando para saber mais.

  5. Verifique as permissões do perfil de execução. Uma função de execução é uma função AWS Identity and Access Management (IAM) com uma política de permissões que concede ao Amazon MWA permissão para invocar os recursos de outros AWS serviços (como Amazon S3, Amazon SQS CloudWatch, Amazon ECR) em seu nome. Sua Customer-managed chave ou chave AWS de propriedade também precisa ter acesso permitido. Consulte para saber mais: Perfil de execução.

  6. Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC para seu ambiente Amazon MWAA, consulte o script Verify Environment em AWS Support Tools on. GitHub

Recebo um erro Não foi possível instalar pacotes devido a um erro OSError [Erro 28] Não há espaço restante no dispositivo

Os contêineres Amazon MWAA têm uma quantidade finita de armazenamento para sistemas operacionais, DAGs, tempos de execução e bibliotecas. Para obter mais informações, consulte Quanto armazenamento de tarefas está disponível para cada ambiente?.

Para reduzir a necessidade de armazenamento, talvez você possa usar --no-cache-dir instalando as bibliotecas com um script de inicialização. Por exemplo:

#!/bin/sh if [[ "${MWAA_AIRFLOW_COMPONENT}" != "webserver" ]] then # place requirements.txt in DAGs folder, and replace existing requirements.txt with an empty text file pip3 install --no-cache-dir -r /usr/local/airflow/dags/requirements.txt fi

Para obter mais informações, consulte Configurar um script de startup.

Você também pode instalar suas bibliotecas a partir de arquivos de roda do Python. Para obter mais informações, consulte Opção dois: wheel do Python (.whl).

Plugins

O tópico a seguir descreve os problemas que você pode encontrar ao configurar ou atualizar os plug-ins do Apache Airflow.

O Amazon MWAA oferece suporte à implementação de uma IU personalizada?

A partir do Apache Airflow v2.2.2, o Amazon MWAA oferece suporte à instalação de plug-ins no servidor Web do Apache Airflow e à implementação de uma IU personalizada. Se o seu ambiente Amazon MWAA estiver executando o Apache Airflow v2.0.2 ou anterior, você não poderá implementar uma IU personalizada.

Para obter mais informações sobre gerenciamento de versões e atualização de seus ambientes existentes, consulte Versões do Apache Airflow no Amazon Managed Workflows for Apache Airflow..

Criar bucket

O tópico a seguir descreve os erros que você pode receber ao criar um bucket do Amazon S3.

Não consigo selecionar a opção para configurações de bloqueio de acesso público do S3

O perfil de execução do seu ambiente Amazon MWAA precisa de permissão para a ação GetBucketPublicAccessBlock no bucket do Amazon S3 para verificar se o bucket bloqueou o acesso público. Recomendamos as seguintes etapas:

  1. Siga as etapas para anexar uma política JSON ao seu perfil de execução.

  2. Anexe a seguinte política do JSON:

    { "Effect":"Allow", "Action":[ "s3:GetObject*", "s3:GetBucket*", "s3:List*" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }

    Substitua os espaços reservados da amostra pelo amzn-s3-demo-bucket nome do seu bucket do Amazon S3.

  3. Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC para seu ambiente Amazon MWAA, consulte o script Verify Environment em AWS Support Tools on. GitHub

Criar o ambiente do

O tópico a seguir descreve os erros que você pode receber ao criar um ambiente.

Eu tentei criar um ambiente e ele está preso no estado Criando

Recomendamos as seguintes etapas:

  1. Verifique a rede VPC com roteamento público. Se você estiver usando uma Amazon VPC com acesso à internet, verifique o seguinte:

    1. Que seu Amazon VPC esteja configurado para permitir o tráfego de rede entre os diferentes AWS recursos usados pelo seu ambiente Amazon MWAA, conforme definido em. Sobre a rede do Amazon MWAA Por exemplo, seu grupo de segurança da VPC deve permitir todo o tráfego em uma regra de autorreferência ou, opcionalmente, especificar o intervalo de portas para o intervalo de portas HTTPS 443 e um intervalo de portas TCP 5432.

  2. Verifique a rede VPC com roteamento privado. Se você estiver usando uma Amazon VPC sem acesso à internet, verifique o seguinte:

    1. Que seu Amazon VPC esteja configurado para permitir o tráfego de rede entre os diferentes AWS recursos para seu ambiente Amazon MWAA, conforme definido em. Sobre a rede do Amazon MWAA Por exemplo, suas duas sub-redes privadas não devem ter uma tabela de rotas para um gateway NAT (ou instância NAT), nem um gateway da internet.

  3. Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC para seu ambiente Amazon MWAA, consulte o script Verify Environment em AWS Support Tools on. GitHub

Eu tentei criar um ambiente, mas ele exibe o status como Falha na criação

Recomendamos as seguintes etapas:

  1. Verifique a configuração de rede da VPC. Consulte Eu tentei criar um ambiente e ele está preso no estado Criando para saber mais.

  2. Verifique as permissões de usuário. O Amazon MWAA executa um teste com base nas credenciais do usuário antes de criar um ambiente. Conta da AWS Talvez você não tenha permissão no AWS Identity and Access Management (IAM) para criar alguns dos recursos para um ambiente. Por exemplo, se você escolheu o modo de acesso Apache Airflow à rede privada, seu administrador Conta da AWS deve ter concedido acesso à política de controle de AmazonMWAAFullConsoleAccess acesso do seu ambiente, que permite que sua conta crie endpoints VPC.

  3. Verifique as permissões do perfil de execução. Uma função de execução é uma função AWS Identity and Access Management (IAM) com uma política de permissões que concede ao Amazon MWA permissão para invocar os recursos de outros AWS serviços (como Amazon S3, Amazon SQS CloudWatch, Amazon ECR) em seu nome. Sua Customer-managed chave ou chave AWS de propriedade também precisa ter acesso permitido. Consulte Perfil de execução para saber mais.

  4. Verifique os logs do Apache Airflow. Se você ativou os registros do Apache Airflow, verifique se seus grupos de registros foram criados com sucesso na página Grupos de registros no CloudWatch console. Se você receber registros em branco, o motivo mais comum é a falta de permissões em sua função de execução CloudWatch ou no Amazon S3, onde os registros são gravados. Consulte para saber mais: Perfil de execução.

  5. Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC para seu ambiente Amazon MWAA, consulte o script Verify Environment em AWS Support Tools on. GitHub

  6. Se você estiver usando um Amazon VPC sem acesso à Internet, certifique-se de ter criado um endpoint de gateway do Amazon S3 e concedido as permissões mínimas necessárias ao Amazon ECR para acessar o Amazon S3. Para saber mais sobre como criar um endpoint do gateway do Amazon S3, consulte:

Tentei selecionar uma VPC e recebi um erro de falha de rede

Recomendamos as seguintes etapas:

  • Se você tiver um erro Network Failure ao tentar selecionar uma Amazon VPC ao criar seu ambiente, desative todos os proxies no navegador que estejam em execução e tente novamente.

Tentei criar um ambiente e recebi um erro de serviço, partição ou recurso “deve ser transferido”

Recomendamos as seguintes etapas:

  • É possível que esteja recebendo este erro porque o URI que você especificou para seu bucket do Amazon S3 inclui um “/” no final do URI. Recomendamos remover o “/” no caminho. O valor deve estar no seguinte formato:

    s3://amzn-s3-demo-bucket

Tentei criar um ambiente e ele exibe o status como Disponível, mas quando tento acessar a interface do Airflow, aparece um erro de resposta vazia do servidor ou 502 Bad Gateway

Recomendamos as seguintes etapas:

  1. Verifique a configuração do grupo de segurança da VPC. Consulte Eu tentei criar um ambiente e ele está preso no estado Criando para saber mais.

  2. Confirme se todos os pacotes do Apache Airflow que você listou em requirements.txt correspondem à versão do Apache Airflow que você está executando no Amazon MWAA. Consulte para saber mais: Como instalar dependências do Python.

  3. Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC para seu ambiente Amazon MWAA, consulte o script Verify Environment em AWS Support Tools on. GitHub

Tentei criar um ambiente e meu nome de usuário é um monte de caracteres aleatórios

  • O Apache Airflow tem um máximo de 64 caracteres para nomes de usuário. Se sua função AWS Identity and Access Management (IAM) exceder esse tamanho, um algoritmo de hash será usado para reduzi-la, permanecendo exclusiva.

Atualizar ambiente

O tópico a seguir descreve os erros que você pode receber ao atualizar um ambiente.

Tentei mudar a classe do ambiente, mas a atualização falhou

Se você atualizar seu ambiente para uma classe de ambiente diferente (como alterar um mw1.medium para um mw1.small) e a solicitação de atualização do ambiente falhar, o status do ambiente entrará em um estado UPDATE_FAILED e o ambiente será revertido e cobrado de acordo com a versão estável anterior de um ambiente.

Recomendamos as seguintes etapas:

  1. Teste seus DAGs, plug-ins personalizados e dependências do Python localmente usando aws-mwaa-docker-images on. GitHub

  2. Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC para seu ambiente Amazon MWAA, consulte o script Verify Environment em AWS Support Tools on. GitHub

Ambiente de acesso

O tópico a seguir descreve os erros que você pode receber ao acessar um ambiente.

Não consigo acessar a IU do Apache Airflow

Recomendamos as seguintes etapas:

  1. Verifique as permissões de usuário. Talvez você não tenha recebido acesso a uma política de permissões que você possa usar para acessar a IU do Apache Airflow. Consulte Como acessar um ambiente do Amazon MWAA para saber mais.

  2. Verifique o acesso à rede. A causa pode ser porque você selecionou o modo de acesso à rede privada. Se o URL da IU do Apache Airflow estiver no formato 387fbcn-8dh4-9hfj-0dnd-834jhdfb-vpce.c10.us-west-2.airflow.amazonaws.com, isso significa que você está usando roteamento privado para o seu servidor Web do Apache Airflow. Você pode atualizar o modo de acesso do Apache Airflow para o modo de acesso à rede pública ou criar um mecanismo para acessar o endpoint da VPC do seu servidor Web Apache Airflow. Consulte Como gerenciar o acesso a endpoints da Amazon VPC específicos do serviço no Amazon MWAA para saber mais.