API Gateway: Swagger, Caching, Usage Plans, Logging, CORS Flashcards

1
Q

Как API Gateway интегрируется с OpenAPi?
Какие форматы кода поддерживаются?

A
  • Можно импортировать описание API endpoint’ов в API Gateway в виде Open API кода.
  • Можно - наоборот - экспортировать существующие API Gateway endpoint’ы в код.

Форматы Open API кода - Yaml / JSON.

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

Как можно использовать OpenAPI интерфейс в уже созданном API Gateway?

A

API Gateway может использовать Open API код для валидации тела запроса.
Соответствует ли payload описанной API schema’е.
За счёт этой предварительной валидации можно снизить нагрузку на back-end.

В коде Open API schema’ы нужно указать
атрибут x-amazon-apigateway-request-validator

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

API Gateway поддерживает кэширование запросов.
Какие характеристики есть у этого кэша?
Когда его нужно использовать?

A
  • Cache TTL: От нуля до часа. По-умолчанию 5 минут.
  • Cache Size: 0.5GB - 237 GB

API Gateway Cache дорого стоит ($$$). Имеет смысл только для PROD.

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

Какие способы инвалидации кэша есть в API Gateway?
Что про них нужно знать?

A
  • Полная инвалидация кэша
  • Клиенты могут указывать длительность кэша
    в заголовке запроса Cache-Control: max-age=0

Клиентам нужен соответствующий IAM Policy.
Если дать каждому клиенту возможность инвалидировать кэш, то очень плохо.

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

Какие есть security features в API Gateway Cache?

A
  • Клиентам нужен IAM Policy для инвалидации кэша
  • Кэш можно шифровать encryption
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что такое Usage Plans в API Gateway?
Что можно регулировать в рамках каждого Usage Plan?

A

Это концепт, благодаря которому мы можем предоставлять свои API Gateway endpoint’ы нашим клиентам платно за деньги.

В рамках Usage Plan каждому клиенту можно определить
- какой доступ к endpoint’ам и HTTP методам
- частота запросов
- количество запросов в месяц

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

Зачем нужны API Keys в API Gateway?
Как клиент должен их передавать?

A

API Key - это просто рандомная строка, у каждого клиента своя.
API Keys используются для идентификации клиентов,
чтобы проверять доступ индивидуально.

Клиенты должны передавать свой API Key в HTTP заголовке x-api-key

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

В CloudWatch
- Можно логировать ….
- Логирование активируют на уровне …

A

request / response body
API Gateway Stage

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

Какие метрики есть для оценки эффективности API Gateway Cache?

A
  • Cache Hit Count
  • Cache Miss Count
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Какие метрики есть для оценки Latency API Gateway?

A
  • Integration Latency - время, которое берёт back-end на обработку запроса
  • Latency - время, которое берёт back-end + API Gateway на обработку запроса
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Что нужно знать про лимит Latency в API Gateway?

A

Лимит времени обработки запроса в API Gateway = 29 sec
Если дольше, то будет timeout

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

Какие виды HTTP ошибок бывают?

A
  • 4XXError - ошибки на стороне клиента
  • 5XXError - ошибки на стороне сервера
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Каков лимит API Gateway Throttling?
Что если мы нарушили этот лимит?
Какая у него есть особенность? На что это похоже?

A
  • Account Limit = 10_000 запросов в секунда на ВСЕ endpoint’ы в API Gateway.
  • “Soft Limit”, т.е. можно увеличить по нашему запросу

Как и с Lambda функциями: один API endpoint может “съесть” весь лимит запросов.
Best Practice
Устанавливать лимит на уровне API Gateway Stage или Method

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

Какой HTTP код ошибки в случае Тротлинга?

A

429

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

Что нужно знать про CORS в контексте API Gateway?

A

API Gateway - также, как и S3 - может регулировать запросы,
перенаправленные от других Origin’ов.

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

Что нужно знать про CORS headers в контексте API Gateway?

A

Предварительный OPTIONS запрос должен содержать заголовки
Access-Control-Allow-Methods

Access-Control-Allow-Headers
Access-Control-Allow-Origin,
чтобы понять, может ли он слать полноценный запрос.