Zappa Django Время ожидания API Rest Framework для AWS Вызов Cognito - PullRequest
0 голосов
/ 04 марта 2020

Я перевожу API Django Rest Framework на lambdas с помощью Zappa. Этот API также работает в приложении Elasti c Beanstalk и прекрасно там работает. Сначала я получал сообщения об ошибках при попытке подключиться к базе данных, затем я установил lambda VP C и группы безопасности, и кажется, что эта ошибка исчезла, однако любой вызов конечной точки аутентификации (которая использует Cognito) приводит к в тайм-ауте.

Я знаю, что API-шлюз жестко запрограммирован на тайм-аут после 29 с, но я не думаю, что эта конечная точка должна занимать столько времени.

Я включил X-Ray, но это мало что говорит, просто время ожидания функции истекло

Глядя на журналы Cloudwatch, я мог бы указать момент, когда он зависает


09:10:09
[DEBUG] 2020-03-04T09:10:09.326Z 2e2ba999-a6bf-42e0-a5f1-6b4c70e72981 Starting new HTTPS connection (1): cognito-idp.us-east-1.amazonaws.com:443

[DEBUG] 2020-03-04T09:10:09.326Z    2e2ba999-a6bf-42e0-a5f1-6b4c70e72981    Starting new HTTPS connection (1): cognito-idp.us-east-1.amazonaws.com:443

09:10:10

09:10:30
END RequestId: 2e2ba999-a6bf-42e0-a5f1-6b4c70e72981
END RequestId: 2e2ba999-a6bf-42e0-a5f1-6b4c70e72981

09:10:30
REPORT RequestId: 2e2ba999-a6bf-42e0-a5f1-6b4c70e72981 Duration: 30030.18 ms Billed Duration: 30000 ms Memory Size: 512 MB Max Memory Used: 141 MB Init Duration: 469.61 ms XRAY TraceId: 1-5e5f7067-d06b5ff2aaa8b9c6218f7444 SegmentId: 6ef0fb0d7de15cfe Sampled: true
REPORT RequestId: 2e2ba999-a6bf-42e0-a5f1-6b4c70e72981  Duration: 30030.18 ms   Billed Duration: 30000 ms   Memory Size: 512 MB Max Memory Used: 141 MB Init Duration: 469.61 ms    
XRAY TraceId: 1-5e5f7067-d06b5ff2aaa8b9c6218f7444   SegmentId: 6ef0fb0d7de15cfe Sampled: true   

09:10:30
2020-03-04T09:10:30.369Z 2e2ba999-a6bf-42e0-a5f1-6b4c70e72981 Task timed out after 30.03 seconds 

Как видите, этот вызов кажется застрял

[DEBUG] 2020-03-04T09:10:09.326Z    2e2ba999-a6bf-42e0-a5f1-6b4c70e72981    Starting new HTTPS connection (1): cognito-idp.us-east-1.amazonaws.com:443

Я пытался найти, нужно ли мне настраивать какую-либо группу vpc / security на Cognito, но не нашел ничего связанного. Любая идея, что может быть причиной этой проблемы?

ОБНОВЛЕНИЕ

Я проверил VP C, и с ним связан шлюз inte rnet

0.0.0.0/0 ig-xxxxxxxxx active No

это в таблице маршрутизации для VP C

Затем я создал шлюз NAT и заменил ig на таблице на NAT Я все еще получаю ту же ошибку.

ОБНОВЛЕНИЕ 2

Есть главная таблица маршрутов с явной ассоциацией su bnet с моими подсетями. Затем есть связанный шлюз NAT к 1 из подсетей, к VP C и с elasti c IP

Если я нажму на любую из моих подсетей и go на вкладке «Таблица маршрутов», я вижу как то так

172.31.0.0/16 local 0.0.0.0/0 nat-xxxxxxx

Я go до Network ACL Я вижу это:

Network ACL:
acl-xxxxx
Inbound rules

Rule #  Type  Protocol Port Range / ICMP Type Source Allow / Deny
100 ALL Traffic ALL ALL 0.0.0.0/0 ALLOW 
* ALL Traffic ALL ALL 0.0.0.0/0 DENY

Outbound rules

Rule # Type Protocol Port Range / ICMP Type Destination Allow / Deny
100 ALL Traffic ALL ALL 0.0.0.0/0 ALLOW 

* ALL Traffic ALL ALL 0.0.0.0/0 DENY

что мне не хватает?

...