Todos os produtos
Search
Central de documentação

Elastic Container Instance:Use probes for container health checks

Última atualização: Jun 28, 2026

As sondas de atividade e de prontidão são mecanismos que verificam o status de um contêiner. A sonda de atividade determina se o contêiner está em execução adequada, enquanto a sonda de prontidão verifica se ele pode atender a requisições. Este tópico descreve como configurar sondas de atividade e de prontidão para contêineres no Elastic Container Instance (ECI). Essas sondas ajudam o ECI a monitorar e gerenciar o estado dos seus contêineres, garantindo alta disponibilidade e estabilidade do serviço.

Visão geral

O ECI oferece suporte a sondas de atividade e de prontidão para verificar a integridade e o status dos contêineres.

sonda de atividade

Verifica se um contêiner está em execução adequada.

  • Se a verificação for bem-sucedida, o contêiner será considerado íntegro.

  • Se a verificação falhar, o sistema reiniciará o contêiner com base na política de reinicialização configurada.

  • Caso nenhuma sonda de atividade esteja configurada, o contêiner será sempre considerado íntegro.

  • Uma sonda de atividade pode detectar deadlocks. Por exemplo, se uma aplicação estiver em execução, mas não conseguir progredir, a sonda reiniciará o contêiner para ajudar na recuperação.

  • Aplicações de longa duração podem entrar em um estado defeituoso do qual não conseguem se recuperar sem uma reinicialização. A sonda de atividade detecta e corrige essa situação.

sonda de prontidão

Verifica se um contêiner está pronto para aceitar e atender a requisições.

  • Se a verificação for bem-sucedida, o contêiner será considerado pronto e poderá receber tráfego.

  • Se a verificação falhar, o contêiner não estará pronto e o sistema interromperá o envio de tráfego para ele até que a sonda tenha sucesso novamente.

  • Se nenhuma sonda de prontidão estiver configurada, o contêiner será considerado pronto imediatamente após a inicialização.

Utilize uma sonda de prontidão se uma aplicação ficar temporariamente incapaz de atender ao tráfego, por exemplo, durante o carregamento de grandes volumes de dados ou arquivos de configuração na inicialização. Nesses casos, você não deseja encerrar a aplicação, mas quer parar temporariamente de enviar requisições para ela.

Configuração via API

Ao criar uma instância ECI com a operação CreateContainerGroup, configure as sondas usando os parâmetros LivenessProbe e ReadinessProbe. Para mais informações, consulte CreateContainerGroup.

Parâmetros de LivenessProbe

Importante

Ao configurar os parâmetros de LivenessProbe, especifique apenas um método de verificação: HttpGet, Exec ou TcpSocket.

Parâmetro

Tipo

Exemplo

Descrição

Container.N.LivenessProbe.HttpGet.Path

string

/healthyz

Caminho da requisição de verificação de integridade HTTP GET.

Container.N.LivenessProbe.HttpGet.Port

integer

8888

Porta da requisição de verificação de integridade HTTP GET.

Container.N.LivenessProbe.HttpGet.Scheme

string

HTTP

Protocolo da requisição HTTP GET. Valores válidos:

  • HTTP

  • HTTPS

Container.N.LivenessProbe.Exec.Command.N

array

cat /tmp/healthy

Comando a ser executado dentro do contêiner para a verificação de integridade.

Container.N.LivenessProbe.TcpSocket.Port

integer

8000

Porta a ser verificada na verificação de integridade por socket TCP.

Container.N.LivenessProbe.InitialDelaySeconds

integer

5

Atraso em segundos após a inicialização do contêiner antes da execução da primeira sonda.

Container.N.LivenessProbe.PeriodSeconds

integer

1

Intervalo de execução da sonda. Valor padrão: 10. Valor mínimo: 1. Unidade: segundos.

Container.N.LivenessProbe.SuccessThreshold

integer

1

Número de sucessos consecutivos necessários para que a sonda seja considerada bem-sucedida após uma falha. Este valor deve ser 1 para sondas de atividade. Padrão: 1.

Container.N.LivenessProbe.FailureThreshold

integer

3

Número de falhas consecutivas necessárias para que a sonda seja considerada como falha. Valor padrão: 3.

Container.N.LivenessProbe.TimeoutSeconds

integer

1

Tempo limite em segundos para a sonda expirar. Valor padrão: 1. Valor mínimo: 1. Unidade: segundos.

Parâmetros de ReadinessProbe

Importante

Ao configurar os parâmetros de ReadinessProbe, especifique apenas um método de verificação: HttpGet, Exec ou TcpSocket.

Parâmetro

Tipo

Exemplo

Descrição

Container.N.ReadinessProbe.HttpGet.Path

string

/healthyz

Caminho da requisição de verificação de integridade HTTP GET.

Container.N.ReadinessProbe.HttpGet.Port

integer

8888

Porta da requisição de verificação de integridade HTTP GET.

Container.N.ReadinessProbe.HttpGet.Scheme

string

HTTP

Protocolo da requisição HTTP GET. Valores válidos:

  • HTTP

  • HTTPS

Container.N.ReadinessProbe.Exec.Command.N

array

cat /tmp/healthy

Comando a ser executado dentro do contêiner para a verificação de integridade.

Container.N.ReadinessProbe.TcpSocket.Port

integer

8000

Porta a ser verificada na verificação de integridade por socket TCP.

Container.N.ReadinessProbe.InitialDelaySeconds

integer

5

Atraso em segundos após a inicialização do contêiner antes da execução da primeira sonda.

Container.N.ReadinessProbe.PeriodSeconds

integer

1

