AWS Certified Developer Associate Підказки - VPC, API Gateway, AWS Lambda (Частина IV)

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.