2

I followed the aws tutorial found here.

Everything went smoothly up until connecting to the postgresql instance via pgadmin.

I entered the appropriate user/pw info and copy/pasted the address of the db appropriately.

The port is indeed 5432 on my aws dashboard.

I am receiving the following error message:

Server doesn't listen
The server doesn't accept connections: the connection library reports 
could not connect to server: Operation timed out Is the server running on host "my_database_name.some_stuff.us-west-2.rds.amazonaws.com" (52.10.228.18) and accepting TCP/IP connections on port 5432? 
If you encounter this message, please check if the server you're trying to contact is actually running PostgreSQL on the given port. Test if you have network connectivity from your client to the server host using ping or equivalent tools. Is your network / VPN / SSH tunnel / firewall configured correctly? 
For security reasons, PostgreSQL does not listen on all available IP addresses on the server machine initially. In order to access the server over the network, you need to enable listening on the address first. 
For PostgreSQL servers starting with version 8.0, this is controlled using the "listen_addresses" parameter in the postgresql.conf file. Here, you can enter a list of IP addresses the server should listen on, or simply use '*' to listen on all available IP addresses. For earlier servers (Version 7.3 or 7.4), you'll need to set the "tcpip_socket" parameter to 'true'. 
You can use the postgresql.conf editor that is built into pgAdmin III to edit the postgresql.conf configuration file. After changing this file, you need to restart the server process to make the setting effective. 
If you double-checked your configuration but still get this error message, it's still unlikely that you encounter a fatal PostgreSQL misbehaviour. You probably have some low level network connectivity problems (e.g. firewall configuration). Please check this thoroughly before reporting a bug to the PostgreSQL community. 
E_net4
  • 27,810
  • 13
  • 101
  • 139
jason m
  • 6,519
  • 20
  • 69
  • 122
  • check the security group you've chosen fro you RDS instance. add port 5432 to that security group to allow connections from your network – Vao Tsun Jun 18 '16 at 21:38
  • @VaoTsun the security group is set to default, and when I go to my security group settings it has "ALL" selected for inbound connection ports. – jason m Jun 18 '16 at 22:45

2 Answers2

13

Step 1 You are getting the same dialog I was seeing above. Crap!

Step 2 Go to your RDS instances

Step 3 Go to your security groups

Step 4 If your account was like mine you see this text:

Your account does not support the EC2-Classic Platform in this region. 
DB Security Groups are only needed when the EC2-Classic Platform is supported. 
Instead, use VPC Security Groups to control access to your DB Instances. 
Go to the EC2 Console to view and manage your VPC Security Groups. 
For more information, see AWS Documentation on Supported Platforms and Using RDS in VPC.

Step 5 Go back and check your RDS security group name (RDS->instances right click your instance). You will see something like Security GroupsList of VPC Security Groups associated with this DB Instance.

You will see something like: default (sg-********) ( active )

Step 6 In your VPC security groups find your sg-******** that matches your database. Right click that. Edit inbound/outbound rules to add postgresql.

Try to connect again.

This solved my problem.

If this does not solve your problem I am very sorry, but I hope this documentation brings me some debugging karma.

jason m
  • 6,519
  • 20
  • 69
  • 122
  • 1
    If you use wizard, it automatically creates `rds-launch-wizard` security group which allows inbounds from your current external IP. – DenisKolodin Oct 14 '16 at 15:13
0

go to AWS services in security group click on the security group id . from the "actions" button click on "edit inbound roles" and then change the "source" to "my ip"

enter image description here

Usman Maqbool
  • 3,351
  • 10
  • 31
  • 48