Что вы реализовали с использованием облака AWS?

«Что вы реализовали с использованием облака AWS?» — вопрос из категории Облачные платформы, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В моём последнем проекте мы построили на AWS отказоустойчивую инфраструктуру для микросервисного приложения. Вот ключевые компоненты:

  • Вычислительные мощности: Микросервисы были развёрнуты в Amazon ECS (Fargate), что избавило нас от управления серверами. Для воркеров использовались AWS Lambda функции, запускаемые по событиям из SQS.
  • Данные и хранилище: Основная БД — Amazon RDS (PostgreSQL) с включённым Multi-AZ для высокой доступности. Статические файлы и артефакты сборок хранились в S3 с жизненным циклом для оптимизации costs. Для кеширования использовался ElastiCache (Redis).
  • Сеть и доставка контента: Настроили Application Load Balancer (ALB) для маршрутизации трафика на ECS-сервисы. Amazon CloudFront использовался как CDN для статических assets S3-бакета.
  • Инфраструктура как код: Вся инфраструктура была описана с помощью Terraform. Например, создание security group для RDS выглядело так:

    resource "aws_security_group" "rds_sg" {
    name        = "prod-rds-sg"
    description = "Allow traffic from ECS services"
    vpc_id      = aws_vpc.main.id
    
    ingress {
    from_port       = 5432
    to_port         = 5432
    protocol        = "tcp"
    security_groups = [aws_security_group.ecs_sg.id]
    }
    }
  • Мониторинг: Настроили сбор метрик и логов в CloudWatch, а также дашборды для отслеживания здоровья сервисов.

Это позволило добиться автоматического масштабирования под нагрузку и высокой отказоустойчивости.