Amazon RDS上のデータベースに外部から接続する方法

AWS

Amazon RDS上のデータベースに、外部から接続する方法を紹介します。

外部からの接続は、RDSインスタンスのパブリックアクセシビリティで許可します。
また、適用しているセキュリティグループのインバウンドルールに、接続に使用するプロトコルとポートの追加も必要です。セキュリティに配慮して、ポートの使用PCを、IPアドレスで制限することも忘れずに。

当記事で使用しているデータベースエンジンはMySQLです。
また、接続にはODBCを使用しています。
※2019年12月現在のAWSに合わせて改訂

なお、EC2インスタンス上でデータベースを稼動させるケースも多いと思いますが、こちらについても、外部から接続する方法を紹介しています。

AWS EC2上のデータベースに外部からODBC経由で接続するための設定
AWS EC2(Windows Server 2012 R2)上のMySQL(Redmine)に、外部からODBC接続するための設定を紹介します。 データベース活用の幅が広がります。

 

スポンサーリンク

パブリックアクセシビリティの許可

AWS RDSのダッシュボードから、アクセスしたいデータベースのRDSインスタンスを選択します。
接続とセキュリティのパブリックアクセシビリティが「あり」なら、外部からの接続はすでに許可されています。

また、この画面の「エンドポイント」と「ポート」はODBCの設定に必要なので、コピー&ペーストで、メモ帳にでも残しておくと便利。

「いいえ」になっていた場合は、画面右上から変更をクリックして「はい」に変更。

 

ポート3306の開放

次に、RDSインスタンスに適用されているセキュリティグループのインバウンドで、MySQLのポート3306が開放されていることを確認します。

セキュリティグループのリンクをクリックします。

EC2ダッシュボードのセキュリティグループが表示されます。[インバウンド]タブをクリックして、「MYSQL/Aurora」が設定されていることを確認します。設定されていない場合は、編集をクリックして追加します。

ポートの使用PCを明示的に絞るには、ソースを設定します。「マイIP」を選択すると、今接続しているPCのIPアドレスが自動的に設定されるので便利。

ODBCドライバーの設定

AccessなどからODBCドライバーを起動して、次のように入力します。

エンドポイントとポート番号は、先ほどRDSダッシュボードから控えておいたものです。

TCP/IP Serverエンドポイント
Portポート
User接続に使用するMySQLアカウントのID
Password上記アカウントのパスワード

今回はマスターユーザーとそのパスワードで接続します。
安全のため、必要最低限の権限が付与されたMySQLアカウントを使用しましょう。

 

接続確認

入力できたら、[Test]ボタンをクリックしてみます。

 

接続成功のメッセージが表示されました。

 

Databaseのプルダウンリストには、Amazon RDS上のデータベースの一覧が表示されています。
接続したいデータベースを選択してOKをクリックしましょう。

 

まとめ

EC2インスタンスの場合と同様、外部から接続するには、インスタンスに適用されているセキュリティグループのインバウンドに、使用するプロトコルとポートの設定が必要です。

オンプレミスのDBサーバーに比べ、OSのファイヤウォールや、MySQLの設定を直接変更する必要がないので簡単かもしれません。

接続には、必要最小限の権限が付与されたMySQLアカウントを使用しましょう。

次の記事では、AWS EC2のWindowsサーバーにリモートデスクトップで接続して、AWS RDSのMySQLにアカウントを作成しているので、よかったら参考にしてください。

Bitnami RedmineをAWS EC2+RDSの構成で稼働させる方法
Amazon Web Service(AWS)には、Elastic Compute Cloud(EC2)だけでなく、Relational Database Service(RDS)にも一年間に渡って20GBの無料利用枠があります。そこで試行錯誤した結果、EC2(Windowsサーバー)にインストールしたBitnami Redmineを、EC2+RDSのシステム構成で上手く稼働させることができたので、手順を紹介します。

ほかにも、A5:SQL Mk-2を直接接続してアカウントを作成することもできます。

タイトルとURLをコピーしました