質問するログイン新規登録

Q&A

解決済

1回答

156閲覧

ec2のpostgresqlにローカルのpgadminから接続

todasan

総合スコア98

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2025/11/03 07:48

編集2025/11/03 21:53

0

0

実現したいこと

pgadmin4からec2のpostgresqlに接続し、画像のようにタイムエラーが出ます。
以下のHost nameにはec2のパブリックIPアドレスを記載しています。
イメージ説明

ec2には以下のようにpostgresqlのポートも設定して、グローバルIPアドレスも
221.49.111.84と設定しています。

awsのec2のインスタンスの情報は以下のようになります。
パブリックIPアドレスはありますが、消して表示しています。
イメージ説明

イメージ説明

teratermからec2に接続した時に以下のログ
sudo journalctl -xeu postgresql@16-main.service | tail -n 30
を見ると、画像のようににエラーになっています。
イメージ説明
ネットで調べると、pg_hba.confの設定が原因と書いてあり、以下を調べました。
以下のログを見て、postgresの部分を直しました。

ubuntu@ip-172-31-28-65:~$ sudo nano /etc/postgresql/16/main/pg_hba.conf

local all postgres 221.49.111.84/32 md5
イメージ説明
pg_hba.confがうまく読み取れないとして、pg_hba.confを直しましたが、ローカルPCの
pgadminからec2のpostgresqlに接続できません。
何か解決方法が分かれば、お聞きしてもよろしいですか。

発生している問題・分からないこと

質問に詳細を記載した。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

質問に詳細を記載した。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu_1985

2025/11/03 07:55

パブリックIPを公開するのは危険なので、隠したほうが良いです
todasan

2025/11/03 08:34

yu_1985 隠しました。どのような部分が危険ですか。
melian

2025/11/03 10:07

インスタンス概要を示す2枚目の画像ですが、「自動的に割り当てられたIPアドレス」にパブリックなIPアドレスが表示されています。また、「パブリックDNS」の部分にホスト名が表示されていますが、AWS EC2 の場合、パブリックIPアドレスに与えられるホスト名は ec2-[public IP address].[region].compute.amazonaws.com という形式なので、パブリックIPアドレスがそのまま表示されているのと同じことになります。これらも消しておく方がよいかと思います。
todasan

2025/11/03 21:54

melian さん 消しました。消さないと、どういった危険がありますか。
yu_1985

2025/11/04 13:28

現状あなたの接続元のIP(22〜)がモロバレですけど大丈夫ですか 質問を削除して書き直すことをおすすめします。 パブリックIPを公開するということは、端的にイメージしやすいように言うとインターネット上で住所を公開しているようなもので、設定によっては知らない人にアクセスされるおそれがあります。 今回のケースではセキュリティグループで接続元を絞っているからまだいいですが、あなたが固定IPを使用してそのIPが確実にあなたしか使用しないのでなければ他人からアクセスされる懸念はあります。 一般的にはDBにインターネット経由でアクセスできるようにするのは避けるべきで、せめて踏み台サーバーを経由させるなどしましょう。 DBの認証が万が一突破されると、DBが不正に利用される懸念があります。
guest

回答1

0

自己解決

以下のファイルを以下のようにして、pgadmin4からec2に接続できました。
・/etc/postgresql/16/main/pg_hba.conf
TYPE DATABASE USER ADRESS METHOD
host all all 221.49.111.84/32 scram-sha-256 ←新規追加した。
local all all peer
直す前の時は、
local all postgres 221.49.111.84/32 md5
になっていましたが、TYPEがlocalの場合は、ADRESSのネットワーク設定(221.49.111.84/32)が、
不用なので、pg_hba.confを読み込み時にエラーを起こしていました。

投稿2025/11/03 09:07

todasan

総合スコア98

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問