Назад | Перейти на главную страницу

В чем преимущество наличия двух подсетей, общедоступной и частной, в VPC, по сравнению с отсутствием общедоступного IP-адреса в общедоступной подсети?

Сценарий 2 руководства VPC на AWS (Вот) показывает, как настроить общедоступную и частную подсети. Цитировать:

Мы рекомендуем этот сценарий, если вы хотите запустить общедоступное веб-приложение, сохранив при этом внутренние серверы, которые не являются общедоступными. Типичный пример - многоуровневый веб-сайт, где веб-серверы находятся в общедоступной подсети, а серверы баз данных - в частной подсети. Вы можете настроить безопасность и маршрутизацию, чтобы веб-серверы могли взаимодействовать с серверами баз данных.

Насколько я понимаю, при настройке таблицы маршрутизации все подсети в VPC могут связываться друг с другом. Итак, если целью является безопасность, чтобы не пропускать внешний трафик на внутренний сервер, такой как база данных, почему бы просто не разместить сервер в общедоступной подсети и НЕ назначить ему общедоступный IP-адрес? Таким образом, гарантируется такая же функциональность: доступ извне невозможен, но возможен обмен данными со всеми другими серверами. В чем разница?

Размещение сервера в общедоступной подсети, но без общедоступного IP-адреса, не позволит этому узлу когда-либо разговаривать с внешним миром - у него не будет общедоступного IP-адреса и маршрута к шлюзу NAT. Сюда входят сервисы AWS или API с конечными точками без VPC. Обычно в итоге все узлы нуждаются в каком-то внешнем доступе, поэтому размещение узла в частной подсети помогает в этом.

Это также предотвращает случайное (или намеренное) добавление EIP или группы безопасности к узлу, который берет частный узел и делает его общедоступным.