Я установил MYSQL RDS на AWS в частном VPC за NAT.
С помощью Workbench я могу успешно подключиться с удаленного клиента к RDS без проблем - поэтому все RDS, NAT, группы безопасности и т. Д. Настроены правильно.
Я пробовал множество примеров SSH-туннелирования, которые я нашел, для подключения без использования Workbench, но ничего не работает.
Итак, учитывая, что я подключился к NAT с помощью ssh -i nat.pem ec2-user@nat.ip, а RDS находится за этим на rds.endpoint.aws.com - как мне настроить туннель SSH, чтобы я мог просто mysql -h в конечную точку RDS через NAT?
Я уверен, что пробовал это раньше, но, должно быть, я что-то опечатал, так как теперь это работает.
Публикация ответа на случай, если кто-то еще запутается в этом.
Настройте ssh-туннель на удаленном клиенте с помощью:
ssh -i nat.pem -f -N -L 3305:rds.endpoint.aws.com:3306 ec2-user@nat.ip
тогда просто
mysql -h 127.0.0.1 -P 3305 -u user -p