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.
Sumário
Tentei criar um ambiente e ele está travado no estado Creating
Tentei criar um ambiente, mas ele mostra o status como Create failed
Tentei criar um ambiente e recebi um erro de serviço, partição ou recurso “deve ser transferido”
Tentei criar um ambiente e meu nome de usuário é um monte de caracteres aleatórios
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.
-
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 seurequirements.txt. -
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. Consulte Função de execução para saber mais. -
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 Como configurar uma conexão do Apache Airflow usando um segredo AWS Secrets Manager para saber mais.
-
Verifique a configuração de rede da VPC. Consulte Tentei criar um ambiente e ele está travado no estado Creating para saber mais.
-
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 chave de propriedade da AWS também precisa ter acesso permitido. Consulte Função de execução para saber mais.
-
Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC e a configuração para o ambiente do 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 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:
-
Siga as etapas para anexar uma política JSON ao seu perfil de execução.
-
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 exemplos de placeholders no
amzn-s3-demo-bucketpelo nome de bucket do Amazon S3. -
Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC e a configuração para o ambiente do 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 Creating
Recomendamos as seguintes etapas:
-
Verifique a rede VPC com roteamento público. Se você estiver usando uma Amazon VPC com acesso à internet, verifique o seguinte:
-
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.
-
-
Verifique a rede VPC com roteamento privado. Se você estiver usando uma Amazon VPC sem acesso à internet, verifique o seguinte:
-
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.
-
-
Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC e a configuração para o ambiente do Amazon MWAA, consulte o script Verificar ambiente
nas AWSferramentas de suporte no GitHub.
Tentei criar um ambiente, mas ele mostra o status como Create failed
Recomendamos as seguintes etapas:
-
Verifique a configuração de rede da VPC. Consulte Tentei criar um ambiente e ele está travado no estado Creating para saber mais.
-
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 da 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.
-
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 chave de propriedade da AWS também precisa ter acesso permitido. Consulte Função de execução para saber mais.
-
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. Consulte Função de execução para saber mais. -
Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC e a configuração para o ambiente do Amazon MWAA, consulte o script Verificar ambiente
nas AWSferramentas de suporte no GitHub. -
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:
-
Criação de endpoint de gateway para o Amazon S3 no Guia do usuário do Amazon Elastic Container Registry
Tentei selecionar uma VPC e recebi o erro Network Failure
Recomendamos as seguintes etapas:
-
Se você tiver um erro
Network Failureao 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 mostra o status como Available, mas quando tento acessar a IU do Airflow, aparece um erro Empty Reply from Server ou 502 Bad Gateway
Recomendamos as seguintes etapas:
-
Verifique a configuração do grupo de segurança da VPC. Consulte Tentei criar um ambiente e ele está travado no estado Creating para saber mais.
-
Confirme se todos os pacotes do Apache Airflow que você listou em
requirements.txtcorrespondem à versão do Apache Airflow que você está executando no Amazon MWAA. Consulte Como instalar dependências do Python para saber mais. -
Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC e a configuração para o ambiente do 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:
-
Teste seus DAGs, plug-ins personalizados e dependências do Python localmente usando aws-mwaa-docker-images
no GitHub. -
Para executar um script de solução de problemas que verifique a configuração da rede Amazon VPC e a configuração para o ambiente do 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:
-
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.
-
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.