Согласно этому документу, если мне нужно получить доступ к интернет-ресурсам из функции Lambda с доступом VPC, мне нужно настроить шлюз NAT.
Поэтому я следовал этому руководству для настройки шлюза 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.