さくらのクラウドのデータベースアプライアンスに外部から接続する手順

データベースアプライアンスに外部から接続する手順

こんにちは、さくらインターネットの大喜多です。

さくらのクラウドのデータベースアプライアンスは、データベースということから、グローバルIPアドレスを割り当てるのではなく、スイッチを使って内部ネットワークに設置してプライベートIPアドレスを割り当てることが多いと思います。

サイト間VPNやリモートアクセスVPNを使って外部から接続する方法もありますが、今回はVPCルータのポートフォワーディング機能を使って外部から接続する手順を紹介したいと思います。

ポートフォワーディング機能とは

「ポートフォワーディング」とは、インターネットから特定のポート番号宛てに届いたパケットを、あらかじめ設定しておいたLAN側の機器に転送する機能です。 1つのグローバルIPアドレスでポート毎に複数のサーバへ振り分けを行ったり、ポート変換を行うことができます。

本記事では以下のような構成のネットワークシステムについて解説していきます。

web01がWebアプリケーションが動作しているWebサーバで、DBサーバdb01とはスイッチを使った内部ネットワーク経由で通信を行います。また、vpc-pfというVPCルータを設置して、外部からも接続が可能なように設定していきます。

それぞれのサーバ・アプライアンスに割り当てたプライベートIPアドレスは図に記載の通りです。基本的なことですが、それぞれのIPアドレスは別々にする必要があります。

VPCルータのグローバルIPアドレス:3306→10.0.0.2:3306
VPCルータのグローバルIPアドレス:443→10.0.0.2:443
というように転送する設定を行います。

ポートフォワーディング機能の設定

さくらのクラウド コントロールパネルでアプライアンス > VPCルータをクリックし、表示されたVPCルータの一覧から対象のVPCルータの行をダブルクリックします。この図では赤枠で囲ったvpc-pfが対象になります。

「NAT」タブをクリックし、ポートフォワーディングの右下にある「追加」をクリックします。

ポートフォワーディングの設定を追加していきます。各項目の入力が完了したら右下の「追加」をクリックします。今回はポートフォワーディングを行う対象が2つあるため、2回追加作業を行います。

追加が終わったら、右上の「反映」をクリックします。

これでポートフォワーディングの設定は完了です。実際に外部から接続できるか確認してみます。

インターネット上のLinuxサーバからMariaDBの3306ポートに接続を試みましたが、無事接続できました。

443番ポートのphpMyAdminにも無事接続ができました。

ただ、セキュリティ確保のために内部ネットワークにデータベースアプライアンスを設置したのに、どこからでも接続できてしまうのでは問題があります。そこでファイアウォール機能を使って、特定のIPアドレスからのみ接続できるように設定しました。

接続元のIPアドレスが固定でない場合は、接続するとき以外はVPCルータの電源をOFFにしておくのがよろしいかと存じます。

まとめ

というわけで、セキュリティを確保しつつ外部からデータベースアプライアンスに接続する方法について解説しました。ちょっとしたメンテナンスのときなどに重宝するので、ぜひ活用してみてください。