ローカルのVagrant上で動いているLaravelからDBへと接続する際、普段はローカルのMySQLにアクセスしているけど、AWS上のMySQLに繋ぎたい状況が発生した。
AWSはIP制限が掛かっているので、踏み台サーバを経由して接続する必要がある。
というわけで、
ブラウザ -> Vagrant上で動いているLaravel -> 踏み台サーバ -> AWS
と接続することになり、苦労したので自分用にメモを残しておく。
踏み台サーバ経由でAWSへ接続するにはSSHポートフォワーディングのコマンドを使う。
ssh -f -N -L 2424:aws.host.name:3306 -p 2176 fumifumi@fumifumi.com -i /ssh/key/path
↑の場合、ローカルのポート2424へのアクセスをfumifumi.com経由(ユーザ名:fumifumi、秘密鍵:/ssh/key/path でログイン)でaws.host.name(ポート3306)に転送する。
これをVagrant上で実行しておくと、ローカルのVagrant上で動いているLaravelからDBへとアクセスする際に、AWSへ転送できる。
Vagrantfileに書いておくと起動時に実行出来て楽。