Я подготовил экземпляр EC2 через forge. При этом вы не получите возможность скачать ключ PEM. Вместо этого я добавил свой локальный ключ в конфигурацию SSH forge.
Теперь я могу использовать SSH в экземпляре EC2 с помощью ssh forge@IPADDRESS
- все хорошо.
У меня есть настройка экземпляра RDS в том же VPC. Я проверил это из экземпляра EC2 и могу:
- Подключение к MySQL через мой экземпляр EC2 в терминале. Использование:
mysql -h RDSINSTANCE.ENDPOINT.eu-west-2.rds.amazonaws.com -u USERNAME -p
- Проверено, что порт 3306 открыт через telnet.
telnet RDSINSTANCE.ENDPOINT.eu-west-2.rds.amazonaws.com 3306
Все вышесказанное предполагает, что экземпляр RDS связан с экземпляром EC2.
Теперь мне нужно открыть туннель SSL с моего ноутбука, чтобы подключить sequelpro. Из-за отсутствия файла PEM я открыл туннель SSH с помощью команды:
ssh -L 3307:FORGE-PRIVATE-IP:3306 forge@FORGE-PUBLIC-IP
Кажется, это работает нормально. Однако при попытке подключения к SQL через sequel pro с настройками:
ВЕДУЩИЙ: 127.0.0.1
PORT: 3307
ПОЛЬЗОВАТЕЛЬ: ИМЯ ПОЛЬЗОВАТЕЛЯ
ПАРОЛЬ: ПАРОЛЬ
Я получаю следующую ошибку от seqelpro:
Lost connection to MySQL server at 'reading initial communication packet', system error: 0
и в подробном режиме в терминале:
debug1: Connection to port 3307 forwarding to 172.30.0.110 port 3306 requested.
debug1: channel 2: new [direct-tcpip]
channel 2: open failed: connect failed: Connection refused
debug1: channel 2: free: direct-tcpip: listening port 3307 for 172.30.0.110 port 3306, connect from 127.0.0.1 port 56172 to 127.0.0.1 port 3307, nchannels 3
Поддержка AWS, кажется, думает, что это потому, что туннель не настроен правильно, но я не уверен ни в каких других способах.