Как вы уже знаете, VPC - это полностью частный виртуальный сетевой сервис.В этой частной сети вы сможете создавать подсети и организовывать их по своему усмотрению, например, иметь несколько сетей, которые могут иметь общедоступные IP-адреса (например, фронтальные службы), и другие, которые являются полностью частными (например, RDS).
Теперь общедоступная подсеть называется только общедоступной, поскольку она подключена к ресурсу AWS, который называется Интернет-шлюз, поэтому ваши общедоступные IP-адреса будут маршрутизироваться.Это означает, что даже если у вас есть общедоступный IP-адрес экземпляра EC2 в подсети, который не подключен (через таблицу маршрутизации) к интернет-шлюзу, вы не сможете подключиться к Интернету.
Если вы хотите, чтобы ваши экземпляры в частных подсетях могли общаться с остальным миром, вам нужно добавить шлюз AWS NAT, который будет выполнять преобразование пакетов для вас (самый простой способ).
Теперь суть VPC заключается в том, чтобы владеть данными, хранящимися в вашем стеке, например, вы не хотите, чтобы критически важные базы данных и серверные службы были доступны в Интернете, даже если вы можете защитить их с помощью группы безопасности.
Лямбда-функция в VPC будет ресурсом, который будет передан Сетевому интерфейсу (ENI) во время его выполнения в указанной вами подсети.Это позволит вам подключаться к вашим ресурсам, которые не доступны в Интернете (RDS, Elasticache, ...)
Как правило, вы захотите использовать лямбду без использования VPC, если вам не нужночтобы получить доступ к вашим личным ресурсам, которые находятся внутри вашего VPC.