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

AWS VPC - зачем вообще нужна частная подсеть?

В Amazon VPC мастер создания VPC позволяет создать единую «общедоступную подсеть» или сделать так, чтобы мастер создал «общедоступную подсеть» и «частную подсеть». Первоначально вариант общедоступной и частной подсети казался хорошим из соображений безопасности, позволяя размещать веб-серверы в общедоступной подсети, а серверы баз данных - в частной подсети.

Но с тех пор я узнал, что экземпляры EC2 в общедоступной подсети недоступны из Интернета, если вы не свяжете Amazon ElasticIP с экземпляром EC2. Таким образом, кажется, что с единственной конфигурацией общедоступной подсети можно просто отказаться от связывания ElasticIP с серверами баз данных и получить такую ​​же безопасность.

Может ли кто-нибудь объяснить преимущества конфигурации публичной + частной подсети? Связаны ли преимущества этой конфигурации с автоматическим масштабированием или на самом деле менее безопасно иметь единственную общедоступную подсеть?

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

Помимо последствий для безопасности, в игру вступает еще один аспект: если вы хотите разрешить экземплярам без эластичных IP-адресов доступ к Интернету, вам могут потребоваться 2 (или более) разных подсети.

Перефразируя Документация AWSвнутри VPC есть три способа разрешить экземплярам доступ в Интернет:

  1. Эластичные IP-адреса - но я думаю, вы получаете только 5 по умолчанию, и тогда вам придется платить за больше
  2. Маршрутизация трафика через виртуальный частный шлюз - для этого необходимо, чтобы у вас было аппаратное VPN-подключение к корпоративной (или домашней) сети.
  3. Настройте экземпляр NAT и направлять весь исходящий трафик через NAT

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

Короче говоря, если вы планируете использовать NAT, вам понадобится как минимум 2 подсети.