

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

# Solucionar problemas com o ambiente Elastic Beanstalk
<a name="troubleshooting"></a>

Este capítulo fornece orientações para a solução de problemas com o ambiente do Elastic Beanstalk. A tabela inclui os seguintes campos:
+ Uma introdução ao AWS Systems Manager, incluindo um procedimento para executar runbooks predefinidos do Elastic Beanstalk que geram recomendações e etapas de solução de problemas.
+ Orientações gerais sobre ações e recursos a serem utilizados quando o status do seu ambiente se deteriorar.
+ Dicas específicas para resolução de problemas organizadas por categoria.

**Se a integridade do seu ambiente mudar para vermelho**, recomendamos que você primeiro use a AWS Systems Manager ferramenta que inclui runbooks predefinidos para solucionar problemas do Elastic Beanstalk. Para obter mais informações, consulte o [ Usar a ferramenta Systems Manager](#troubleshooting-systems-manager).

**Experimente a Amazon Q Developer CLI para solução de problemas assistida por IA**  
 A Amazon Q Developer CLI pode ajudar a solucionar problemas de ambiente rapidamente. A Q CLI fornece soluções verificando o status do ambiente, analisando eventos, analisando logs e fazendo perguntas esclarecedoras. Para obter mais informações e orientações detalhadas, consulte Solução de problemas de [ambientes do Elastic Beanstalk com o Amazon](https://aws.amazon.com/blogs/devops/troubleshooting-elastic-beanstalk-environments-with-amazon-q-developer-cli/) Q Developer CLI nos blogs. AWS 

**Topics**
+ [Usando análise de ambiente baseada em IA](#troubleshooting-ai-analysis)
+ [Usando runbooks do AWS Systems Manager Elastic Beanstalk](#troubleshooting-systems-manager)
+ [Orientação geral para solução de problemas no ambiente Elastic Beanstalk](#troubleshooting-general)
+ [Ambientes que acessam segredos e parâmetros com variáveis de ambiente](#troubleshooting-secrets-env-variables)
+ [Criação de ambiente e execução de instâncias](#troubleshooting-envcreate)
+ [Implantações](#troubleshooting-deployments)
+ [Integridade](#troubleshooting-health)
+ [Ambientes com balanceadores de carga configurados em dual-stack](#troubleshooting-dual-stack-load-balancer)
+ [Configuração](#troubleshooting-configuration)
+ [Solução de problemas de contêineres do Docker](#troubleshooting-docker)
+ [Perguntas frequentes](#troubleshooting-faq)
+ [Erros comuns](#common-errors)
+ [Erros de implantação](#python-common-troubleshooting)

## Usando análise de ambiente baseada em IA
<a name="troubleshooting-ai-analysis"></a>

O Elastic Beanstalk fornece análises baseadas em IA para ajudar a identificar as causas principais e recomendar soluções para problemas de saúde ambiental. Você pode acessar esse recurso por meio do botão **Análise de IA** do console, usando a API do Elastic Beanstalk por AWS CLI meio do, ou **eb logs --analyze** executando com o EB CLI. A análise examina os registros, os eventos e a integridade da instância do seu ambiente para identificar problemas críticos e fornecer recomendações de step-by-step solução de problemas.

Para obter mais informações, consulte [Análise de ambiente baseada em IA](health-ai-analysis.md).

## Usando runbooks do AWS Systems Manager Elastic Beanstalk
<a name="troubleshooting-systems-manager"></a>

Você pode usar o Systems Manager para solucionar problemas em seus ambientes do Elastic Beanstalk. Para ajudar você a começar rapidamente, o Systems Manager fornece runbooks de automação predefinidos para o Elastic Beanstalk. Um runbook de automação é um tipo de documento do Systems Manager que define ações a serem executadas nas instâncias e em outros recursos da  AWS  do seu ambiente.

O documento `AWSSupport-TroubleshootElasticBeanstalk` é um runbook de automação desenvolvido para ajudar a identificar vários problemas comuns que podem degradar seu ambiente do Elastic Beanstalk. Para fazer isso, ele verifica os componentes do seu ambiente, incluindo os seguintes: instâncias do EC2, VPC, pilha CloudFormation , balanceadores de carga, grupos de Auto Scaling e configuração de rede associada a regras de grupos de segurança, tabelas de rotas e. ACLs

Ele também oferece a opção de fazer upload de arquivos de log agrupados do seu ambiente para o AWS Support.

Para obter mais informações, consulte [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html) na *Referência do runbook do AWS Systems Manager  Automation*.

**Usar o Systems Manager para executar o runbook do `AWSSupport-TroubleshootElasticBeanstalk`**
**nota**  
Execute esse procedimento no mesmo Região da AWS local em que seu ambiente do Elastic Beanstalk está localizado.

1. Abra o console do [AWS Systems Manager](https://console.aws.amazon.com/systems-manager/home). 

1. No painel de navegação, em **Gerenciamento de alterações**, escolha **Automação**.

1. Escolha **Execute automation**.

1. Na guia **Pertencente à Amazon**, na caixa de pesquisa **Documentos de automação**, insira `AWSSupport-TroubleshootElasticBeanstalk`.

1. Selecione o **AWSSupport-TroubleshootElasticBeanstalk**cartão e escolha **Avançar**.

1. Selecione **Executar**.

1. Na seção **Parâmetros de entrada**:

   1. No menu **AutomationAssumeRole**suspenso, selecione o ARN da função que permite que o Systems Manager execute ações em seu nome.

   1. **ApplicationName**Em, insira o nome do aplicativo Elastic Beanstalk.

   1. Em **Nome do ambiente**, insira o ambiente do Elastic Beanstalk.

   1. (Opcional) Para o **S3 UploaderLink**, insira um link se um AWS Support Engineer tiver fornecido um link do S3 para a coleta de registros.

1. Escolha **Executar**.

   Se alguma das etapas falhar, selecione o link na coluna **ID da etapa** da etapa que falhou. Fazer isso exibe uma página **Detalhes da execução** para a etapa. A **VerificationErrorMessage**seção exibirá um resumo das etapas que requerem atenção. Por exemplo, `IAMPermissionCheck` pode exibir uma mensagem de aviso. Nesse caso, você pode verificar se a função selecionada no **AutomationAssumeRole**menu suspenso tem as permissões necessárias.

Depois que todas as etapas forem concluídas com êxito, o resultado fornecerá etapas de solução de problemas e recomendações para restaurar seu ambiente a um estado íntegro.

## Orientação geral para solução de problemas no ambiente Elastic Beanstalk
<a name="troubleshooting-general"></a>

As mensagens de erro podem ser exibidas na página Eventos no console, em logs ou na página Integridade. Você também pode tomar medidas para se recuperar de um ambiente degradado causado por uma alteração recente. Se a integridade do seu ambiente mudar para vermelho, tente o seguinte:
+ Solicite uma análise do seu ambiente baseada em IA. Para obter mais informações, consulte [Análise de ambiente baseada em IA](health-ai-analysis.md).
+ Se uma operação no seu ambiente retornar um erro contendo o texto `The stack {{stack_id}} associated with environment {{environment-ID}} is in {{stack-status}} state`, consulte [Recuperar seu ambiente do Elastic Beanstalk de um estado inválido](environment-management-invalid-stack.md) para obter ajuda para solução de problemas.
+ Se uma operação no seu ambiente retornar um erro contendo o texto `Environment {{environment-name}} associated CloudFormation stack {{stack_arn}} does not exist`, encerre seu ambiente e crie outro.
+ Analise os [eventos](using-features.events.md) recentes do ambiente. As mensagens do Elastic Beanstalk sobre problemas de implantação, carregamento e configuração geralmente aparecem aqui.
+ Analise o recente [histórico de alterações](using-features.changehistory.md) do ambiente. O histórico de alterações lista todas as alterações de configuração feitas nos seus ambientes e inclui outras informações, como qual usuário do IAM fez alterações e quais parâmetros de configuração foram definidos.
+ [Extraia os logs](using-features.logging.md) para visualizar as entradas recentes do arquivo de log. Os logs do servidor Web contêm informações sobre as solicitações de entrada e os erros.
+ [Conecte-se a uma instância](using-features.ec2connect.md) e verifique os recursos do sistema.
+ [Reverta](using-features.deploy-existing-version.md) para uma versão anterior válida da aplicação.
+ Desfaça as alterações de configuração recentes ou restaure uma [configuração salva](environment-configuration-methods-before.md#configuration-options-before-savedconfig).
+ Implante um novo ambiente. Se ele parecer íntegro, execute uma [troca de CNAME](using-features.CNAMESwap.md) para rotear o tráfego para o novo ambiente e continuar depurando o anterior.

## Ambientes que acessam segredos e parâmetros com variáveis de ambiente
<a name="troubleshooting-secrets-env-variables"></a>

**Evento:** *falha na implantação da instância ao obter um ou mais segredos*

Esta mensagem indica que o Elastic Beanstalk não conseguiu obter um ou mais dos segredos especificados durante a implantação da sua aplicação.
+ Verifique se os recursos especificados pelos valores de ARNs na configuração da variável de ambiente existem. 
+ Confirme se a função do perfil da instância do EC2 do Elastic Beanstalk possui as [permissões do IAM necessárias](AWSHowTo.secrets.IAM-permissions.md#AWSHowTo.secrets.IAM-permissions.secrets-manager) para acessar os recursos. 
+ Se esse evento foi acionado por meio da operação `RestartAppServer`, depois que o problema for corrigido, tente repetir a chamada `RestartAppServer` para resolver o problema. 
+ Se o evento foi acionado por meio de uma chamada `UpdateEnvironment`, repita a operação `UpdateEnvironment`. 

Para ver exemplos desses comandos, consulte [https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html](https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html) Para obter mais informações sobre as ações da API para essas operações, consulte a *[Referência de API do AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/)*.

**Evento:** *a implantação da instância detectou um ou mais valores de ambiente de várias linhas, que não têm suporte nessa plataforma*

Variáveis de várias linhas não têm suporte em plataformas Amazon Linux 2, exceto nas plataformas Docker gerenciadas pelo Docker e pelo ECS. Para conhecer as opções disponíveis para continuar, consulte [Valores multilinha](AWSHowTo.secrets.env-vars.md#AWSHowTo.secrets.multiline).

**Evento: CreateEnvironment ** *falha quando um segredo é especificado*

Quando há uma falha em `CreateEnvironment` e você tem segredos como variáveis de ambiente, é necessário resolver o problema subjacente e usar `UpdateEnvironment` para concluir a configuração do ambiente. Não use `RestartAppServer`, pois isso não será suficiente para melhorar o ambiente nessa situação. Para ver exemplos desses comandos, consulte [https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html](https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html) Para obter mais informações sobre as ações da API para essas operações, consulte a *[Referência de API do AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/)*.

## Criação de ambiente e execução de instâncias
<a name="troubleshooting-envcreate"></a>

**Evento:** *falha ao executar o ambiente*

Este evento ocorre quando o Elastic Beanstalk tenta executar um ambiente e encontra falhas nesse processo. Os eventos anteriores na página **Eventos** irão alertá-lo para a causa raiz do problema.

**Evento:** *operação de criação do ambiente concluída, mas com tempos limites de comando excedidos. Tente aumentar o tempo limite.*

A implantação do seu aplicativo poderá levar muito tempo se você usar arquivos de configuração que executam comandos na instância, fizer download de arquivos grandes ou instalar pacotes. Aumente o [tempo limite do comando](using-features.rolling-version-deploy.md#environments-cfg-rollingdeployments-console) para dar ao aplicativo mais tempo para iniciar a execução durante as implantações.

**Evento:** *Falha na criação dos seguintes recursos: [AWSEBInstanceLaunchWaitCondition]*

Essa mensagem indica que as instâncias do Amazon EC2 de seu ambiente não comunicaram ao Elastic Beanstalk que foram executadas com êxito. Isso pode ocorrer se as instâncias não têm conectividade com a Internet. Se você configurou o ambiente para executar instâncias em uma sub-rede da VPC privada, [a sub-rede precisará ter um NAT](vpc.md) para permitir que as instâncias se conectem ao Elastic Beanstalk.

**Evento:** *um perfil de serviço é necessário nessa região. Adicione uma opção de perfil de serviço ao ambiente.*

O Elastic Beanstalk usa uma função de serviço para monitorar os recursos no ambiente e oferecer suporte às [atualizações gerenciadas da plataforma](environment-platform-update-managed.md). Consulte [Gerenciar funções de serviço do Elastic Beanstalk](iam-servicerole.md) para obter mais informações.

## Implantações
<a name="troubleshooting-deployments"></a>

**Problema:** *o aplicativo fica indisponível durante as implantações*

Como o Elastic Beanstalk usa um processo de atualização "drop-in", pode haver alguns segundos de tempo de inatividade. Use as [implantações contínuas](using-features.rolling-version-deploy.md) para minimizar o efeito das implantações em seus ambientes de produção.

**Evento:** *Falha ao criar a versão do aplicativo AWS Elastic Beanstalk*

Seu pacote de origem do aplicativo pode ser muito grande ou você pode ter atingido a [cota de versões do aplicativo](applications-versions.md).

**Evento:** *operação de atualização do ambiente concluída, mas com tempos limites de comando excedidos. Tente aumentar o tempo limite.*

A implantação do seu aplicativo poderá levar muito tempo se você usar arquivos de configuração que executam comandos na instância, fizer download de arquivos grandes ou instalar pacotes. Aumente o [tempo limite do comando](using-features.rolling-version-deploy.md#environments-cfg-rollingdeployments-console) para dar ao aplicativo mais tempo para iniciar a execução durante as implantações.

## Integridade
<a name="troubleshooting-health"></a>

**Evento:** *utilização da CPU excede 95%*

Tente [executar mais instâncias](using-features.managing.as.md) ou [escolher outro tipo de instância](using-features.managing.ec2.md).

**Evento:** *Elastic Load Balancer awseb- Não {{myapp}} tem instâncias íntegras, os* *processos do ELB não estão íntegros quando não há* instâncias. {{X}} {{Y}} , *os processos do ELB não estão íntegros em todas as instâncias*.

Essas mensagens indicam que as verificações de integridade do balanceador de carga estão falhando em uma ou mais instâncias. Se seu aplicativo parecer estar funcionando, verifique se o URL de verificação de integridade do aplicativo está configurado corretamente. Caso contrário, tente o seguinte:
+ Verifique os registros do seu aplicativo (por exemplo,`/var/log/web.stdout.log`) e verifique se `/var/log/eb-engine.log` há erros, falhas de inicialização ou problemas de implantação.
+ Verifique os registros do proxy em busca de erros de conexão em `/var/log/nginx/` (nginx) `/var/log/httpd/` ou (Apache).
+ Verifique se seu aplicativo responde com HTTP 200 ao caminho de verificação de integridade configurado e está escutando na porta esperada.
+ Verifique se os grupos de segurança permitem tráfego de entrada do balanceador de carga para instâncias na porta de verificação de integridade. No console do EC2, verifique as regras de entrada no grupo de segurança da instância para confirmar se a porta de verificação de integridade está aberta para o grupo de segurança do balanceador de carga.
+ Verifique a utilização da CPU e da memória nas CloudWatch métricas (`CPUUtilization`,`EnvironmentHealth`). O esgotamento de recursos pode causar tempos limite na verificação de integridade.

Para obter mais detalhes, [recupere os registros completos do pacote ou [ative o CloudWatch ](AWSHowTo.cloudwatchlogs.md) streaming de registros](using-features.logging.md). Você também pode executar o runbook [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html)de automação para ajudar a diagnosticar o problema.

**Evento:** *Elastic Load Balancer awseb* - Não pode ser encontrado {{myapp}}

O balanceador de carga do seu ambiente pode ter sido removido out-of-band. Somente faça alterações nos recursos do ambiente com as opções de configuração e [extensibilidade](ebextensions.md) fornecidas pelo Elastic Beanstalk. Reconstrua o ambiente ou inicie um novo.

**Evento:** *falha ao iniciar instância de EC2. Aguardando uma nova instância de EC2 para iniciar...*

A disponibilidade para o tipo de instância do seu ambiente pode estar baixa ou você pode ter atingido a cota de instâncias da sua conta. Verifique o [Painel de status dos serviços](https://status.aws.amazon.com/) para garantir que o serviço Elastic Compute Cloud (Amazon EC2) esteja verde ou [solicite um aumento de cota](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-ec2-instances).

**Evento:** *nenhuma das instâncias está enviando dados.*

O Elastic Beanstalk não está recebendo dados de saúde de nenhuma de suas instâncias. Isso pode ser causado por problemas de conectividade de rede, problemas de agentes de saúde ou falhas no nível do sistema.
+ Verifique a conectividade da rede. Verifique se os grupos de segurança permitem HTTPS de saída (porta 443). Para instâncias em sub-redes privadas, verifique se um gateway NAT ou endpoints VPC estão configurados. Verifique as tabelas de rotas para ver as rotas de saída corretas e garanta que a resolução de DNS funcione corretamente em sua VPC.
+ Verifique o agente de monitoramento de saúde. Verifique os erros do agente de saúde e `/var/log/messages` os erros no nível do sistema. `/var/log/healthd/daemon.log` Verifique se o serviço healthd está em execução conectando-se à instância via SSH e executando. `systemctl status healthd`
+ Verifique se há problemas no nível do sistema, como esgotamento de recursos (memória, CPU, espaço em disco), sincronização de NTP/system relógio e conectividade do serviço de metadados da instância.

Para obter mais detalhes, [recupere os registros completos do pacote ou [ative o CloudWatch ](AWSHowTo.cloudwatchlogs.md) streaming de registros](using-features.logging.md). Você também pode executar o runbook [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshoot-elastic-beanstalk.html)de automação para ajudar a diagnosticar o problema.

## Ambientes com balanceadores de carga configurados em dual-stack
<a name="troubleshooting-dual-stack-load-balancer"></a>

**Evento:** a *VPC {{vpc\_id}} não tem blocos IPv6 CIDR configurados. IPv6 Os blocos CIDR são necessários para o balanceador de carga de pilha dupla. Associe um bloco IPv6 CIDR à sua VPC antes de usar o modo dualstack.*

Sua VPC e todas as sub-redes devem ter blocos IPv6 CIDR associados a elas. Este é um dos pré-requisitos da VPC que você deve concluir antes de configurar seu balanceador de carga para suporte a dual-stack. Para obter mais informações sobre como concluir esta tarefa, consulte [Pré-requisitos da Amazon VPC](environments-cfg-elbv2-ipv6-dualstack.md#environments-cfg-elbv2-ipv6-dualstack.prereqs) no início deste tópico.

 **Evento:** *uma ou mais sub-redes para VPC {{vpc\_id}} não têm IPv6 blocos CIDR configurados. IPv6 Os blocos CIDR são necessários para as sub-redes usadas com o balanceador de carga de pilha dupla. Associe os blocos IPv6 CIDR a todas as sub-redes necessárias antes de usar o modo dualstack.* 

Todas as sub-redes da sua VPC devem ter blocos IPv6 CIDR associados a elas. Este é um dos pré-requisitos da VPC que você deve concluir antes de configurar seu balanceador de carga para suporte a dual-stack. Para obter mais informações sobre como concluir esta tarefa, consulte [Pré-requisitos da Amazon VPC](environments-cfg-elbv2-ipv6-dualstack.md#environments-cfg-elbv2-ipv6-dualstack.prereqs) no início deste tópico.

 **Erro:** *a opção `IpAddressType` só pode ser aplicada em ambientes do Elastic Beanstalk configurados com um Application Load Balancer ou Network Load Balancer.* 

Essa mensagem indica que seu ambiente Elastic Beanstalk pode ser um ambiente de instância única ou que pode estar usando um Classic Load Balancer. Somente ambientes configurados com um Application Load Balancer ou Network Load Balancer podem configurar `IpAddressType`.

## Configuração
<a name="troubleshooting-configuration"></a>

**Evento:** *a stack `{{stack_id}}` associada ao ambiente `{{environment-ID}}` está no estado `{{stack-status}}`*

A CloudFormation pilha subjacente do seu ambiente pode estar no status *\*\_FAILED*. Esse status deve ser corrigido para continuar as operações do Elastic Beanstalk no seu ambiente. Para obter mais informações, consulte [Recuperar seu ambiente do Elastic Beanstalk de um estado inválido](environment-management-invalid-stack.md).

**Evento:** *você não pode configurar um ambiente do Elastic Beanstalk com valores para as ambas as opções, Elastic Load Balancing Target (Destino do balanceamento de carga elástico) e Application Healthcheck URL (URL para verificação de integridade da aplicação)*

A opção `Target` no namespace `aws:elb:healthcheck` está obsoleta. Remova o namespace da opção `Target` de seu ambiente e tente atualizar novamente.

**Evento:** *O ELB não pode ser anexado a várias sub-redes na mesma zona de disponibilidade*

Esta mensagem poderá ser visualizada se você tentar mover um load balancer entre sub-redes na mesma zona de disponibilidade. A alteração de sub-redes no load balancer requer movê-lo para fora da(s) zona(s) de disponibilidade original(is) e, em seguida, de volta à original com as sub-redes desejadas. Durante o processo, todas as suas instâncias serão migradas entre elas AZs, causando um tempo de inatividade significativo. Em vez disso, considere criar um novo ambiente e [executar uma troca CNAME](using-features.CNAMESwap.md).

## Solução de problemas de contêineres do Docker
<a name="troubleshooting-docker"></a>

**Evento:** *falha ao extrair imagem do Docker: mais recentes: nome do repositório inválido (), apenas [a-z0-9-\_.] são permitidos. Siga os logs para obter mais detalhes.*

Verifique a sintaxe do arquivo `dockerrun.aws.json` usando um validador JSON. Verifique também o conteúdo do dockerfile em relação aos requisitos descritos em [Preparar a imagem do Docker para implantação no Elastic Beanstalk](single-container-docker-configuration.md)

**Evento:** *Nenhuma diretiva EXPOSE encontrada no Dockerfile, abortar a implantação*

O arquivo `Dockerfile` ou `dockerrun.aws.json` não declara a porta do contêiner. Use a instrução `EXPOSE` (`Dockerfile`) ou `Ports` bloco (arquivo `dockerrun.aws.json`) para expor uma porta do tráfego de entrada.

**Evento:** *falha ao baixar as credenciais {{repository}} de autenticação* do {{bucket name}}

O `dockerrun.aws.json` fornece um bucket and/or S3 de par de chaves EC2 inválido para o arquivo. `.dockercfg` Ou o perfil da instância não tem GetObject autorização para o bucket do S3. Verifique se o arquivo `.dockercfg` contém um bucket do S3 e um par de chaves do EC2 válidos. Conceda permissões da ação `s3:GetObject` à função do IAM no perfil da instância. Para detalhes, consulte [Gerenciar perfis de instância do Elastic Beanstalk](iam-instanceprofile.md)

**Evento:** *Falha na execução de atividade, porque: AVISO: arquivo de configuração de autorização inválido*

Seu arquivo de autenticação (`config.json`) não está formatado corretamente. Consulte [Autenticação em repositórios de imagensUsando AWS Secrets Manager](docker-configuration.remote-repo.md)

## Perguntas frequentes
<a name="troubleshooting-faq"></a>

**Pergunta:** *Como posso alterar o URL do meu aplicativo de myapp.us-west-2.elasticbeanstalk.com para www.myapp.com?*

Em um servidor DNS, registre um registro CNAME, como **www.mydomain.com CNAME mydomain.elasticbeanstalk.com**.

**Pergunta:** *Como especifico uma zona de disponibilidade exclusiva para minha aplicação do Elastic Beanstalk?*

Você pode escolher uma zona de disponibilidade específica usando a CLI APIs, o plug-in Eclipse ou o plug-in do Visual Studio. Para obter instruções sobre como usar o console do Elastic Beanstalk para especificar uma zona de disponibilidade, consulte [Ajuste de escala automático das instâncias do seu ambiente do Elastic Beanstalk](using-features.managing.as.md).

**Pergunta:** *Como posso alterar o tipo de instância do meu ambiente?*

Para alterar o tipo de instância do ambiente, acesse a página de configuração do ambiente e escolha **Edit** (Editar) na categoria de configuração **Instances** (Instâncias). Selecione um novo tipo de instância e escolha **Apply** (Aplicar) para atualizar o ambiente. Depois disso, o Elastic Beanstalk encerra todas as instâncias em execução e as substitui por novas.

**Pergunta:** *Como determino se alguém fez alterações de configuração em um ambiente? *

Para ver essas informações, no painel de navegação do console do Elastic Beanstalk, escolha **Change history** (Alterar histórico) para exibir uma lista de alterações de configuração para todos os ambientes. Essa lista inclui a data e a hora da alteração, o parâmetro de configuração e o valor para o qual ele foi alterado e o usuário do IAM que fez a alteração. Para obter mais informações, consulte [Histórico de alterações](using-features.changehistory.md). 

**Pergunta:** *posso impedir que os volumes do Amazon EBS sejam excluídos quando as instâncias são encerradas?*

As instâncias do ambiente usam o Amazon EBS para armazenamento; no entanto, o volume raiz é excluído quando uma instância é encerrada pelo Auto Scaling. Nós não recomendamos que você armazene o estado ou outros dados em suas instâncias. Se necessário, você pode evitar que os volumes sejam excluídos com AWS CLI: `$ aws ec2 modify-instance-attribute -b '/dev/sdc=<vol-id>:false` conforme descrito na [AWS CLI Referência](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

**Pergunta:** *como faço para excluir informações pessoais da aplicação do Elastic Beanstalk?*

AWS os recursos que seu aplicativo Elastic Beanstalk usa podem armazenar informações pessoais. Quando um ambiente é encerrado, o Elastic Beanstalk encerra os recursos que ele criou. Os recursos que você adicionou usando os [arquivos de configuração](ebextensions.md) também são encerrados. No entanto, se você criou AWS recursos fora do seu ambiente do Elastic Beanstalk e os associou ao seu aplicativo, talvez seja necessário verificar manualmente se as informações pessoais que seu aplicativo pode ter armazenado não foram retidas. Ao longo deste guia do desenvolvedor, sempre que discutimos a criação de recursos adicionais, também mencionamos quando você deve pensar em excluí-los.

## Erros comuns
<a name="common-errors"></a>

Este tópico lista as mensagens de erro comuns encontradas ao usar a EB CLI e as possíveis soluções. Se você encontrar uma mensagem de erro que não aparece aqui, use os links *Feedback* para relatá-la.

**ERRO: Ocorreu um erro ao usar o comando git. Código do erro: 128 Erro: fatal: Não é um nome de objeto válido HEAD**

**Causa:** essa mensagem de erro aparece quando você inicializou um repositório Git, mas ainda não confirmou. A EB CLI procura a revisão HEAD quando a pasta do seu projeto contém um repositório Git.

**Solução:** adicione os arquivos na pasta do seu projeto à área de preparação e confirme:

```
~/my-app$ git add .
~/my-app$ git commit -m "First commit"
```

**ERRO: Esta ramificação não tem um ambiente padrão. Você deve especificar um ambiente digitando “eb status my-env-name" ou definir um ambiente padrão digitando “eb use my-env-name”.**

**Causa:** ao criar uma nova ramificação em git, ela não é anexada a um ambiente Elastic Beanstalk por padrão.

**Solução:** execute **eb list** para ver uma lista dos ambientes disponíveis. Em seguida, execute **eb use {{env-name}}** para usar um dos ambientes disponíveis.

**ERRO: Plataformas 2.0\+ exigem um perfil de serviço. Você pode fornecer uma com a opção --service-role**

**Causa:** se você especificar um nome de ambiente com **eb create** (por exemplo, **eb create my-env**), a EB CLI não tentará criar uma função de serviço para você. Se você não tem a função de serviço padrão, o erro acima é mostrado.

**Solução:** execute **eb create** sem um nome de ambiente e siga os prompts para criar a função de serviço padrão.

## Erros de implantação
<a name="python-common-troubleshooting"></a>

A implantação do Elastic Beanstalk pode responder com uma resposta 404 (se a aplicação não iniciar) ou 500 (se a aplicação falhar durante o runtime). Para solucionar muitos problemas comuns, você pode usar a CLI do EB para verificar o status da sua implantação, visualizar seus registros, obter acesso à sua instância do EC2 com SSH ou abrir a página do console de gerenciamento AWS do seu ambiente de aplicativos.

**Para usar a EB CLI para ajudar a solucionar problemas de implantação**

1. Execute **eb status** para ver o status da implantação atual e a integridade dos hosts do EC2. Por exemplo:

   ```
   $ eb status --verbose
   
   Environment details for: python_eb_app
     Application name: python_eb_app
     Region: us-west-2
     Deployed Version: app-150206_035343
     Environment ID: e-wa8u6rrmqy
     Platform: 64bit Amazon Linux 2014.09 v1.1.0 running Python 2.7
     Tier: WebServer-Standard-
     CNAME: python_eb_app.elasticbeanstalk.com
     Updated: 2015-02-06 12:00:08.557000+00:00
     Status: Ready
     Health: Green
     Running instances: 1
         i-8000528c: InService
   ```
**nota**  
O uso do switch `--verbose` fornece informações sobre o status das suas instâncias em execução. Sem ele, o **eb status** imprime somente informações gerais sobre seu ambiente.

1. Execute **eb health** para visualizar informações de integridade do seu ambiente:

   ```
   $ eb health --refresh
    elasticBeanstalkExa-env                                  Degraded                  2016-03-28 23:13:20
   WebServer                                                                              Ruby 2.1 (Puma)
     total      ok    warning  degraded  severe    info   pending  unknown
       5        2        0        2        1        0        0        0
   
     instance-id   status     cause
       Overall     Degraded  Incorrect application version found on 3 out of 5 instances. Expected version "Sample Application" (deployment 1).
     i-d581497d    Degraded  Incorrect application version "v2" (deployment 2). Expected version "Sample Application" (deployment 1).
     i-d481497c    Degraded  Incorrect application version "v2" (deployment 2). Expected version "Sample Application" (deployment 1).
     i-136e00c0    Severe    Instance ELB health has not been available for 5 minutes.
     i-126e00c1    Ok
     i-8b2cf575    Ok
   
     instance-id   r/sec    %2xx   %3xx   %4xx   %5xx      p99      p90      p75     p50     p10
       Overall     646.7   100.0    0.0    0.0    0.0    0.003    0.002    0.001   0.001   0.000
     i-dac3f859    167.5    1675      0      0      0    0.003    0.002    0.001   0.001   0.000
     i-05013a81    161.2    1612      0      0      0    0.003    0.002    0.001   0.001   0.000
     i-04013a80    0.0         -      -      -      -         -        -       -       -       -
     i-3ab524a1    155.9    1559      0      0      0    0.003    0.002    0.001   0.001   0.000
     i-bf300d3c    162.1    1621      0      0      0    0.003    0.002    0.001   0.001   0.000
   
     instance-id   type       az   running     load 1  load 5      user%  nice%  system%  idle%   iowait%
     i-d581497d    t2.micro   1a   25 mins       0.16     0.1        7.0    0.0      1.7   91.0       0.1
     i-d481497c    t2.micro   1a   25 mins       0.14     0.1        7.2    0.0      1.6   91.1       0.0
     i-136e00c0    t2.micro   1b   25 mins        0.0    0.01        0.0    0.0      0.0   99.9       0.1
     i-126e00c1    t2.micro   1b   25 mins       0.03    0.08        6.9    0.0      2.1   90.7       0.1
     i-8b2cf575    t2.micro   1c   1 hour        0.05    0.41        6.9    0.0      2.0   90.9       0.0
     
     instance-id   status     id   version              ago                                  deployments
     i-d581497d    Deployed   2    v2                   9 mins
     i-d481497c    Deployed   2    v2                   7 mins
     i-136e00c0    Failed     2    v2                   5 mins
     i-126e00c1    Deployed   1    Sample Application   25 mins
     i-8b2cf575    Deployed   1    Sample Application   1 hour
   ```

   O exemplo acima mostra um ambiente com cinco instâncias em que a implantação da versão "v2" falhou na terceira instância. Após uma implantação com falha, a versão esperada será redefinida para a última versão bem-sucedida que, neste caso, é o "Aplicativo de exemplo" da primeira implantação. Consulte [Usar a EB CLI para monitorar a integridade do ambiente](health-enhanced-ebcli.md) para obter mais informações.

1. Execute **eb logs** para fazer download e visualizar os logs associados à implantação do aplicativo.

   ```
   $ eb logs
   ```

1. Execute **eb ssh** para conectar-se à instância do EC2 que está executando seu aplicativo e examiná-la diretamente. Na instância, o aplicativo implantado está no diretório `/opt/python/current/app`, e seu ambiente Python está em `/opt/python/run/venv/`.

1. Execute **eb console** para visualizar o ambiente da aplicação no [Console de Gerenciamento da AWS](https://aws.amazon.com/console/). Você pode usar a interface da Web para examinar facilmente diversos aspectos da implantação, incluindo configuração, status, eventos e logs do aplicativo. Você também pode fazer download das versões atuais ou anteriores do aplicativo que você implantou no servidor.