質問: サーバーA(WEB用サーバ) セキュリティグループA サーバーB(DB用のサーバ) セキュリティグループB サーバーBではpostgreSQLを使っています。 AWSの管理画面からセキュリティグループの設定を行い、 セキュリティグループBのインバウンド設定でタイプに「PostgreSQL」を選んで 送信元に「カスタム」を選んで「セキュリティグループA」を設定しました。 サーバーAから psql -U ユーザー名 -h サーバーBのIP -l のコマンドを叩いてDBの一覧を出そうとしましたが固まって反応がありません。 先ほど設定した箇所で送信元を「任意の場所」、IPを「0.0.0.0/0」に設定し直すとつながるようになります。 ただこれだとどこからでもアクセスできる状態となってしまうので やはり「セキュリティグループA」だけを許可するような設定にしたいのですが、 なぜかうまくいきません。 セキュリティグループAがサーバーAに紐づいてるのは確認しています。 何がいけないんでしょうか。
回答: 確認ポイント PostgresのLISTENポートは通常5432ですが、まちがいないですか? DBサーバで`netstat -an | grep :5432`して確認してください。 `psql -U ユーザー名 -h サーバーBのIP -l` で、間違えて`サーバーBのIP`にグローバルIPアドレスを指定していませんか? 指定するのはサーバーBのプライベートIPアドレスです。