今回は、パブリックアクセシビリティをなしに設定しているRDS(mysql)に対して、リモート接続する方法について紹介します。
■パブリックアクセシビリティとは?
いわゆる、パブリックIPを利用したリモート接続ができるかどうかです。
RDSでデータベース作成時に以下の項目がありますが、これのことです。
RDS作成時、デフォルトでは「なし」に設定されています。
■パブリックアクセシビリティが「なし」の場合、どうやってリモート接続を行うのか
SSHポートフォワードを利用します。
■以降の前提について
・自分のPCからアクセスできるLinuxサーバがあることを前提としています。
ここではAmazonLinux2(ami-0f27d081df46f326c)を利用しました。
EIPを利用したアクセスでもいいですし、SystemsManagerを利用した接続でもいいです。
・LinuxサーバからRDSへの接続が可能であること
※ルートテーブル、セキュリティグループの設定は実施済みであること
・自分のPCからLinuxサーバにアクセスする際に使うツールはTeraTermです。
・MySQLへの接続にはMySQL Workbenchを利用しています。
■設定方法
1.Linuxサーバにログインします。
2.TeraTermの「設定」>「SSH転送」をクリックします。
3.「追加」をクリックします。
4.「ローカルのポート」が選択されていることを確認します。
5.手順4の画面で以下の通り入力し、「OK」をクリックします。
ローカルのポート: 63306 ※WellKnownポート以外を選択します。
リモート側ホスト: RDSのエンドポイント名 ※RDSダッシュボードの「接続とセキュリティ」タブから確認できます。
ポート: 3306 ※RDSのデータベースに接続するためのポート番号
6.画面遷移後、「OK」をクリックします。
※TeraTermを起動させたままにしてください。
7.MySQLWorkbenchを起動します。
8.接続情報にて以下の通り入力し、画面右下の「Close」をクリックします。
※Hostnameは127.0.0.1を指定してください。
※Portは手順5で入力した「ローカルのポート」を設定してください。
※UsernameはRDS作成時に作成したユーザで構いません。(admin)
9.画面遷移後、設定情報をダブルクリックすることでRDSに接続することができます。
■補足
SystemsManager(SessionManager)を利用したLinuxサーバへの接続の場合でも、
RDSへ接続するためにやることは、前述の内容と同じです。
SystemsManagerを利用している場合、Linuxサーバへの接続時にSSHポートフォワーディングを利用していますが、RDSへの接続の時にもSSHポートフォワーディングを利用することができます。