У меня есть функция AWS Lambda, которая:
- проверяет экземпляр Redis Elasticache,
- если элемент не найден в кеше, переходит в сервис Google Places API.
Экземпляр Redis находится в частной подсети ; поэтому, чтобы получить его, я добавил VPC и подсеть, в которой находится экземпляр. Я также указал группу безопасности, которая разрешает весь исходящий трафик. Сетевой ACL является списком по умолчанию, который предназначен для всего входящего и исходящего трафика.
При добавлении VPC к лямбда-функции, подобной этой, через консоль, она запрашивает:
Когда вы включите VPC, ваша лямбда-функция потеряет доступ в Интернет по умолчанию. Если вам требуется внешний доступ в Интернет для вашей функции, убедитесь, что ваша группа безопасности разрешает исходящие соединения и что у вашего VPC есть шлюз NAT.
Итак, в Route Table
частной подсети я также добавил NAT gateway
. Однако в тот момент, когда из службы Lambda выполняется вызов службы Google Places API, он всегда обречен на тайм-аут.
Короче говоря, я сомневаюсь, что шлюз NAT правильно разрешает доступ в Интернет для функции Lambda. Как я могу проверить, что с ним не так?
Шлюзы NAT регистрируют вызовы или попытки вызова через него как-то в CloudWatch и т. Д.?