AWS: обзор сервисов для веб-разработчика
AWS (Amazon Web Services) — облачная платформа с сотнями сервисов; для веб-разработчика наиболее релевантны EC2, S3, RDS, Lambda, CloudFront, Route 53 и ECS.
Зачем нужно
AWS позволяет запустить веб-приложение любого масштаба без покупки физического железа. Разработчик получает готовую инфраструктуру: сервера, хранилище, CDN, управляемые БД — всё настраивается через API или консоль. Глубокое знание AWS востребовано на рынке и часто является требованием вакансий.
Где используется
- Хостинг backend API (EC2, ECS, Lambda)
- Хранение статических файлов и медиа (S3 + CloudFront)
- Управляемые базы данных (RDS — PostgreSQL, MySQL)
- Serverless-функции (Lambda)
- DNS и домены (Route 53)
Основной контент
Ключевые сервисы AWS для веб-разработчика
| Сервис | Категория | Назначение |
|---|---|---|
| EC2 | Compute | Виртуальные серверы (VPS в облаке) |
| S3 | Storage | Объектное хранилище (файлы, статика) |
| RDS | Database | Управляемые реляционные БД |
| Lambda | Serverless | Функции без сервера |
| ECS / Fargate | Containers | Запуск Docker-контейнеров |
| CloudFront | CDN | Дистрибуция контента (CDN) |
| Route 53 | DNS | Управление доменами и DNS |
| IAM | Security | Управление доступом и ролями |
| CloudWatch | Monitoring | Логи и метрики |
| SES | Отправка email |
AWS CLI — базовые команды
# Установка
pip install awscli
# Конфигурация
aws configure
# AWS Access Key ID:
# AWS Secret Access Key:
# Default region: eu-west-1
# Default output format: json
# Проверка
aws sts get-caller-identity
# S3
aws s3 ls # список бакетов
aws s3 cp file.txt s3://my-bucket/ # загрузить файл
aws s3 sync ./dist s3://my-bucket/ --delete # синхронизация папки
# EC2
aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId,State.Name,PublicIpAddress]'
Типичный стек для веб-приложения на AWS
Пользователь
→ Route 53 (DNS)
→ CloudFront (CDN + HTTPS)
→ S3 (статика: React/Next.js)
→ ALB (Application Load Balancer)
→ ECS / EC2 (Node.js API)
→ RDS PostgreSQL (БД)
→ ElastiCache Redis (кэш)
→ S3 (медиафайлы)
→ SES (email)
→ CloudWatch (логи)
IAM — безопасность
# Никогда не используй root-аккаунт для программного доступа!
# Создай IAM-пользователя с минимальными правами
# Используй IAM Roles для EC2/Lambda (не хардкоди ключи в коде)
# Просмотр политик роли
aws iam list-role-policies --role-name MyAppRole
Terraform для создания ресурсов AWS (декларативно)
provider "aws" {
region = "eu-west-1"
}
resource "aws_s3_bucket" "static" {
bucket = "my-app-static-files"
}
resource "aws_instance" "api" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t3.micro"
tags = {
Name = "my-api-server"
}
}
Частые ошибки
- Хардкодить AWS Access Key / Secret в коде или
.env— использовать IAM Roles - Открывать Security Group на все порты (
0.0.0.0/0) — минимально необходимые порты - Не настраивать биллинг-алерты — можно получить неожиданный счёт
- Запускать всё в одном AZ (Availability Zone) — нет отказоустойчивости
Связанные темы
- _MOC DevOps
- AWS EC2 -- виртуальные серверы
- AWS S3 -- хранение статики
- AWS Lambda -- serverless
- Terraform -- основы