Por que meu ambiente do Elastic Beanstalk está em estado inválido?

4 minuto de leitura
0

Quero solucionar o erro "Environment is in an invalid state for this operation. Must be ready" (O ambiente está em um estado inválido para esta operação. Deve estar pronto) em um ambiente AWS Elastic Beanstalk.

Breve descrição

Ao receber esse erro, verifique se não há nenhuma operação em andamento no ambiente. Se houver uma operação em andamento, você deverá aguardar a conclusão da atualização ou cancelar as atualizações em andamento de acordo com seus requisitos. Você pode reiniciar suas atualizações quando o ambiente estiver pronto novamente. Se não houver uma operação em andamento no ambiente e você ainda estiver recebendo o erro, talvez seu ambiente esteja em um estado Unrecoverable (Irrecuperável). Esse estado impede que outras operações sejam executadas no ambiente. Se precisar de mais ajuda para devolver o ambiente ao estado Available (Disponível), entre em contato com o AWS Support. No entanto, há coisas que você pode verificar antes de entrar em contato com o AWS Support.

Resolução

O Elastic Beanstalk cria uma pilha do AWS CloudFormation no backend para gerenciar os recursos associados ao ambiente. Você pode verificar essa pilha no console do CloudFormation com o nome awseb-(env-ID)-stack.

Quando o ambiente do Elastic Beanstalk entra em um estado Unrecoverable (irrecuperável), a pilha do CloudFormation mostra o status *_FAILED. Antes que a equipe do AWS Support possa alterar o ambiente para Available (Disponível), a pilha deve mostrar um status *_COMPLETE.

Para corrigir o status *_FAILED da sua pilha do CloudFormation, execute as seguintes etapas, de acordo com o status da pilha:

Status “UPDATE_ROLLBACK_FAILED”

1.    Navegue até o console do CloudFormation. Em seguida, identifique o recurso que falhou na atualização durante a reversão dos respectivos eventos de pilha.

2.    Leve a pilha ao status UPDATE_ROLLBACK_COMPLETE, selecionando a opção Continue Update Rollback (Continuar atualização de reversão) no console do CloudFormation.

3.    Na caixa de diálogo Continue update rollback (Continuar reversão da atualização), expanda Advanced troubleshooting (Solução de problemas avançada). Na seção Resources to skip - optional (Recursos a serem ignorados - opcional), selecione o recurso cuja atualização falhou.

4.    Escolha Continue update rollback (Continuar reversão da atualização). A pilha agora mostra o status UPDATE_ROLLBACK_COMPLETE.

5.    Entre em contato com a equipe do AWS Support para mudar o ambiente para um estado Available (Disponível).

6.    Quando o ambiente está no status Available (Disponível), você pode realizar mais atualizações no ambiente.

Status “DELETE_FAILED”

1.    Navegue até o console do CloudFormation. Em seguida, identifique o recurso que falhou ao ser excluído dos respectivos eventos da pilha.

2.    Exclua manualmente o recurso cuja exclusão falhou. Por exemplo, se o recurso cuja exclusão falhou for um grupo de segurança, exclua-o do console do Amazon Elastic Compute Cloud (Amazon EC2).

3.    Exclua a pilha do CloudFormation do console do CloudFormation. A pilha agora mostra um status DELETE_COMPLETE.

4.    Entre em contato com a equipe do Elastic Beanstalk para mudar o ambiente para um estado Available (Disponível).

5.    Quando o ambiente está no estado Available (Disponível), você pode reconstruí-lo ou encerrá-lo.

Status “CREATE_FAILED”

Se a sua pilha tiver esse status, a prática recomendada é criar um novo ambiente do Elastic Beanstalk e, em seguida, encerrar o atual. Isso ocorre porque o estado da pilha não é estável o suficiente para realizar uma reversão. É uma boa prática não realizar atualizações adicionais no ambiente atual.

Antes de encerrar o ambiente atual, tente o seguinte:

  • Aproveite as configurações salvas se quiser ter configurações semelhantes para o novo ambiente.
  • Execute implantações azuis/verdes e, quando o novo ambiente estiver funcionando corretamente, execute a troca de CNAMEs entre os URLs dos dois ambientes.

AWS OFICIAL
AWS OFICIALAtualizada há 5 meses