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

В чем разница между публичной и частной подсетью в Amazon VPC?

Когда я запускаю сервер с группой безопасности, которая разрешает весь трафик в мою частную подсеть, он отображает предупреждение о том, что он может быть открыт для всего мира.

Если это частная подсеть, как это может быть?

Основное отличие - это маршрут для 0.0.0.0/0 в связанной таблице маршрутов.

Частная подсеть устанавливает этот маршрут к экземпляру NAT. Экземплярам частной подсети нужен только частный IP-адрес, а интернет-трафик маршрутизируется через NAT в общедоступной подсети. У вас также может не быть пути к 0.0.0.0/0, чтобы сделать его действительно частный подсеть без доступа к Интернету или выхода.

Общедоступная подсеть направляет 0.0.0.0/0 через Интернет-шлюз (igw). Экземпляры в общедоступной подсети требуют общедоступных IP-адресов для связи с Интернетом.

Предупреждение появляется даже для частных подсетей, но экземпляр доступен только внутри вашего vpc.

Как задокументировано Вот

ОБЩЕСТВЕННАЯ ПОДСЕТЬ Если трафик подсети направляется на интернет-шлюз, эта подсеть называется общедоступной подсетью. ЧАСТНАЯ ПОДСЕТЬЕсли подсеть не имеет маршрута к интернет-шлюзу, она называется частной подсетью.

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

Ответ по теме:

Общедоступные и частные подсети - это название концепции, а не отдельная сущность.

Ответ на актуальную проблему, которую задают

Предупреждение Верный технически я предполагаю, что вы говорите о входящем трафике, а не об исходящем, потому что, если вы хотите загрузить программное обеспечение, пакеты, обновления, вы должны добавить каждый отдельный IP-адрес в исходящий трафик, что практически не подходит и требует много времени. предупреждение касается других сетей и частных классов

Например: если вы добавляете правило в группу безопасности частной подсети, например Inbound 0.0.0.0/0, это не означает, что оно доступно для общедоступных, и кто-то может отправить запрос этому экземпляру / службе / машине, что на самом деле означает, что другой Частные подсети или частные сети могут связываться с вашим экземпляром или службами, например 192.168.xx, 172.16.xx, 10.0.0.0 Частные классы, что возможно только в том случае, если вашим маршрутам разрешено это делать. Кроме этого, вы можете игнорировать это предупреждение и не беспокоиться о нем. Здесь вы должны понимать разницу между Из Интернета и В Интернет, поэтому в соответствии с правилами группы безопасности и справочной информацией он покажет вам предупреждение, которое может быть неправильно понято кем угодно.

Путаница

При создании подсети в AWS VPC есть опция Автоматическое назначение общедоступного IPv4 Это основная проблема, которая вводит людей в заблуждение, если для нее установлено значение Да, тогда ваша подсеть является общедоступной, независимо от того, какое имя или ключ-значение вы отметили для этой подсети, что означает, что во время создания подсети, если вы используйте имя вроде Private Subnet-A, чтобы оно не означало частную подсеть, это зависит от вашего варианта использования и конфигурации (опция Auto-assign Public IP).

Разница между публичной и частной подсетью:

Экземпляры в публичной подсети могут быть доступны из Интернета, что означает, что трафик из Интернета может попасть на машину / экземпляр / службу в общедоступной подсети. Обычно вы храните такие вещи, как балансировщики нагрузки, веб-серверы в общедоступной подсети. Поэтому, когда вы их создаете, вы добавляете имя Public перед ними, чтобы они были отделены от других, и не имеет значения, что вы включили Автоматическое назначение общедоступного IPv4, но каждый раз, когда вы выбираете общедоступную подсеть, которую вы пометили как общедоступную, вы должны проверять или включать Автоматическое назначение общедоступного IPv4 вариант при запуске экземпляра EC2 или RDS / Service. Но лучше, если вы включите Автоматическое назначение общедоступного IPv4 на уровне подсети, чтобы сделать его должным образом общедоступным, потому что именно по этой причине вы вносите изменения и используете концепцию Public-Private, поэтому всякий раз, когда вы запускаете любую службу / экземпляр / машину в общедоступной подсети, она будет доступна из Интернета и в Интернет означает, что вы можете использовать службу / экземпляр через Интернет, а также можете загружать обновления и пакеты в службе / экземпляре. Вы можете проверить, кто идет в Интернет, просто набрав команду curl wgetIP.com, в результатах вы увидите общедоступный IP-адрес вашего экземпляра / компьютера.

"Потому что, когда вы запускаете экземпляр в подсети, в которой включен этот атрибут, общедоступный IP-адрес назначается основному сетевому интерфейсу (eth0), созданному для экземпляра. Общедоступный IP-адрес сопоставляется с основным частным IP-адресом через трансляция сетевых адресов (NAT) "......сказал, AWS.

Экземпляры в частной подсети не может быть доступен из Интернета. Например. вы можете поместить сервер базы данных, сервер Redis или подобные другие службы в частную подсеть, и никто не сможет получить к ним доступ из Интернета. Он будет доступен только через экземпляры / машины / службы в общедоступной подсети (веб-сервер, ELB и т. Д.). Потому что у него нет опции общедоступного IP-адреса, а также мы пометили его как частный для конкретного использования, как объяснение, для безопасности и нежелательного доступа через Интернет. Это хорошо для безопасности на уровне архитектуры, чтобы избежать лазеек. Чтобы получить доступ к этим службам / экземплярам частной подсети, вы должны добавить разрешающее правило в группу безопасности и добавить правильные маршруты в таблицу маршрутов.

Теперь вопрос в том,

Может ли частная подсеть выходить в Интернет?

Итак, ответ по умолчанию нет,
Если вы хотите получить доступ к Интернету через частную подсеть или подсеть без общедоступного IP-адреса или подсеть с отключенным Автоматическое назначение общедоступного IPv4, вам необходимо создать экземпляр NAT или NAT-шлюз, и этот NAT-шлюз должен иметь общедоступный IP-адрес, поэтому ваша служба / экземпляр с частным IP-адресом будет выходить в Интернет и может загружать обновления, программное обеспечение и пакеты. Частный IP-адрес будет направлять трафик на NAT-шлюз, а NAT-шлюз будет направлять на Интернет-шлюз. После этого может начаться ваше общение из частных подсетей в Интернет, вы можете проверить свой IP, просто выполнив команду curl wgetIP.com, он предоставит вам общедоступный IP-адрес NAT-шлюза, потому что NAT-шлюз будет выходить в Интернет для вас, а Интернет-шлюз - это путь внешнего взаимодействия с миром и его термин в сети, а также для передачи трафика от входящего к исходящему . Вы можете просто понять его главные ворота здания за выход.

Вывод Экземпляры в общедоступной подсети могут отправлять исходящий трафик непосредственно в Интернет, а экземпляры в частной подсети - нет. Вместо этого экземпляры в частной подсети могут получить доступ к Интернету с помощью шлюза преобразования сетевых адресов (NAT), который находится в общедоступной подсети. Серверы баз данных могут подключаться к Интернету для обновлений программного обеспечения с помощью шлюза NAT, но Интернет не может устанавливать соединения с серверами баз данных »...... сказал, AWS

Ссылки:

Доступ в Интернет: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html

Основы VPC и подсетей: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html

VPC с общедоступными и частными подсетями (NAT): https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html