Construí uma Arquitetura altamente disponível e resiliente na AWS!
1️⃣ . VPC e Sub-redes
🔸VPC (Virtual Private Cloud): Criamos uma VPC dedicada com CIDR 10.0.0.0/16, permitindo controle total sobre a rede.
🔸Sub-redes: Implementamos sub-redes públicas e privadas. As sub-redes públicas são usadas para instâncias EC2 e o Load Balancer, enquanto as sub-redes privadas hospedam o banco de dados RDS.
2️⃣ . Load Balancer e Auto Scaling
🔸Application Load Balancer (ALB): Distribui o tráfego entre instâncias EC2 em diferentes zonas de disponibilidade (AZ), aumentando a resiliência e a disponibilidade.
🔸Auto Scaling Group: Garante que o número de instâncias EC2 seja ajustado automaticamente com base na demanda, proporcionando escalabilidade e eficiência.
3️⃣ . Banco de Dados RDS
🔸Instâncias RDS Multi-AZ: Implementamos uma instância RDS para garantir alta disponibilidade. O uso de Multi-AZ permite que as réplicas do banco de dados sejam criadas em diferentes zonas, oferecendo recuperação rápida em caso de falhas.
4️⃣ . Segurança
🔸Grupos de Segurança: Definimos regras rígidas de entrada e saída, garantindo que apenas o tráfego necessário possa acessar os recursos.
O acesso ao RDS é limitado às instâncias EC2 específicas, aumentando a segurança.
5️⃣ . Monitoramento e Notificações
🔸CloudWatch: Alarmes configurados para monitorar o uso da CPU e acionar políticas de escalonamento, garantindo que a infraestrutura se ajuste automaticamente.
🔸SNS (Simple Notification Service): Notificações por e-mail são enviadas para alertar sobre eventos críticos, como alterações no Auto Scaling.
6️⃣ . S3 Buckets
🔸Amazon S3: Um bucket S3 é criado e projetado para oferecer armazenamento escalável e durável.
Esta arquitetura não apenas garante alta disponibilidade e resiliência, mas também é escalável e segura. É ideal para aplicações que demandam performance consistente e precisam estar sempre disponíveis. O uso do Terraform facilita a automação e a replicação da infraestrutura, tornando o gerenciamento mais eficiente.