LoginSignup
3
0

More than 1 year has passed since last update.

Dockerの開発環境から踏み台サーバー経由でdbに接続 [ Rails ]

Posted at

目的

開発マシン上のdockerで動作するrailsアプリケーションのdb接続を
踏み台サーバー経由でrdsに接続したい。

スクリーンショット 2021-09-16 13.39.08.png

方法

前提

◦踏み台サーバー
・エンドポイント ip: 12.12.12.12
・pemファイル /Users/hoge/.ssh/hoge.pem
・接続ユーザー root
◦dbサーバー
・エンドポイント private domain: hogehoge.internal (踏み台から見て)
・postgreSQL(portは、5432)

① macターミナルから以下コマンドを実行、SSHポートフォーワーディングを行う。

ssh -N -L 5434:hogehoge.internal:5432 -i /Users/hoge/.ssh/hoge.pem -p 22 root@12.12.12.12

② database.ymlの行き先をmacの5434に設定。

database.yml

host: host.docker.internal
port: 5434

注) docker上で動くrailsアプリの場合なので、
localhost でなく host.docker.internal で指定

③ rails サーバーを立ち上げる
正しくdbに接続されてることを確認。 

sshポートフォーワーディングとは

sshポートフォーワーディングとは、sshコマンドのポート転送機能のこと。
sshコマンドは通常以下のように使用されるが、

 ssh 10.10.10.10

ここに-L オプションをつけるとポートの転送先を設定できる。

例えば、

ssh -L ポート番号1:10.10.10.11:ポート番号2 10.10.10.10 

これを実行すると、 
localhost:ポート番号1への接続が、10.10.10.10を経由して
10.10.10.11:ポート番号2に転送されるようになる。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0