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 for Apache Airflow, e como resolver esses erros.

Atualizar o requirements.txt

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

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ê habilitou os logs do Apache Airflow, verifique se seus grupos de logs foram criados com sucesso na página Grupos de logs no console do CloudWatch. Caso veja logs em branco, o motivo mais comum é a falta de permissões em seu perfil de execução para o CloudWatch ou o Amazon S3, onde os logs são gravados. Para saber mais, consulte 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. Para saber mais, consulte Configurando uma conexão Apache Airflow usando um segredo AWS Secrets Manager.

  4. Verifique a configuração de rede da VPC. Para saber mais, consulte Tentei criar um ambiente e ele está travado no estado “Criando”.

  5. Verifique as permissões do perfil de execução. Um perfil de execução é um perfil do IAM AWS Identity and Access Management com uma política de permissões que concede permissão ao Amazon MWAA para invocar os recursos de outros serviços AWS (como Amazon S3, CloudWatch, Amazon SQS, Amazon ECR) em seu nome. Sua chave gerenciada pelo cliente ou AWS chave própria também precisa ter acesso permitido. Para saber mais, consulte Perfil de execução.

  6. Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC e a configuração para seu ambiente Amazon MWAA, consulte o script Verificar ambiente nas AWSferramentas de suporte no GitHub.

Plug-ins

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

Consigo implementar alterações personalizadas na IU no executor local do Amazon MWAA por meio de plug-ins, mas quando tento fazer o mesmo no Amazon MWAA, não vejo minhas alterações nem erros. Por que isso está acontecendo?

O executor local do Amazon MWAA tem todos os componentes do Apache Airflow empacotados em uma imagem, permitindo que você aplique alterações personalizadas no plug-in de IU.

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:::YOUR_S3_BUCKET_NAME", "arn:aws:s3:::YOUR_S3_BUCKET_NAME/*" ] }

    Substitua os espaços reservados de amostra em YOUR_S3_BUCKET_NAME pelo nome do seu bucket Amazon S3, como my-mwaa-unique-s3-bucket-name.

  3. Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC e a configuração para seu ambiente Amazon MWAA, consulte o script Verificar ambiente nas AWSferramentas de suporte no GitHub.

Criar o ambiente do

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

Tentei criar um ambiente e ele está travado no estado “Criando”

Recomendamos as seguintes etapas:

  1. Verifique a rede VPC com roteamento público. Se você estiver usando um Amazon VPC com acesso à Internet, verifique:

    1. se seu Amazon VPC está configurado para permitir tráfego de rede entre os diferentes recursos da AWS 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 um Amazon VPC sem acesso à Internet, verifique:

    1. se seu Amazon VPC está configurado para permitir tráfego de rede entre os diferentes recursos da AWS 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 e a configuração para seu ambiente Amazon MWAA, consulte o script Verificar ambiente nas AWSferramentas de suporte no GitHub.

Tentei criar um ambiente, mas ele mostra o status como “Falha na criação”

Recomendamos as seguintes etapas:

  1. Verifique a configuração de rede da VPC. Para saber mais, consulte Tentei criar um ambiente e ele está travado no estado “Criando”.

  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. Sua conta da AWS pode não ter 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 do Apache Airflow à rede privada, sua conta AWS deve ter o acesso concedido por seu administrador para a política de controle de acesso AmazonMWAAFullConsoleAccess para seu ambiente, o que permite que sua conta crie endpoints da VPC .

  3. Verifique as permissões do perfil de execução. Um perfil de execução é um perfil do IAM AWS Identity and Access Management com uma política de permissões que concede permissão ao Amazon MWAA para invocar os recursos de outros serviços AWS (como Amazon S3, CloudWatch, Amazon SQS, Amazon ECR) em seu nome. Sua chave gerenciada pelo cliente ou AWS chave própria também precisa ter acesso permitido. Para saber mais, consulte Perfil de execução.

  4. Verifique os logs do Apache Airflow. Se você habilitou os logs do Apache Airflow, verifique se seus grupos de logs foram criados com sucesso na página Grupos de logs no console do CloudWatch. Caso veja logs em branco, o motivo mais comum é a falta de permissões em seu perfil de execução para o CloudWatch ou o Amazon S3, onde os logs são gravados. Para saber mais, consulte Perfil de execução.

  5. Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC e a configuração para seu ambiente Amazon MWAA, consulte o script Verificar ambiente nas AWSferramentas de suporte no 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 o erro “Falha de rede”

Recomendamos as seguintes etapas:

  • Se você vir um erro de “Falha de rede” ao tentar selecionar um 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://your-bucket-name

Tentei criar um ambiente e ele mostra o status como “Disponível”, mas quando tento acessar a IU 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. Para saber mais, consulte Tentei criar um ambiente e ele está travado no estado “Criando”.

  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. Para saber mais, consulte 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 e a configuração para seu ambiente Amazon MWAA, consulte o script Verificar ambiente nas AWSferramentas de suporte no 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 seu perfil do IAM AWS Identity and Access Management exceder esse tamanho, um algoritmo de hash será usado para reduzi-lo, permanecendo exclusivo.

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-local-runner no GitHub.

  2. Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC e a configuração para seu ambiente Amazon MWAA, consulte o script Verificar ambiente nas AWSferramentas de suporte no 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 permite visualizar a IU do Apache Airflow. Para saber mais, consulte Como acessar um ambiente do Amazon MWAA.

  2. Verifique o acesso à rede. A causa pode ser porque você selecionou o modo de acesso à rede privada. Se a URL da sua IU do Apache Airflow estiver no formato 387fbcn-8dh4-9hfj-0dnd-834jhdfb-vpce.c10.us-west-2.airflow.amazonaws.com, significa que você está usando roteamento privado para o seu servidor Web 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. Para saber mais, consulte Gerenciando o acesso a endpoints Amazon VPC específicos de serviços no Amazon MWAA.