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á.
Configurar as regras de integridade aperfeiçoada de um ambiente
Os relatórios de integridade avançada do AWS Elastic Beanstalk dependem de um conjunto de regras para determinar a integridade do ambiente. Algumas dessas regras podem não ser adequadas para o seu aplicativo. Veja a seguir alguns exemplos comuns:
-
Você usa ferramentas de teste no lado do cliente. Nesse caso, são esperados erros frequentes de cliente HTTP (4xx).
-
Use o AWS WAF junto com o Application Load Balancer do ambiente para bloquear tráfego de entrada indesejado. Nesse caso, o Application Load Balancer retorna HTTP 403 para cada mensagem recebida rejeitada.
Por padrão, o Elastic Beanstalk inclui todos os erros HTTP 4xx da aplicação ao determinar a integridade do ambiente. Ele altera o status de integridade do ambiente de OK para Warning (Aviso), Degraded (Degradado) ou Severe (Grave), dependendo da taxa de erros. Para lidar corretamente com casos como os exemplos que mencionamos, o Elastic Beanstalk permite configurar algumas regras de integridade aprimorada. É possível optar por ignorar os erros HTTP 4xx do aplicativo nas instâncias do ambiente ou ignorar os erros HTTP 4xx retornados pelo load balancer do ambiente. Este tópico descreve como fazer essas alterações de configuração.
nota
No momento, essas são as únicas personalizações de regras de integridade avançada disponíveis. Não é possível configurar a integridade avançada para ignorar outros erros HTTP além do 4xx.
Configurar regras de integridade aprimorada usando o console do Elastic Beanstalk
É possível usar o console do Elastic Beanstalk para configurar regras de integridade aprimorada no ambiente.
Como configurar a verificação de código de status HTTP 4xx usando o console do Elastic Beanstalk
Abra o console do Elastic Beanstalk
e, na lista Regions (Regiões), selecione a sua Região da AWS. -
No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.
nota
Se você tiver muitos ambientes, use a barra de pesquisa para filtrar a lista de ambientes.
No painel de navegação, escolha Configuration (Configuração).
-
Na categoria de configuração Monitoring (Monitoramento), escolha Edit (Editar).
-
Em Health monitoring rule customization (Personalização da regra de monitoramento de integridade), habilite ou desabilite as opções Ignore (Ignorar) desejadas.
-
Para salvar as alterações, escolha Apply (Aplicar) na parte inferior da página.
Configurar regras de integridade aprimorada usando a EB CLI
Use a CLI do EB para configurar regras de integridade aprimorada, salvando a configuração do ambiente localmente, adicionando uma entrada que defina essas regras e fazendo upload da configuração no Elastic Beanstalk. Você pode aplicar a configuração salva a um ambiente durante ou após a criação.
Como configurar a verificação de código de status HTTP 4xx usando a CLI do EB e configurações salvas
-
Inicialize a pasta do projeto com eb init.
-
Crie um ambiente executando o comando eb create.
-
Salve um modelo de configuração localmente, executando o comando eb config save. O exemplo a seguir usa a opção
--cfg
para especificar o nome da configuração.$
eb config save --cfg
Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml01-base-state
-
Abra o arquivo de configuração salvo em um editor de texto.
-
Em
OptionSettings
>aws:elasticbeanstalk:healthreporting:system:
, adicione uma chaveConfigDocument
para listar cada regra de integridade aprimorada a ser configurada. OConfigDocument
a seguir desabilita a verificação dos códigos de status HTTP 4xx do aplicativo, mantendo a verificação do código HTTP 4xx do load balancer habilitada.OptionSettings: ... aws:elasticbeanstalk:healthreporting:system:
ConfigDocument: Rules: Environment: Application: ApplicationRequests4xx: Enabled: false ELB: ELBRequests4xx: Enabled: true Version: 1
SystemType: enhanced ...nota
É possível combinar
Rules
eCloudWatchMetrics
na mesma configuração da opçãoConfigDocument
.CloudWatchMetrics
são descritas em Publicar métricas personalizadas do Amazon CloudWatch para um ambiente.Se você tiver habilitado
CloudWatchMetrics
anteriormente, o arquivo de configuração recuperado usando o comando eb config save já terá uma chaveConfigDocument
com uma seçãoCloudWatchMetrics
. Não o exclua, em vez disso, adicione uma seçãoRules
no mesmo valor da opçãoConfigDocument
. -
Salve o arquivo de configuração e feche o editor de texto. Neste exemplo, o arquivo de configuração atualizado é salvo com um nome (
02-cloudwatch-enabled.cfg.yml
) diferente do arquivo de configuração obtido por download. Isso cria uma configuração salva separada quando o arquivo é carregado. Você pode usar o mesmo nome que o arquivo baixado para substituir a configuração existente, sem criar um novo. -
Use o comando eb config put para fazer upload do arquivo de configuração atualizado no Elastic Beanstalk.
$
eb config put
02-cloudwatch-enabled
Ao usar os comandos eb config,
get
eput
com configurações salvas, não inclua a extensão do nome do arquivo. -
Aplique a configuração salva ao ambiente em execução.
$
eb config --cfg
02-cloudwatch-enabled
A opção
--cfg
especifica um arquivo de configuração nomeado que é aplicado ao ambiente. É possível salvar o arquivo de configuração localmente ou no Elastic Beanstalk. Se um arquivo de configuração com o nome especificado já existir em ambos os locais, a EB CLI usará o arquivo local.
Configurar regras de integridade aprimorada usando um documento de configuração
O documento de configuração (config) para regras de integridade aprimorada é um documento JSON que lista as regras a serem configuradas.
O exemplo a seguir mostra um documento de configuração que desabilita a verificação de códigos de status HTTP 4xx do aplicativo e habilita a verificação de códigos de status HTTP 4xx do load balancer.
{
"Rules": {
"Environment": {
"Application": {
"ApplicationRequests4xx": {
"Enabled": false
}
},
"ELB": {
"ELBRequests4xx": {
"Enabled": true
}
}
}
},
"Version": 1
}
Na AWS CLI, você passa o documento como um valor da chave Value
em um argumento de configurações de opção, que é um objeto JSON. Nesse caso, você deve escapar as aspas no documento incorporado. O comando a seguir verifica se as definições de configuração são válidas.
$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[
{
"Namespace": "aws:elasticbeanstalk:healthreporting:system",
"OptionName": "ConfigDocument",
"Value": "{\"Rules\": { \"Environment\": { \"Application\": { \"ApplicationRequests4xx\": { \"Enabled\": false } }, \"ELB\": { \"ELBRequests4xx\": {\"Enabled\": true } } } }, \"Version\": 1 }"
}
]'
Para um arquivo de configuração .ebextensions
em YAML, você pode fornecer o documento JSON no estado em que está.
option_settings:
- namespace: aws:elasticbeanstalk:healthreporting:system
option_name: ConfigDocument
value: {
"Rules": {
"Environment": {
"Application": {
"ApplicationRequests4xx": {
"Enabled": false
}
},
"ELB": {
"ELBRequests4xx": {
"Enabled": true
}
}
}
},
"Version": 1
}