- Amazon VPC
- VPC, Subnets, IGW та NAT
- Network ACL, Security Groups та VPC Flow Logs
- VPC Peering, Endpoints, VPN та Direct Connect
- AWS API Gateway
- Етапи розгортання API Gateway
- Кешування API Gateway
- Безпека API Gateway
- AWS Lambda
- Типи викликів Lambda
- Масштабування AWS Lambda
- Управління Lambda
- Безпека та доступ
- Висновок
Amazon VPC
VPC, Subnets, IGW та NAT
- VPC – це приватна мережа для розгортання AWS-ресурсів (ресурс рівня регіону).
- Subnets поділяють VPC на менші сегменти (ресурс рівня Availability Zone).
- Public Subnet – доступний з інтернету.
- Private Subnet – не має доступу до інтернету.
- Route Tables керують трафіком між subnet та доступом в інтернет.
Internet Gateway та NAT Gateway
- Internet Gateway (IGW) – дозволяє інстансам у VPC підключатися до інтернету.
- Public Subnets мають маршрут до Internet Gateway.
- NAT Gateways (керовані AWS) – дозволяють приватним інстансам підключатися до інтернету, не будучи доступними зовні.
Network ACL, Security Groups та VPC Flow Logs
Network ACL (NACL):
- Фаєрвол для контролю трафіку на рівні subnet.
- Підтримує ALLOW та DENY правила.
- Визначає тільки IP-адреси.
Security Groups:
- Контролює трафік для кожного EC2 instance.
- Дозволяє тільки ALLOW правила.
- Використовує IP-адреси та Security Groups.
VPC Flow Logs:
- Фіксує інформацію про мережевий трафік на рівні VPC, Subnet або ENI.
- Використовується для моніторингу та усунення проблем підключення.
- Логи можна зберігати у S3, CloudWatch Logs або Kinesis Data Firehose.
VPC Peering, Endpoints, VPN та Direct Connect
VPC Peering:
- З'єднує два VPC через внутрішню AWS-мережу.
- VPC сприймаються як одна мережа.
- Без транзитивної маршрутизації (не можна використовувати як маршрутизатор для інших VPC).
VPC Endpoint:
- Дозволяє доступ до AWS-сервісів через приватну мережу (без виходу в інтернет).
- VPC Endpoint Gateway: для S3 та DynamoDB.
- VPC Endpoint Interface: для всіх інших сервісів AWS.
VPN & Direct Connect:
- Site-to-Site VPN: з'єднання локальної мережі з AWS через зашифрований тунель через інтернет.
- Direct Connect: створює приватне, високошвидкісне підключення між локальною інфраструктурою та AWS.
- VPN та Direct Connect не можуть отримати доступ до VPC Endpoints.
AWS API Gateway
- AWS Lambda + API Gateway: повністю керована безсерверна архітектура.
- Підтримка WebSockets.
- Маршрутизація, безпека, кешування, генерація SDK.
- Контроль доступу через IAM, Cognito та Lambda Authorizer.
Типи інтеграцій API Gateway:
- Lambda function.
- HTTP backend.
- AWS Services.
Типи кінцевих точок API Gateway:
- Edge-Optimized (за замовчуванням, найкраще для глобальних клієнтів).
- Regional (локальне використання в межах AWS-регіону).
- Private (для використання всередині VPC).
Етапи розгортання API Gateway
- Будь-які зміни API вимагають деплою.
- Stages дозволяють версійність (наприклад, dev, test, prod).
- Stage Variables використовуються для збереження значень середовища.
- Stage rollback – повернення до попередньої версії.
Кешування API Gateway
- Кеш на рівні stage (0.5GB - 237GB).
- Мінімум 0 сек, максимум 3600 сек.
- Може значно знизити навантаження на бекенд.
- Очищення кешу через UI або заголовки запитів.
Безпека API Gateway
- IAM Policies.
- Amazon Cognito.
- Lambda Custom Authorizer.
- Throttling (10,000 запитів/сек, можна збільшити).
- CORS (Cross-Origin Resource Sharing) налаштування.
AWS Lambda
- Безкоштовний рівень: 1M запитів/місяць, 400,000 GB-секунд.
- До 10GB RAM, 15 хвилин виконання.
- Більше RAM = швидший CPU.
- Тригери: API Gateway, S3, SQS, SNS, DynamoDB, EventBridge тощо.
Типи викликів Lambda
Синхронні виклики (чекають відповідь):
- ALB, API Gateway, CloudFront (Lambda@Edge), S3 Batch, Cognito, Step Functions.
Асинхронні виклики (черга, автоматичний ретрай):
- S3, SNS, CloudWatch Events, CodeCommit, SES.
- До 3 ретраїв із затримкою.
- Dead-Letter Queue (DLQ) для обробки невдалих викликів.
Lambda Event Source Mapping (Polling Services):
- Kinesis, DynamoDB Streams, SQS.
- Масштабування кількості інстансів на шард.
Масштабування AWS Lambda
- Kinesis & DynamoDB Streams: 1 Lambda на shard.
- SQS: до 60 нових інстансів/хв.
- SQS FIFO: збереження порядку повідомлень за group ID.
Управління Lambda
- Версії та Аліаси: незмінні версії, Аліаси прив’язуються до конкретної версії.
- Canary Deployment: поступове перенаправлення трафіку між версіями.
- Provisioned Concurrency: зменшує холодні старти.
Безпека та доступ
- IAM Policies для управління доступом.
- VPC підключення через NAT Gateway.
- Моніторинг через CloudWatch, X-Ray.
Висновок
У цій частині розглянуто Amazon VPC, API Gateway та AWS Lambda, ключові сервіси для побудови безсерверної архітектури та управління API. Їхнє розуміння є критично важливим для успішного складання іспиту AWS Certified Developer Associate.