Моя "проблема":
Я хочу подключиться к моей DocumentDB через туннель S SH. Я не уверен, возможно ли это, но я хотел попробовать.
Что мешает мне сделать это:
Я не могу обернуться, перенаправляя порт DocumentDB, пока поставляем как файл pem EC2, так и файл базы данных (generi c RDS pem).
Моя настройка:
Я настроил свою инфраструктуру в ECS Fargate, подключившись к DocumentDB. Единственные порты, доступные для publi c, - это 80 и 443 (от 80 до перенаправления на 443), и я хочу, чтобы это сохранялось. Я настроил экземпляр EC2 (без исходящих маршрутов). Я включаю питание, когда необходимо подключиться через AWS SSM (и я хочу сохранить его таким).
Экземпляр EC2 - это Amazon Linux 2 AMI.
Теперь я настроил прокси-команду для подключения через S SH без открытия порта с помощью SSM в моем ~ /. Файл ssh / config.
# --- SSH over AWS Session Manager ---
host i-*
ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
Это работает, как и ожидалось, и я могу подключиться через S SH и копировать файлы из и в экземпляр EC2 через SCP. Я могу использовать это соединение S SH (или неизменное AWS SSM-соединение) для доступа к моей DocumentDB через mongoshell, но теперь я спрашиваю себя, можно ли открыть туннель S SH для него.
Что я пробовал:
ssh -L 8022:my-document-db-instance.amazonaws.com:27017 ssm-user@i-ec2-instance -i ~/.ssh/ec2-instance.pem -v
Туннель S SH к экземпляру EC2 был успешно создан (по крайней мере, так кажется), и он не показывает никаких ошибок, но Я не могу подключиться к базе данных через Robo3T (или mongoshell). Я подозреваю, что открытие соединения в туннеле неправильно, но я не знаю, как его запустить.
Я пытался открыть туннель для экземпляра EC2, затем туннелировать оттуда через Robo3T, но это тоже не сработало (частично потому, что я не знаю, к какому порту подключаться на EC2) ,
Я должен признать, что я не администратор Linux, которым я хотел бы быть.