外部から接続できないRDSへローカル端末からアクセスする方法

RDS
スポンサーリンク

「外部接続が許可されていないAmazon RDSへローカル環境から接続したい!」

こういうこと、ありますよね?

外部接続できないんだから、
ローカル端末から接続するなんて無理でしょ?と思われるかもしれませんが、
次のような条件下であれば接続することは可能です。

  • ローカル環境からSSH接続できる踏み台サーバやWebサーバがあること
  • そのサーバーからRDSへアクセスできる(SQLが投げられる)こと

さらに今回は、MySQLのGUIツールでお馴染みの「MySQL Workbench」を使った方法をご紹介したいと思います。

スポンサーリンク

SSHポートフォワードを利用する

外部接続が許可されていないAmazon RDSへ自分のローカル端末からアクセスするにはどうしたらよいのでしょうか?




その答えは、“SSHポートフォワード機能を使う”です!!

SSHポートフォワードとは、別名”トンネリング”とも言われています。
SSHの転送機能を使い、特定のポートへ送ったデータを別のコンピューターの指定のポートへ転送することです。

SSH接続したサーバーは、RDSへ接続するための中継サーバーとなります。

上図でいうと、踏み台サーバ(EC2)が中継サーバーの役割を果たし、
ローカル端末の20,000番ポートへのアクセスをRDSの3306番ポートへ転送するといった仕組みです。

このSSHポートフォワードを利用する接続方法は、MySQL Workbenchでも機能の一つとして盛り込まれております。

MySQL Workbenchから外部接続が許可されていないRDSへアクセスする方法

それでは、ローカル端末上にあるWorkbenchから外部接続が許可されていないRDSへ、
SSHポートフォワードを使ってアクセスする方法をご説明します。

※この方法は、”Workbench community 8.0.13″での方法となります。その他のバージョンの場合、画面や手順が異なることがありますのでご注意ください。

テスト環境の構成とログイン情報

手順をご説明する前に、今回サンプルとして使うテスト環境の構成と、それぞれのサーバー情報をご紹介します。

【環境構成】


【各サーバー情報】

<EC2サーバ>

  • パブリックIP:3.81.138.149
  • ログインするためのユーザーID:ec2-user
  • ログインするためのパスワード:(なし)

<RDS>

  • エンドポイント名:testdb.cfh5bd6plzmc.us-east-1.rds.amazonaws.com
  • DB名:testdb
  • DBユーザー名:dbuser
  • DBパスワード:abcdefg

手順

(1) Workbenchを立ち上げます

(2) メニューバーから[Database]→[Connect to Database]をクリックします

(3) “Connection Method:”項目にて[Standard TCP/IP over SSH]をクリックします

(4) “Parameters”を以下のように設定します
・SSH Hostname:3.81.138.149:22(EC2サーバのIP:22)
・SSH Username:ec2-user(EC2のログインユーザー名)
・SSH Password:(なし)
・SSH Key File:EC2のログイン認証キーファイルを指定
・MySQL Hostname:testdb.cfh5bd6plzmc.us-east-1.rds.amazonaws.com(DBのエンドポイント名)
・MySQL Server Port:3306
・Username:dbuser(DBユーザー名)
・Password:abcdefg(DBパスワード)
・Default Schema:testdb(DB名)

(5) [OK]をクリックしてDBへ接続

(6) 接続完了!


いかがでしたでしょうか?

大事な機密情報が入っているRDSをパブリックサブネットに置くというリスクを侵さなくとも、
この方法を使えば簡単にRDSへ接続することが可能です。

今回はWorkbenchを使った方法をご紹介させていただきましたが、
Workbenchでなくとも、SSHポートフォワードが利用できれば同じように接続することが可能です。

また、接続先もRDSだけではなくて、外部接続が許可されていないAPサーバなんかにも応用が可能なんです。

ぜひ試してみてくださいね。

以上、hidesanでした!

スポンサーリンク
RDS
Tech Dive
タイトルとURLをコピーしました