この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
目次
RDSで外部サーバーからのアクセス許可する方法
みなさんはRDSを使用していますか?
EC2でウェブサーバーを運用している方ならRDSを利用している人も多いでしょう。通常ではRDSに外部接続させるのはセキュリティ上おススメできません。
ただ開発を行っていると
・開発用データベースだけは、EC2経由をせずにPCで直接データベースを操作したい
・外部システムからもRDSを直接操作したい
といった要望がでます。
そこで今回はRDSを外部サーバーからのアクセス許可する方法とその際の注意点をご紹介します。
外部からの接続を許可する設定手順
RDSを外部から接続しようとしたとき設定を行う項目として
- RDSの設定項目
- セキュリティグループ
- MySQLユーザーの接続許可されたホスト
の3箇所を確認することが必要になります。
RDSの設定項目
設定にパブリックアクセシビリティという項目があるので「はい」に変更しましょう。
新規設定のときは「[詳細設定]の設定」、既存DBの設定変更のときは設定変更を選択後の一覧画面に表示されています。
新規設置のとき
既存DBの設定変更のとき
パブリックアクセシビリティとは?
パブリックアクセシビリティの「はい」の注釈文は下記のとおりです。
DB インスタンスをホストしている VPC 外部の EC2 インスタンスとデバイスは、DB インスタンスに接続します。DB インスタンスに接続できる EC2 インスタンスおよびデバイスを指定する 1 つ以上の VPC セキュリティグループも選択する必要があります。
そして「いいえ」の注釈文は下記のとおりです。
DB インスタンスにはパブリック IP アドレスが割り当てられていません。VPC 外部の いずれの EC2 インスタンスあるいはデバイスも接続できません。
簡単にいうと外部サーバーからの接続を許可しますかという項目です。
セキュリティグループの設定
次にMySQLに紐づくセキュリティグループの設定を行いましょう。セキュリティグループに接続許可するサーバー(拠点)や接続したい場所のIPアドレスを追加します。セキュリティを考慮すると、接続するIPアドレスに「0.0.0.0」(全てのIPアドレスからの接続許可)を設定するのは絶対に止めましょう。
MySQLユーザーの設定
MySQLユーザーの接続が許可されているホスト名を確認しましょう。RDSではユーザーを追加するとき、接続許可のHost名を「%」(全てのホストからの接続を許可する)に設定していると思います。念のため、該当のユーザーにて外部からDB接続できるのかを確認しましょう。
1 2 3 4 5 6 7 8 |
mysql> select Host, User from mysql.user; +--------------+----------+ | Host | User | +--------------+----------+ | localhost | root | | % | test | | % | hogehoge | +--------------+----------+ |
さいごに
RDSを外部サーバーから接続させる機会は通常あまりないかもしれません。ただ必要にせまられたときに本記事が少しでも、みなさんの助力となれば嬉しい限りです。
ページ数: 240ページ
出版社: 技術評論社
発売日:2019/11/07
出典:amazon