IAM, Users, Groups та Policies
Identity and Access Management (IAM):
- Root account створюється за замовчуванням і не повинен використовуватися або передаватися.
- Users — це окремі особи в організації, які можуть бути включені до Groups.
- Groups допомагають ефективно керувати дозволами; Users можуть належати до кількох Groups.
- Policies IAM визначають дозволи доступу.
Структура Policies IAM:
- Version
- Id (необов’язковий)
- Statement(s), що містять:
- Sid (необов’язковий ідентифікатор)
- Effect (Дозволити/Заборонити)
- Principal (кому надаються дозволи)
- Action (дозволені/заборонені API виклики)
- Resource (на що поширюється політика)
- Condition (необов’язкові обмеження)
Функції безпеки IAM:
- Password policy: примусове використання складних паролів і MFA.
- IAM Roles: призначають дозволи AWS-сервісам замість Users.
- IAM Credential Report: огляд доступу Users.
- IAM Access Advisor: показує, які сервіси AWS використовуються.
AWS EC2 (Elastic Compute Cloud)
Конфігурація EC2 instance:
- Вибір типу EC2 instance (CPU, RAM, storage, ОС, мережеві налаштування).
- EC2 User Data: автоматизація налаштувань під час запуску.
- Security Groups: контроль вхідного/вихідного трафіку.
Варіанти купівлі EC2:
- On-Demand: оплата за секунду; найкраще для короткотривалих завдань.
- Reserved: економія при зобов’язанні на 1-3 роки.
- Savings Plans: гнучке ціноутворення для передбачуваного використання.
- Spot Instances: знижені ціни, можливість завершення роботи в будь-який момент.
- Dedicated Hosts: фізичні сервери, що використовуються винятково для вашого облікового запису.
- Capacity Reservation: гарантована потужність у певній Availability Zone.
Варіанти сховища EC2:
- EBS (Elastic Block Store): постійне мережеве сховище для EC2.
- EBS Snapshots: Backup та міграція між регіонами.
- EC2 Instance Store: тимчасове високошвидкісне сховище.
- AMI (Amazon Machine Image): попередньо налаштовані EC2 templates.
AWS Elastic Load Balancing (ELB)
Переваги ELB:
- Розподіляє вхідний трафік між EC2 instance.
- Надає єдиний DNS-запис для масштабованості.
- Моніторить стан бекенду.
- Виконує SSL/TLS-термінацію.
Типи балансувальників навантаження:
- Application Load Balancer (ALB): рівень 7, підтримує маршрутизацію.
- Network Load Balancer (NLB): рівень 4, висока продуктивність TCP/UDP.
- Gateway Load Balancer (GLB): рівень 3, інтеграція з третіми сервісами.
Ключові можливості ELB:
- Sticky Sessions: прив’язка користувача до конкретного EC2 instance.
- Cross-Zone Load Balancing: розподіл трафіку по кількох Availability Zones.
- SNI (Server Name Indication): підтримка кількох SSL-сертифікатів на одному балансувальнику.
- Connection Draining (Deregistration Delay): дозволяє завершити активні запити перед видаленням EC2 instance.
Auto Scaling Groups (ASG)
Переваги ASG:
- Автоматично масштабує EC2 instance залежно від навантаження.
- Гарантує високу доступність шляхом заміни несправних EC2 instance.
- Інтегрується з ALB для розподілу трафіку.
Політики масштабування:
- Target Tracking: підтримка метрики (наприклад, CPU) на певному рівні.
- Step Scaling: зміна потужностей кроками.
- Scheduled Scaling: зміна кількості EC2 instance за розкладом.
- Predictive Scaling: прогнозування потреб у ресурсах за допомогою AWS.
Найкращі практики:
- Використовуйте CloudWatch Alarms для активації подій масштабування.
- Оптимізуйте конфігурацію EC2 instance за допомогою Launch Templates.
- Використовуйте Instance Refresh для оновлення працюючих EC2 instance.
Висновок
Сервіси AWS IAM, EC2, ALB та ASG є основою для управління безпекою, обчислювальною потужністю, масштабованістю та розподілом трафіку. Розуміння їх конфігурацій та найкращих практик є ключовим для успішного складання іспиту AWS Certified Developer Associate.