Я видел Как подключиться по SSH к экземпляру ec2 в частной подсети VPC через NAT-сервер и смог использовать SSH в EC2 в частной подсети через экземпляр NAT с общедоступным IP.
Предполагая, что я хочу установить приложение с веб-интерфейсом, таким как Zeppelin или Jupyter, в экземпляре EC2 в частной подсети, как мне настроить безопасный доступ и подключиться к веб-службе через браузер на моем ноутбуке? Я новичок в этой области, так какой подход будет правильным для этого?
Вы можете использовать ssh с переадресацией портов.
допустим, IP-адрес вашего экземпляра EC2 - 10.1.1.1, а веб-интерфейс прослушивает порт 80, ваш NAT-хост имеет общедоступный IP-адрес 198.51.100.13, вы можете связать два последовательных переадресации:
с вашего ноутбука:
ssh -L 8080: 127.0.0.1: 8080 ИМЯ_ПОЛЬЗОВАТЕЛЯ@198.51.100.13
из недавно открытой оболочки на вашем NAT-хосте:
ssh -L 8080:10.1.1.1:80 YOUR_USERNAME@10.1.1.1
Теперь вы можете открыть браузер на своем ноутбуке и указать в нем:
http://127.0.0.1:8080
На самом деле вы можете настроить свой ssh-клиент, например, для автоматического использования среднего окна. На своем ноутбуке откройте ~/.ssh/config
и скажите ssh пройти через поле NAT при переходе в 10.1.1.1
:
Host 10.1.1.1
ProxyCommand ssh -W %h:%p YOUR_NAT_HOSTS_IP
Теперь вы можете использовать ssh прямо со своего ноутбука, и ssh сначала прозрачно откроет соединение с блоком NAT, а затем передаст вас в экземпляр EC2.