5.3 Acessando a Página Web
Nesta etapa, vamos verificar que a página HTML está sendo servida pela EC2.
⚡ Visão rápida: o Apache é instalado automaticamente pelo user_data no boot da instância. Aqui o objetivo é confirmar que tudo funcionou — e entender como acessar e validar o servidor.
5.3.1 O que acontece no boot
Quando a instância sobe, o user_data é executado uma única vez. O script:
- atualiza os pacotes do sistema;
- instala o Apache;
- escreve o
index.htmlem/var/www/html/index.html; - habilita e inicia o serviço.
A máquina já nasce configurada — não é necessário acessar por SSH para instalar nada manualmente.
5.3.2 Obter o IP público
Ao final do apply, o output ec2_public_ip exibe o IP da instância:
tofu output ec2_public_ip
Ou para capturar apenas o valor:
tofu output -raw ec2_public_ip
5.3.3 Acessar a página no navegador
Abra no navegador:
http://SEU_IP_PUBLICO
A página HTML preparada no projeto deve aparecer servida pelo Apache.
⏳ Se a página não carregar imediatamente
Ouser_dataroda em background após o boot. Pode levar 1 a 2 minutos até o Apache estar disponível. Aguarde e recarregue a página.
5.3.4 Verificar pelo terminal
Para testar sem abrir o navegador, use curl:
curl http://$(tofu output -raw ec2_public_ip)
Se o Apache estiver respondendo, o conteúdo do index.html aparece no terminal.
5.3.5 Verificar dentro da instância via SSH
Se a página não responder, acesse a instância para inspecionar o serviço:
ssh -i <sua-chave.pem> ubuntu@$(tofu output -raw ec2_public_ip)
Dentro da instância:
# Status do Apache
sudo systemctl status apache2
# Logs de erro
sudo tail -f /var/log/apache2/error.log
# Confirmar que o arquivo HTML está no lugar certo
cat /var/www/html/index.html
5.3.6 Resultado esperado
Ao final da fase 5, o projeto terá:
- 🖥️ uma instância EC2 com IP público;
- 🔓 um security group com porta
80liberada; - 📁 assets HTTP locais incorporados ao
user_data; - 🌐 Apache instalado e servindo a página HTML no boot;
- 🔁 recriação automática da instância ao alterar o
index.html.
