Я перевожу 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
что мне не хватает?