Фон
- В AZ существует три подсети в AWS. Два из них являются частными, а один - publi c.
Publi c Su bnet имеет Jumpbox
, к которому можно подключиться с моей локальной машины через ssh
, используя файл pem
(пример - ssh -i my-key-file.pem ec2-user@host1
Первый приватный su bnet имеет экземпляр EC2, который действует как сервер приложений. Доступ к нему возможен только через Jumbox через ssh
. Здесь используется тот же файл pem
(пример - ssh -i my-key-file.pem ec2-user@host2
). Эта команда выполняется на host1
.
- Во втором частном su bnet размещается Oracle Экземпляр с использованием службы AWS RDS. Он работает на порту
1521
. Доступ к БД возможен только с сервера приложений / host2
.
Как я работаю в настоящее время
host2
имеет sqlplus
установленный клиент.
Сначала я подключаюсь к host1
, затем к host2
, а затем выполните sqlplus
для выполнения запросов в командной строке (№ GUI).
Я планирую использовать GUI инструменты, такие как SQL Developer для подключиться прямо от моего л машина Я думал, используя переадресацию портов / S SH Tunneling Это может быть достигнуто.
Я пытался использовать разные варианты, но безуспешно. Полезны следующие ссылки:
Мой подход к S SH Туннелирование
Я выполнил обе команды и не увидел ни одной ошибка. Я проверил, какие порты прослушивают, используя netstat -tulpn | grep LISTEN
.
После этих двух я планировал подключиться к базе данных, используя имя хоста как localhost
и номер порта как 9999
.
Что не так!
- Но когда я пытаюсь подключиться к БД с моей локальной машины, появляется сообщение об ошибке от моего SQL клиента Получил минус один из прочитанного звонка . Я не мог понять сообщения отладки из журналов s sh.
Я считаю, что мое понимание того, как работает переадресация портов, может быть неверным. Любые входные данные будут полезны. Спасибо за ваше время!