Dúvida sobre AWS EC2

Pessoal, eu tenho na AWS apenas uma máquina EC2, no uso gratúito. Ta com 20 GB de memória ssd, e o máximo de ran que a avaliação gratúita permite. Mas eu venho percebendo um probleminha, desde quando comessei a usar essa vps deles.

contexto

Só pra contextualisar, no momento eu executo nessa vps um servidor do TeanTalk, os 3 container do owncloud, um servidor para suporte remoto pelo NVDA, um container com o Pi-hole e um bot que gostamos de usar no Teantalk. Tudo isso estão em contaner docker. todos somados dão uns 7 containeres.

dúvida

Eu percebi que essa vps derrepente simplismente cai, não consigo entrar nela via ssh, nem acessar nem um destes serviços que estão instalados nela. A única forma de eu conseguir o acesso, é reiniciando pelo painel da AWS, pelomenos umas 2 vezes. Alguén sabe por que isso? Por que a ec2 costuma cair tanto? Só lembrando, depois que eu mudei estes serviços de instalados direto na máquina, pro docker, a vps parou de cair muito mais. antes era de mais ou menos 10 vezes na semana, e caiu pra umas 2 ou 3.

Boa noite, Rafael. O problema não será no número de serviços que você está rodando nessa máquina? A aws é reconhecida justamente pelos seus 99%.99999 de disponibilidade, será que não está estourando o uso de memória fazendo com que a máquina caia? Além de que a versão gratuita é bem fraca de configuração, se não me engano apenas 1 vCpu e 1 GB de ram.

Algumas coisas não ficaram claras para tentar resolver o problema. As seguintes:

Quando a maquina "cai", qual o estado da maquina é mostrado pela aws running ou stopped?

Segundo, qual o tipo da instância(com relação a compra): Instâncias sob demanda ou Instâncias spot?

Instâncias spot podem ser interrompidas pela aws, é normal.

sobre os tipos de instância que citei: Opções de compra de instância

Opa, atualmente estou no modelo Instâncias sob demanda. Lá no painel, quando cai ainda mostra o status é running .
Neste caso, tenho a hipótese que o problema seja o que `gabrielvictorf` comentou. Você pode analisar esta hipótese verificando a aba "Monitoring" no painel da aws ao selecionar a instância desejada. De qualquer forma, como o status contínua `running`, é uma evidência que o problema não é causado pela aws, e sim pela aplicação de alguma forma.

É provável que você esteja usando recursos demais em uma instância básica, não? Você está usando o ECS para os containers ou está fazendo tudo manualmente em uma instância? Como estão os relatórios de desempenho do CloudWatch?

Acredito que teus containers estejam consumindo todo recurso de memória da tua instância. Como por padrão as máquinas da aws não tem swap então quando tu consomes todo recurso de memória da máquina, ela simplesmente "trava" por falta de recursos. O status irá continuar como running pois ela realmente esta ligada, so que o load avarage vai estar altíssimo, pois o processador estará esperando recursos de memória. Você pode observar na haba de monitoramento o comportamento dela ou até mesmo instalar um agente do Datadog para monitoramento do comportamento dos teus containers. O datadog é gratuito até 4 maquinas e 10 containers se nao me engano.