使えるクラウドVPS上のMySQLに外部から接続する場合の注意点
Webシステムに於いて、システムの運営上やむなく外部サーバーのデータベースに接続しなければならないことがあるかと思います。
今回、そんな事例にあたりました。
てっきり、データベースの接続ユーザーに外部からアクセスする権限を付与し、ファイアウォールを設定すると簡単に接続!!と思いきや落とし穴が有りました。サーバー管理ツールに「Plesk」が入っている場合、下記の設定も必要になります。
Pleskが入っている時に注意すること
弊社がよく利用するホスティング業者の「使えるねっと」は長野市にあります。手厚くサポートしてくれることでお気に入りの業者さんです。使えるねっと社が提供する「使えるクラウドVPS」にはPleskが入っています(というか、Plesk付きプランを選びました)。2018年5月現在、Pleskのバージョンは「Plesk Onix 17.8.11」です。
どうもPlesk8以降ではMySQLの設定ファイルに「リモートからの接続を拒否する」設定を行っているようで、これを解除しないと外部からアクセスできないとのことです。
※参考サイトはこちら
具体的には「/etc/my.cnf 」を開き、「bind-address」の行をコメントアウトします。
[mysqld]
port = 3306
#ここをコメントアウト bind-address = 127.0.0.1
# skip-networking
my.confファイルを保存した後、MySQLを再起動します。
service mysqld restart
これで外部から接続出来るようになります。
☆ご注意下さい!
使えるねっとサポート担当さんに言われたことです。外部からアクセスすることは可能ですが、使えるねっとのローカルネットワークで接続するのではなく、インターネット網に出てから接続することになるので、セキュリティ的には問題があります。
とのこと。ちなみに「使えるクラウド(VPSではない)」を複数台借りている場合、ローカルでの接続可能とのこと。もし複数台サーバーで運用する場合には「使えるクラウド」ですね!