HiveBrain v1.2.0
Get Started
← Back to all entries
debugsqlMinor

Cannot remotely access PostgreSQL on EC2 instance

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
cannotpostgresqlec2instanceaccessremotely

Problem

I was unable to access a remote AWS postgres database via things
like psql -h EC2ExternalIP -U me. I would get:

psql -h *EC2ExternalIP* -U *me*
psql: could not connect to server: Operation timed out
Is the server running on host *EC2ExternalIP* and accepting
TCP/IP connections on port 5432?


same thing trying a simple telnet connection to this port:

curl telnet://*EC2ExternalIP*:5434
curl: (7) Failed to connect to *EC2ExternalIP* port 5434:
Operation timed out


and even though i could access other services (eg, apache) on this
same EC2ExternalIP.

So I poked around at threads like these:

-
How to connect to an remote PostgreSQL database on Ubuntu using pgAdmin3?

-
Connect to remote EC2 Postgresql database

-
https://askubuntu.com/questions/423165/remotely-access-postgresql-database/827358#827358

-
https://stackoverflow.com/questions/17770329/cannot-connect-to-postgresql-remotely-on-amazon-ec2-instance-using-pgadmin

and they helped me to ensure I'd made appropriate modifications to
postgresql.conf and pg_hba.conf; the right settings for you will
depend on your instance's security concerns. But it is still not
working.

What should I do to make this DB accessible?

Solution

(self-answering in case someone else has these same symptoms!)

Then I stumbled upond Shubham Dipt's post on
"PostgreSQL on EC2 (Ubuntu) in AWS",
making me aware of the "Security group" layer AWS maintains. It's
easy to specify a new one via the AWS console, specifically adding Custom TCP: 5432, Source: Anywhere and SSH TCP:22, Source: Anywhere rules for Inbound:

Then, added this security group to the instance, and it worked for me.

Context

StackExchange Database Administrators Q#217571, answer score: 4

Revisions (0)

No revisions yet.