Quando comecei a usar o AWS EC2, pensei que estava apenas girando um servidor. É o que dizem a maioria dos tutoriais. Basta “lançar uma instância” e você está bem. Mas o que eu não sabia era isso: EC2 é simples na superfície, mas tem muitos detalhes ocultos que podem custar tempo, dinheiro e sabedoria. Aqui está tudo o que eu gostaria que alguém me dissesse antes de usar o EC2 pela primeira vez – para que você possa evitar os erros que cometi. Escolher o tipo de instância correto não é opcional A primeira decisão que você toma é o tipo de instância. Você verá nomes como , em , em E assim por diante. t2.micro t3.medium m5.large Na época, eu escolhi o mais barato - Animais livres, não é mesmo? t2.micro Mas o meu app continuou a cair. Eu não entendi como as instâncias “burstables” funcionam. : What I learned O t2.micro usa créditos de CPU. Você ganha créditos ao longo do tempo e gasta-os quando seu aplicativo precisa de mais CPU. Se você executar um processo de longa duração (como um build ou script), você pode correr fora de créditos rapidamente. Uma vez que você expira, sua instância se torna muito lenta. : What to do instead Se você está apenas experimentando ou hospedando um site estático, o t2.micro está bem. Se você precisar de algo mais estável para tarefas de fundo, use a série t3 ou m. Sempre combine a instância com a sua carga de trabalho real – não a etiqueta de preço. Grupos de segurança são firewalls (e eles importam) Quando lancei minha instância EC2, não consegui SSH nele. Eu pensei que estava quebrado. Mas foi apenas o - Versão do EC2 de um firewall - bloqueando meu acesso. security group : What I learned Por padrão, o EC2 bloqueia todo o tráfego de entrada. Você tem que abrir portas manualmente, mesmo para SSH (porta 22) ou HTTP (porta 80). Se você quiser visitar seu aplicativo em um navegador, você precisa permitir a porta 80 (ou 443 para HTTPS). : What to do instead Ao configurar sua instância, adicione uma regra para permitir o SSH do seu IP. Para sites públicos, permita HTTP e HTTPS. Não abra todos os portos para o mundo. EC2 é apenas um servidor em branco Quando entrei na minha instância, eu tipifiquei Para executar o meu app Node. node “Comando não encontrado”. Eu tentei Isso também não funcionou. git pull Então me atingiu – EC2 é apenas uma Nada vem pré-instalado bare OS : What I learned Você precisa instalar tudo: Node, Python, Git, Nginx, o que quer que seja. Não há GUI, apenas um terminal. É como alugar um computador na nuvem. : What to do instead Use um script de inicialização para automatizar a configuração inicial. Ou crie seu próprio AMI personalizado quando tudo estiver configurado da maneira que você deseja. Se você estiver implementando com frequência, considere o uso de imagens Elastic Beanstalk ou AWS AMI com pilhas pré-instaladas. EC2 não armazena seus dados a menos que você diga a Eu uma vez reiniciou a minha instância EC2 e todos os meus arquivos de aplicativos desapareceram. Foi embora Por que? eu estava usando - que se limpa no stop/start. ephemeral storage : What I learned O EC2 tem dois tipos principais de armazenamento: Instance Store (temporário) e EBS (persistente). Apenas os volumes da EBS guardam seus dados após a desativação. Alguns AMIs são predefinidos para instance store, a menos que sejam alterados. : What to do instead Use sempre o EBS para qualquer coisa importante. Tome snapshots do seu volume regularmente. Se você precisar de mais durabilidade, considere armazenar arquivos no S3 em vez disso. Os IPs públicos podem mudar (a menos que você use IPs elásticos) Eu construí um aplicativo pequeno, o implantei no EC2 e enviei o IP para meus amigos. Alguns dias depois, eles disseram que não estava funcionando. Verifique se o IP público mudou. : What I learned EC2 atribui um novo IP público cada vez que você parar e iniciar a instância. Se você quiser um IP estável, você deve usar um IP elástico. : What to do instead Vá para EC2 > IPs elásticos e alocar um. Associá-lo com a sua instância. Atualize seu DNS ou use esse IP em seu código front-end. Nota: Você será cobrado por IPs Elastic não usados, então solte-os quando não forem necessários. Os pares de chaves SSH são tudo Você não pode simplesmente entrar com uma senha. Quando você lança sua instância, a AWS solicita um - que do arquivo. key pair .pem Eu apaguei a minha pensando que eu não precisava mais. Um grande erro. : What I learned Sem o arquivo .pem, você não pode SSH para a instância. Se você perdê-lo, você precisará criar uma nova instância ou usar uma solução de snapshot. : What to do instead Guarde sua chave com segurança. Nunca o exclua a menos que você esteja 100% pronto com a instância. Use um gerenciador de senhas ou uma ferramenta de backup segura. Você precisa configurar o Auto Shutdown ou você vai esquecer Eu deixei uma instância EC2 em execução por um mês. Nem sequer percebeu. Até que o projeto de lei chegou. : What I learned EC2 carrega pelo segundo, mas apenas enquanto a instância estiver em execução. Não há aviso ou lembrete se algo permanecer em andamento. : What to do instead Configure um lembrete de calendário para parar as instâncias não usadas. Use Orçamentos da AWS para obter alertas sobre gastos. Você também pode configurar uma função Lambda para parar instâncias EC2 automáticas. EC2 é poderoso, mas nem sempre a melhor escolha Se você está apenas tentando hospedar um site estático, o EC2 é overkill. O mesmo se você não quiser gerenciar o Linux. : What I learned EC2 dá-lhe controle total – o que significa total responsabilidade. For simpler use cases, AWS offers easier tools: for frontend apps Amplify for managed backends Elastic Beanstalk for WordPress or quick server setup Lightsail for serverless tasks Lambda : What to do instead Pense no que você realmente precisa. Se você está apenas testando algo, o EC2 está bem. Mas não se obriguem a gerenciar a infraestrutura a menos que tenha sentido. Pensamentos finais EC2 é uma ferramenta poderosa, mas como a maioria dos serviços da AWS, pressupõe que você saiba o que está fazendo. A documentação nem sempre torna as coisas simples. E uma pequena configuração pode levar a horas de depuração ou custos inesperados. Mas uma vez que você entende o básico – instâncias, IPs, armazenamento, firewalls – o EC2 começa a fazer sentido. Torna-se uma ferramenta em que você pode confiar. Basta lembrar: trate o EC2 como um servidor real. E um pouco de preparação irá poupar-lhe muita dor mais tarde.