Пример 1: Запуск EC2-инстанса через консоль (практическая работа из лекции)
Практическая работа из лекции: создание EC2-сервера через AWS Management Console.
Шаг 1: Войти в консоль и открыть EC2
- Откройте console.aws.amazon.com
- В поисковой строке введите EC2
- Нажмите Launch Instance (оранжевая кнопка)
Шаг 2: Базовые настройки
- Name and tags: введите имя инстанса, например
web-server-01 - Application and OS Images (AMI): выберите Amazon Linux 2023 AMI (помечена как «Free tier eligible»)
- Instance type: выберите t2.micro или t3.micro (Free tier eligible)
Шаг 3: Key pair (SSH-доступ)
- Нажмите Create new key pair
- Введите имя, например
my-aws-key - Тип: RSA, формат: .pem (для Linux/Mac) или .ppk (для PuTTY на Windows)
- Нажмите Create key pair — файл скачается автоматически. Сохраните его!
Шаг 4: Network settings
- VPC: оставьте Default VPC
- Subnet: выберите любую публичную подсеть (например,
us-east-1a) - Auto-assign public IP: Enable — без этого SSH-подключение будет невозможно
- Security group: создайте новую с правилом: Type = SSH, Port = 22, Source =
0.0.0.0/0
0.0.0.0/0 (весь интернет) допустимо для учебных целей. В production ограничьте доступ конкретным IP.
Шаг 5: Storage
По умолчанию предлагается 8 ГБ gp3. Для Free Tier оставьте как есть.
Шаг 6: Launch Instance
- Проверьте Summary (справа) — убедитесь, что тип t2.micro и AMI правильные
- Нажмите Launch Instance
- Подождите 1–2 минуты, пока статус изменится на running
Шаг 7: Подключение по SSH
# Windows PowerShell / Linux / Mac
# 1. Ограничьте права на ключ (Linux/Mac)
chmod 400 ~/Downloads/my-aws-key.pem
# 2. Подключитесь (замените IP на Public IPv4 вашего инстанса)
ssh -i ~/Downloads/my-aws-key.pem ec2-user@YOUR_PUBLIC_IP
# Для Ubuntu AMI пользователь: ubuntu
ssh -i ~/Downloads/my-aws-key.pem ubuntu@YOUR_PUBLIC_IP
Public IP инстанса: EC2 → Instances → выберите инстанс → вкладка Details → Public IPv4 address.
Пример 2: Выбор региона для проекта
Задача: выбрать регион AWS для веб-приложения с пользователями в Европе.
| Критерий | eu-west-1 (Ирландия) | eu-central-1 (Франкфурт) | us-east-1 (Вирджиния) |
|---|---|---|---|
| Задержка (Европа) | ~15–30 мс | ~10–20 мс | ~80–120 мс |
| GDPR (данные в ЕС) | Да (Ирландия — ЕС) | Да (Германия — ЕС) | Нет |
| Цена EC2 t3.medium/час | ~$0.046 | ~$0.052 | ~$0.041 |
| Число AZ | 3 | 3 | 6 |
Вывод: для европейских пользователей с GDPR-требованиями — eu-central-1 (Frankfurt) или eu-west-1 (Ireland). Если нет требований к локализации и важна стоимость — us-east-1.
Пример 3: Оценка стоимости простого веб-стека
Типичный стек: EC2 (веб-сервер) + RDS (БД) + S3 (статические файлы). Регион: eu-west-1.
Конфигурация:
EC2:
- Тип: t3.micro (2 vCPU, 1 ГБ RAM)
- Модель: On-Demand
- Часов в месяц: 730
RDS:
- Тип: db.t3.micro (MySQL)
- Модель: On-Demand
- Хранилище: 20 ГБ gp2
S3:
- Хранилище: 50 ГБ Standard
- Запросов GET: 100 000/месяц
- Передача данных OUT: 10 ГБ/месяц
Пример 4: Архитектура высокой доступности (HA) в двух AZ
Как использовать несколько зон доступности для устойчивости к сбоям:
Регион: eu-west-1 (Ирландия)
├── AZ: eu-west-1a
│ ├── EC2 (web-01) ← обрабатывает часть трафика
│ └── RDS Primary ← основная БД
│
└── AZ: eu-west-1b
├── EC2 (web-02) ← обрабатывает часть трафика
└── RDS Standby (Multi-AZ) ← автоматический failover
Load Balancer (ALB) ← распределяет трафик между web-01 и web-02
↓
Internet Gateway ← выход в интернет
↓
Route 53 (DNS) ← направляет пользователей на Load Balancer
Логика: если AZ eu-west-1a выходит из строя, Load Balancer перестаёт направлять трафик на web-01, RDS автоматически переключается на Standby в eu-west-1b. Пользователи замечают кратковременную задержку (failover RDS ~60–120 сек), но сервис не падает полностью.
Пример 5: Структура IAM для команды разработчиков
Организация прав для небольшой команды по принципу наименьших привилегий:
IAM Structure:
Groups:
Developers
Policies:
- AmazonEC2ReadOnlyAccess
- AmazonS3FullAccess (только в bucket dev-*)
- CloudWatchLogsReadOnlyAccess
DevOps
Policies:
- AmazonEC2FullAccess
- AmazonRDSFullAccess
- IAMReadOnlyAccess
Billing
Policies:
- AWSBillingReadOnlyAccess
- CostExplorerReadOnlyAccess
Users:
alice → Groups: [Developers]
bob → Groups: [Developers, DevOps]
carol → Groups: [Billing]
Roles:
EC2-S3-ReadRole
Policies: AmazonS3ReadOnlyAccess
TrustedEntities: EC2 ← позволяет EC2 читать S3 без Access Key