Согласно this document, если мне нужно получить доступ к интернет-ресурсам из моей функции Lambda при доступе VPC, мне нужно настроить NAT-шлюз.AWS Lambda: Как настроить NAT-шлюз для функции лямбда с доступом VPC
Итак, я последовал за this guide, чтобы установить NAT-шлюз. Однако на той стадии, когда мне нужно изменить таблицы маршрутизации моей подсети, чтобы добавить запись в пункт назначения: 0.0.0.0/0 и цель, как мой идентификатор NAT шлюза, я получил сообщение об ошибке
An entry with this destination already exists
я проверил и заметил, что для этой существующей записи целью был интернет-шлюз для моего VPC. Если я заменил эту запись идентификатором шлюза NAT, я не могу получить доступ к любому экземпляру EC2 в этом VPC через SSH из внешнего мира. Как я могу добиться такой ситуации, когда все экземпляры EC2 в этом VPC
- доступны только через SSH и остальной трафик блокируется
- Умеют полностью открыть другие экземпляры EC2 в том же VPC
- Лямбда-функция, имеющая доступ к этому VPC, может обращаться к внешним ресурсам, таким как SQS и Kinesis.
Вот хороший учебник, который я написал: «Как настроить функцию лямбда AWS для общения с Интернетом и VPC» https://gist.github.com/reggi/dc5f2620b7b4f515e68e46255ac042a7 – ThomasReggi