開発環境構築

EC2に構築したPostgreSQLに外から接続する方法

hebishima.shogo

はい、hebiです。

EC2に構築したPostgreSQLのDBに、外部のサービスで接続したいことがあると思います。

初期設定ではlocalhostのみ許可されているため、外部から接続することができません。

そこで、特定のIPアドレスのみを接続できるようにする方法を記事にしたいと思います。

スポンサーリンク

前提

以下の記事で作成したPostgreSQL環境に対して外部から接続できるようにしたいと思います。

あわせて読みたい
Amazon LinuxにPostgreSQLをインストールする方法
Amazon LinuxにPostgreSQLをインストールする方法

EC2のセキュリティグループの設定

EC2のインスタンスの初期設定は、port 80(HTTP)とport 22(SSH)のみ接続が許可されています。以下の手順でport 5432(PostgreSQL)の接続を許可しましょう。

セキュリティグループを開く

AWSマネージコンソールで対象のインスタンを選択し、「セキュリティ」タブからセキュリティグループを選択します。

インバウンドのルールを追加

「インバウンドのルールの編集」ボタンをクリックします。

「ルールを追加」ボタンをクリックし、タイプから「PostgreSQL」を選択します。

IPアドレス入力欄に許可するIPアドレスを入力し、「ルールを保存」ボタンをクリックします。

自PCの接続を許可したい場合は、以下のサイトからグローバルIPを確認できます。

あわせて読みたい
グローバルIP確認サイト
グローバルIP確認サイト
Q
インバウンドルールとは?

外部から内部ネットワークへのアクセスを管理します。例えば、インターネットからEC2インスタンスへのHTTPアクセスを制御する場合の設定を行います。

Q
アウトバウンドルールとは?

内部ネットワークから外部ネットワークへのアクセスを管理します。例えば、EC2インスタンスから外部のデータベースサーバーへの接続を制御する場合の設定を行います。

Q

登録確認

以下のように追加されたら完了です。

PostgreSQLの設定

EC2への接続は許可しましたが、PostgreSQLへの接続も許可する必要があります。以下の手順でPostgreSQLの設定ファイルを編集しましょう。

postgresql.confに外部からの接続許可設定

以下のコマンドでpostgresql.confを開きます。

sudo nano /var/lib/pgsql/data/postgresql.conf

「listen_addresses = ‘*’」に変更し保存します。

*を設定することで外部からの接続を可能にします。

pg_hba.confにアクセス許可するIPを登録

以下のコマンドでpg_hba.confを開きます。

sudo nano /var/lib/pgsql/data/pg_hba.conf

「host all all 192.168.1.1/32 md5」を追加して保存します。192.168.1.1部分が許可したいIPアドレスです。

PostgreSQLを再起動

以下のコマンドでPostgreSQLを再起動して設定を適用させます。

sudo systemctl restart postgresql

以上で外部からの接続が許可されました。A5SQLツールで接続を確認してみましょう。

接続確認

DBへの接続を確認します。

データベースの接続タイプ選択

PostgreSQLを選択します。

接続確認

サーバー名にパブリックIP、データベース名、ユーザーID、パスワードを入力し、「テスト接続」をクリックします。

「接続に成功しました。」と表示されたら外部からの接続成功です。

最後に

外部からの接続方法いかがだったでしょうか。

EC2の接続許可設定PostgreSQLの接続許可設定の両方を行わないと外部からの接続は許可されません。接続できない場合はどちらかの設定が不足している可能性がありますのでご確認ください。

最後までお読みいただきありがとうございました(^^♪

スポンサーリンク
ABOUT ME
hebi
hebi
エンジニア
フルスタックエンジニアとして活躍中。
HTML5プロフェッショナル認定Level1、Level2所持者です。

未経験の方でも簡単にプログラミングを学べるようにと情報を発信しております。
記事URLをコピーしました