Може да искате да се свържете с MySQL на Amazon EC2 от лаптоп Linux / Mac. Но може да не искате да отваряте нито един порт на EC2 екземпляр от съображения за сигурност. Вместо това можете да препратите вашия локален порт през Secure Shell (SSH). Сега, когато се свържете с вашия локален порт, той се препраща за свързване към MySQL сървър на Amazon EC2 през SSH. Няма нужда да отваряте порта на вашия MySQL сървър на EC2 инстанция. Тъй като е през SSH, никой също не може да го проследи. Ето как можете да се свържете с MySQL на Amazon EC2 от Linux / Mac с помощта на SSH тунел.
Ако не сте запознати с SSH тунела, можете да прочетете за свързването към екземпляр на Amazon EC2 от Linux / Mac чрез SSH.
наистина е лесно. Просто отворете обвивката/терминала и въведете команда със синтаксиса
[sudo] ssh -i "$key" -f -N -L $local_port:127.0.0.1:$remote_port $user@$ec2
Какво означава:
$key – местоположение на вашия файл с частен ключ (.pem), изтеглен от Amazon, докато създавате EC2 екземпляр
$local_port – порт на вашата локална машина, който препращате към MySQL сървър на EC2. Това е портът, който слуша заявки за връзка
$remote_port – порт, на който MySQL сървър работи на EC2. Обикновено е 3306
$user –
- За Amazon Linux AMI потребителското име е ec2-user .
- За RHEL AMI потребителското име често е root но може да е ec2-user .
- За Ubuntu AMI потребителското име е ubuntu .
- В противен случай се консултирайте с вашия доставчик на AMI.
$ec2 – Публичен IP или публичен DNS име на екземпляр EC2
Напр.:
sudo ssh -i "/tmp/private_key.pem" -f -N -L 3100:127.0.0.1:3306 [email protected]
Това ще пренасочи порт 3100 на вашия лаптоп към порт 3306 на 192.150.15.1. Така че, когато се опитате да се свържете с порт 3100 на вашия лаптоп, той ще бъде изпратен до 192.150.15.1. След достигане на EC2 инстанция, тя се изпраща на 127.0.0.1:3306. В този случай 127.0.0.1 се отнася до 192.150.15.1, а не до вашата локална машина. Това ще стартира ssh сесията във фонов режим. Трябва да се изпълнява всеки път, когато се опитате да се свържете с MySQL база данни.
Свържете се с MySQL на Amazon EC2 от Linux / Mac
Тук за справка е примерна връзка, използваща MySQL Adminstrator, която отива към localhost:обърнете внимание на сървърния хост адрес 127.0.0.1, който ще бъде прозрачно препратен.
Можете също да отворите обвивка/терминал и да въведете (например паролата е ‘passwd’)
mysql -h 127.0.0.1 --port 3100 -uroot -ppasswd
Това означава свързване към порт 3100 на вашия локален хост. Това препраща връзката към MySQL сървъра на EC2 екземпляр, който слуша на порт 3306.