単一のパブリックサブネットがあり、パブリックインターネット経由で接続できるようにする必要があるVPCで、基本的なテストPostgreSQL RDSインスタンスを作成しました。これは、ポート5432に対して開いているデフォルトのセキュリティグループを使用します。接続しようとすると失敗します。私は非常に簡単なものを見逃しているに違いありません-しかし、私はこれでかなり迷っています。
これがデータベースの設定です。Publicly Accessible
とマークされていることに注意してください:
セキュリティグループの設定を次に示します。開いていることに注意してください(上記のRDS設定で、エンドポイントの横にある緑色の「承認済み」ヒントで確認されています)。
接続に使用しようとしているコマンドは次のとおりです。
psql --Host=myinstance.xxxxxxxxxx.us-east-1.rds.amazonaws.com \
--port=5432
--username=masteruser
--password
--dbname=testdb
そして、これはYosemite MacBook Proから接続しようとしたときに得られる結果です(注、54。* IPアドレスに解決されます)。
psql: could not connect to server: Operation timed out
Is the server running on Host "myinstance.xxxxxxxxxx.us-east-1.rds.amazonaws.com" (54.xxx.xxx.xxx) and accepting
TCP/IP connections on port 5432?
ファイアウォールを有効にしていないため、他のプロバイダー(Herokuなど)のパブリックPostgreSQLインスタンスに接続できます。
私はここでほとんど途方に暮れているので、トラブルシューティングのヒントは大歓迎です。
更新
コメントごとに、デフォルトVPCのインバウンドACLルールは次のとおりです。
誰かを少し時間を節約するために私の発見を追加したかっただけです。上記のこのソリューションはdev ec2インスタンスで機能しましたが、新しいサーバーに移行した後、機能しなくなりました。 RDSインスタンスとEC2インスタンスの両方が同じVPCにあることが判明したため、RDSインスタンスは、セキュリティグループに追加したパブリックIPを認識できませんでした。これを機能させるには、RDSインスタンスのセキュリティグループに追加する必要があります。これは、EC2インスタンスのプライベートIPであり、詳細を確認できます。