web-dev-qa-db-ja.com

リモートマシンからRDS Postgresへの接続

RDS Postgresマイクロインスタンスをテスト用に構成しましたが、接続に問題があります。セキュリティグループを作成し、すべてのホスト(0.0.0.0/0)をデフォルトでポート5432に許可しましたが、何らかの理由で接続できません。マシンのポート5432に接続してみましたが、ポートが閉じているようです。何か案は?セキュリティグループが正しいセキュリティグループを使用していることを確認しました。

これは私の設定です

TCP
Port (Service)  Source  Action
5432    0.0.0.0/0   Delete

これが私がrdsサービスに接続しようとしている方法です

psql -p 5432 -h example.cs945smhrv09.us-west-2.rds.amazonaws.com -U example example

[〜#〜]更新[〜#〜]

Rdsがプライベート172サブネットで起動することを理解した後、少しばかげた感じがします。 ec2インスタンスから接続できました。

質問私が接続できるパブリックアドレスにそれを置く方法はありますか?ソースIPを制限するセキュリティグループで構成し、デスクトップからpsqlで接続できるようにしたいと思います。

更新2

私が最初にこの質問を投稿したとき、すべての詳細を覚えていませんが、問題ではなくなりました。これで、vpnサーバーを使用して接続する管理vpcができました。管理vpcネットワークは、rdsインスタンスのprodおよびdevelセキュリティグループによって信頼されています。パブリックIPを追加しなくても、問題なく通信できます。

15
Chris Hinshaw

RDSセットアップウィザードのステップ4(「追加構成」)では、DBがパブリックにアクセス可能かどうかを選択できます(アクセスできない場合、アクセスは、セキュリティグループの設定に関係なく、VPC内に制限されます)。ホスト名が54. *と172. *のどちらに解決されるかが決まると思います。

最初のインスタンスがプライベートに設定されている可能性があります-私の知る限り、これは初期化後に変更することはできません。私にも同様の問題があり、公的にアクセスできるように設定された新しいインスタンスを作成することで解決しました。

12
Gord Stephen

会社のファイアウォールで、デフォルトのpostgresポート5432への送信トラフィックがブロックされていました。ターミナルウィンドウでnetcatを使用してポートをテストするまで、次のようにポートをテストしました。

nc -zv portquiz.net 5432

うまくいけば、これにより、誰かがAWSセキュリティグループをいじる半日の節約になります。

8
J Dawkins

絶対あります。 RDSインスタンスに接続されているローカルマシンにpgadminをロードしました。 |

Psqlに使用したのと同じ構文を使用して接続できることを確認しましたが、-Uは必要ありませんでした(ただし、両方の「サンプル」パラメーターを含めました)。

「デフォルト」のセキュリティグループを編集して、許可するIP(接続元のマシンのIP)/ 32を追加しましたが、それよりも制限が少なくなると思いますが、そこから開始し、それが役立つかどうかを確認してください。

3
Joe Love

これは、アウトバウンドファイアウォールルールが原因である可能性があります。企業のファイアウォールの背後にいる場合は、特定の数を超える送信ポートをブロックすることがよくあります。これを回避するには、何らかのSSHトンネルをセットアップする必要があります。 http://conoroneill.net/accessing-Amazon-rds-instances-from-your-desktop/

0
Neil

私はこの問題を抱えていました。これは直接的な解決策ではありませんが、うまくいく場合もあります。 Postgresセキュリティグループを、それを使用するサーバー(同じVPC)からの接続を受け入れるように設定しました。次に、SSHトンネリングを使用するようにPostgresクライアントを設定しました。コマンドラインを使用する必要がある場合は、そのサーバーにSSHで接続し、そこからpsqlを実行します。

0
Tim