У меня есть экземпляр, который действует и как SFTP-сервер, и как общий диск NFS для нашей внутренней сети.
У экземпляра есть общедоступный IP-адрес для получения данных по SFTP. Эти данные сохраняются на томе, который используется во внутренней сети.
Я использую группу безопасности, которая разрешает трафик порта 22 из белого списка и все порты в мою внутреннюю сеть в белый список.
Данные конфиденциальны, и, поскольку у этого экземпляра есть общедоступный IP-адрес, это одна группа безопасности, которую не могут открыть для всех.
Я хотел бы удалить общедоступный IP-адрес из экземпляра, но для этого требуется доступ по SFTP из Интернета.
Решение, которое я придумал, - создать общедоступный балансировщик нагрузки, который перенаправляет трафик на порт 22 на мой экземпляр, добавляет его в группу безопасности и удаляет общедоступный IP-адрес из моего экземпляра, поэтому, даже если я облажаюсь, экземпляр не будет общедоступным .
Я знаю, что ELB не предназначены для этого, но теоретически это должно работать. Есть проблемы с этим решением? Есть ли лучший / более предпочтительный способ реализовать что-то вроде этого?
ELB - неправильный способ сделать это. Ваш вопрос не так ясен, как мог бы быть, но я отвечу как можно лучше. Думаю, вам нужна частная подсеть с DMZ.
Я подозреваю, что вам может быть лучше всего использовать экземпляр t2.nano (или более крупный) в качестве вашего SFTP-сервера со сценариями для перемещения данных туда, где они должны быть на вашем внутреннем сервере. Вы можете использовать этот экземпляр как хозяин бастиона, чтобы вы могли подключиться к нему по ssh, а затем на свой сервер в частной подсети. Это в основном DMZ. Если вам нужен исходящий доступ в Интернет, используйте Экземпляр NAT.
Если вы можете заменить sftp на S3, вы можете устранить необходимость во входящем прокси-сервере, что может быть дешевле. Вы можете хранить все свои данные на S3, что дешевле, чем EBS.
Если вы сможете уточнить и расширить свой вариант использования, вы сможете получить более качественные ответы.