Подключение AWS NAT GW к Интернету
В настоящее время я использую IGW в AWS, чтобы подключить flask ec2s к внешним запросам api. С этого момента я хочу защитить эти серверы,
смысл - перемещение их в частные ip ec2s и все еще получение запросов api извне.
Я пробовал использовать nat gw для связи с частным IP-адресом, но я вижу, что он работает только изнутри в Интернет, а не наоборот.
Как я могу использовать nat gw для обоих направлений (или любое другое решение в этом отношении), сохраняя безопасность частного IP-адреса и двусторонней связи через Интернет?
2 ответа
NAT используется для общедоступного исходящего трафика.
Для общедоступного входящего трафика используйте Load Balancer с публично открытой группой безопасности и добавьте правило для входящего трафика от балансировщика нагрузки на сервер API. Тогда к серверу API можно будет получить доступ для балансировщика нагрузки только публично.
Шлюзы NAT не разрешают входящий трафик в них (они предназначены для того, чтобы позволить частному экземпляру подключаться к Интернету).
Вы можете использовать шлюз преобразования сетевых адресов (NAT), чтобы позволить экземплярам в частной подсети подключаться к Интернету или другим сервисам AWS, но не позволять Интернету инициировать соединение с этими экземплярами.
Если вы хотите разрешить входящую связь с экземпляром, который находится на частном IP-адресе, необходимо выполнить следующее:
- Для портов приложений (например, порт
80
а также443
), чтобы разрешить общедоступный входящий доступ, вы можете получить к ним доступ, поместив общедоступный балансировщик нагрузки перед своим приложением. - Для портов управления (например,
22
а также3389
) вы могли бы подключиться либо через соединение VPN Connection/Direct Connect, либо вы использовали бы сервер Bastion/Jump в общедоступной подсети для перехода к вашим хостам (по возможности избегайте этого варианта).