API Gateway: Basis, Lambda, Endpoint Types, SSL Flashcards

1
Q

Что может стоять за API Gateway?

A

Lambda
ALB
любой HTTP back-end
SQS, Kinesis, S3, любой AWS сервис

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Какие фичи предоставляет API Gateway?

A
  • Web Sockets
  • API versioning, environments (Stages)
  • Canary Deployment
  • Usage Plans, API Keys
  • SSL сертификатов проверку
  • Authentication / Authorization
  • Swagger Open API
  • Валидация, трансформация запроса
  • Кэширование
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Зачем Лямбде нужен API Gateway, если у неё есть Lambda URL?

A

Lambda - в отличие от Spring приложения - не имеет Tomcat сервера.
Lambda НЕ может выставлять REST Endpoint’ы.
А в API Gateway можно определить CRUD endpoint’ы и привязать их к разным лямбдам.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Лямбда + API Gateway
Как устроена Security?

A

Lambda функция должна иметь IAM Policy,
чтобы разрешать операцию Invoke от API Gateway.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Зачем API Gateway умеет трансформировать данные запросов?

A

Чтобы приводить данные к формату, нужному для SQS, Kinesis и т.п. без back-end’а вообще

Получается полностью Serverless архитектура
Клиент шлёт запросы “напрямую” (через API Gateway) в Kinesis DS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Какие бывают Endpoint Types в API Gateway?
В чём их особенности?

A
  • Edge Optimised
    • для глобальных клиентов
    • запросы направляются через CloudFront Edge Locations (для latency)
    • API Gateway находится в одном регионе (но доступно глобально)
  • Regional
    • без CloudFront Edge Location’ов по-умолчанию
    • но вообще CloudFront можно подключить вручную (больше контроля над caching strategies)
  • Private
    • доступны только из VPC, используя VPC Endpoint (ENI)
    • можно указать Resource Policy, чтобы ограничить доступ к private endpoint
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Как можно организовать Users Authentication / Authorization в API Gateway?

A
  • IAM Roles - например, дать роль нашим EC2 instance’ам,
    чтобы они имели доступ к API Gateway Endpoint’у
  • Cognito - например, дать доступ множеству клиентов
    мобильного или веб-приложения.
  • Custom Authorizer - например, написать свою кастомную логику авторизации
    в Лямбда функции
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Как API Gateway используется для проверки SSL сертификата?

A

Как единая точка входа всех запросов.
SSL сертификат проверяет ACM (AWS Certificate Manager)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Где должен быть расположен SSL сертификат для проверки API Gateway?
Почему?

A
  • в us-east-1 - для Edge Optimised Endpoint’а
  • в соответствующем регионе - для Regional Endpoint’а

Потому что Edge Optimised API Gateway endpoint
хоть и глобальный, но развёрнут в одном регионе.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly