🦵
DataGripにてSSM接続の踏み台サーバを通じてRDSに接続する
プライベートサブネット上で稼働するRDSにSSM経由で接続する以下のような構成で、
DataGripを使って楽に接続する時の方法を備忘録として残します
私自身はこの方法で構築したわけではないのですが、踏み台サーバの作成自体はこちらが参考になるものと思います
方法
DataGripにはコネクション確立前のタイミングをフックして任意のコマンドを動かす機能があるので、
こいつを利用して踏み台に接続するとよさそうです
以下のようなシェルスクリプト connect_to_rds.bash
を用意しておきます
鍵ファイル、インスタンスID、RDSのIDは環境に合わせて指定してください
#!/usr/bin/env bash
pkill -f '55432:'
ssh -i ~/.ssh/xxxxx.pem ec2-user@i-yyyyy -fNL 55432:sample.zzzzz.ap-northeast-1.rds.amazonaws.com:5432
DataGripにて新規接続を作成し、以下のように設定してください
General
タブはこんなかんじ
お使いのRDSに合わせて任意に指定してください
Options
タブの Before connection > Run External tool > External tools > +
で以下
この状態でDataGrip上でDBへ接続を行うと、 connect_to_rds.bash
が実行され、RDSへ接続できます!
設定に際して、 Unknown tool ~
的なメッセージが表示される場合は、設定を削除して作り直すとうまくいきます
Discussion