Intervalo de execução da sonda. Valor padrão: 10. Valor mínimo: 1. Unidade: segundos.

Container.N.ReadinessProbe.SuccessThreshold

integer

1

Número mínimo de sucessos consecutivos necessários para que a sonda seja considerada bem-sucedida após uma falha. Padrão: 1. Mínimo: 1.

Container.N.ReadinessProbe.FailureThreshold

integer

3

Número de falhas consecutivas necessárias para que a sonda seja considerada como falha. Valor padrão: 3.

Container.N.ReadinessProbe.TimeoutSeconds

integer

1

Tempo limite em segundos para a sonda expirar. Valor padrão: 1. Valor mínimo: 1. Unidade: segundos.

Configuração pelo console

Ao criar uma instância ECI no console do Elastic Container Instance, selecione um contêiner na seção Container Configurations, expanda as configurações avançadas do contêiner, ative as verificações de integridade e configure as sondas.

Nota

Na configuração de sondas pelo console, há suporte apenas para os métodos de linha de comando e requisição HTTP. O método de socket TCP não é suportado.

Parâmetro

Descrição

Timeout Period

  • Waiting Period: tempo de espera em segundos após a inicialização do contêiner antes da execução da primeira sonda. Corresponde ao parâmetro de API initialDelaySeconds.

  • Timeout Period: tempo em segundos após o qual a sonda expira. Se uma sonda expirar, ela será considerada uma falha. Corresponde ao parâmetro de API timeoutSeconds.

Method

Selecione um método de verificação.

  • Script: a sonda executa um comando dentro do contêiner. Se o comando sair com código de status 0, a verificação será bem-sucedida.

  • HTTP Request: a sonda envia uma requisição HTTP para o contêiner. Se o código de status da resposta for maior ou igual a 200 e menor que 400 (2xx ou 3xx), a verificação será bem-sucedida.

Script

Se selecionar Script como método de verificação, especifique o comando a ser executado no contêiner.

HTTP Request

Se selecionar HTTP Request como método de verificação, especifique o caminho, a porta e o protocolo para a requisição HTTP GET.

Exemplo

Este exemplo demonstra como criar uma instância ECI com uma sonda de atividade e uma sonda de prontidão e, em seguida, simular uma falha de serviço para observar as sondas em ação.

  1. Chame a operação CreateContainerGroup para criar uma instância ECI.

    O exemplo a seguir usa o método de socket TCP para verificações de integridade:

    ContainerGroupName=test-probe
    # Use the nginx image and automatically create and associate an EIP.
    Container.1.Name=container-1
    Container.1.Image=nginx
    AutoCreateEip=true
    # Liveness probe: checks port 80 every 3s, starting 5s after launch. Success threshold: 1, failure threshold: 3, timeout: 10s.
    Container.1.LivenessProbe.TcpSocket.Port=80
    Container.1.LivenessProbe.InitialDelaySeconds=5
    Container.1.LivenessProbe.PeriodSeconds=3
    Container.1.LivenessProbe.SuccessThreshold=1
    Container.1.LivenessProbe.FailureThreshold=3
    Container.1.LivenessProbe.TimeoutSeconds=10
    # Readiness probe: checks port 80 every 3s, starting 5s after launch. Success threshold: 1, failure threshold: 3, timeout: 10s.
    Container.1.ReadinessProbe.TcpSocket.Port=80
    Container.1.ReadinessProbe.InitialDelaySeconds=5
    Container.1.ReadinessProbe.PeriodSeconds=3
    Container.1.ReadinessProbe.SuccessThreshold=1
    Container.1.ReadinessProbe.FailureThreshold=3
    Container.1.ReadinessProbe.TimeoutSeconds=10
  2. Visualize os eventos da instância ECI no console do Elastic Container Instance.

    Após a criação da instância ECI, clique em ID da instância para abrir sua página de detalhes. Na aba Events, confirme que o contêiner iniciou normalmente.

    A lista de eventos mostra quatro eventos Normal em ordem: Pulling image "nginx", Successfully pulled image "nginx", Created container container-1 e Started container container-1.

  3. Conecte-se ao contêiner. Para mais informações, consulte Conectar-se a uma instância ECI com o Workbench.

  4. Altere a porta de escuta do Nginx para simular uma falha de serviço.

    1. Modifique a porta de escuta do Nginx.

      Nota

      A imagem do Nginx usada neste exemplo não possui o vim instalado. Antes de executar o comando vi, execute apt-get update e apt-get install vim para instalar o vim.

      vi /etc/nginx/conf.d/default.conf

      Altere a porta de escuta de 80 para 8080, conforme mostrado no exemplo a seguir:

      server {
          listen       8080;
          listen  [::]:8080;
          server_name  localhost;
          #access_log  /var/log/nginx/host.access.log  main;
          location / {
              root   /usr/share/nginx/html;
              index  index.html index.htm;
          }
          #error_page  404              /404.html;
          # redirect server error pages to the static page /50x.html
          #
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
              root   /usr/share/nginx/html;
          }
      }
    2. Recarregue a configuração do Nginx.

      nginx -s reload
  5. Verifique o efeito das sondas.

    Alguns segundos após recarregar o Nginx, o contêiner será reiniciado automaticamente. Visualize os eventos da instância para ver o contêiner reiniciar após a falha das sondas de atividade e de prontidão.

    A lista de eventos mostra que as sondas falharam com a mensagem dial tcp 172.x.x.x:80: connect: connection refused, indicando que a conexão com a porta do contêiner foi recusada. Como resultado, o ECI reiniciou automaticamente o contêiner container-1.