Урок 06. Exploring AWS: AWS CLI и Boto3
⚡ Кратко: AWS CLI и Boto3 за 5 минут
AWS CLI — командная строка для управления всеми сервисами AWS. Boto3 — официальная Python-библиотека для AWS. Оба инструмента используют IAM Access Keys для аутентификации; ключи хранятся в ~/.aws/credentials, никогда не хардкодятся в коде.
- aws configure — интерактивная настройка (ключ, регион, формат вывода)
- ~/.aws/credentials — хранилище ключей; ~/.aws/config — регион и профили
- --profile имя — переключение между аккаунтами/ролями
- aws ec2 run-instances — запуск EC2 через CLI
- boto3.client('s3') vs boto3.resource('s3') — низкоуровневый API vs объектный
- Никогда не передавай access_key/secret_key в коде — используй профили или переменные окружения
Частая ошибка: хардкодить ключи в Python-скрипте или коммитить ~/.aws/credentials в git.
📖 О чём этот урок
В предыдущем уроке мы познакомились с глобальной инфраструктурой AWS и основными сервисами. Теперь переходим к практике: научимся управлять ресурсами AWS из командной строки через AWS CLI v2 и автоматизировать задачи на Python с помощью Boto3.
Урок охватывает полный цикл: от установки инструментов и безопасной настройки IAM Access Keys до реальных сценариев работы с EC2 и S3. Также разберём практику создания EC2-инстанса с User Data скриптом — Docker-контейнеры прямо при старте сервера.
Что изучим
- Создание EC2-инстанса с User Data скриптом (Docker + Git + docker-compose)
- AWS CLI v2: установка (Windows/macOS), конфигурация (
aws configure), профили - IAM Access Keys: Access Key ID, Secret Access Key, безопасное хранение
- AWS Secrets Manager и Parameter Store: где хранить секреты
- Основные CLI-команды: EC2, S3, Security Groups
- Boto3: client vs resource, аутентификация, работа с S3 и EC2
- Best practices: именованные профили, переменные окружения,
.gitignore
📚 Что повторить перед изучением
- ← Урок 05: Облачные вычисления и AWS — регионы, сервисы, IAM
- Командная строка: PowerShell (Windows) / Terminal (macOS/Linux)
- Базовый Python: функции, словари, циклы — нужен для Boto3
- Понятие виртуальных окружений Python (
venv)
🎯 Что изучать дальше
- → Урок 07: Infrastructure as Code — Terraform + AWS
- AWS IAM Roles вместо Access Keys для EC2-инстансов
- CI/CD с AWS CodePipeline, GitHub Actions + AWS