web-dev-qa-db-fra.com

Impossible d'accéder à distance à PostgreSQL sur une instance EC2

Je n'ai pas pu accéder à une base de données AWS postgres distante via des choses comme psql -h *EC2ExternalIP* -U *me*. J'obtiendrais:

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?

même chose en essayant une simple connexion telnet à ce port:

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

et même si je pouvais accéder à d'autres services (par exemple, Apache) sur ce même EC2ExternalIP.

J'ai donc fouillé des fils comme ceux-ci:

et ils m'ont aidé à m'assurer que j'avais apporté les modifications appropriées à postgresql.conf et pg_hba.conf; les bons paramètres dépendront des problèmes de sécurité de votre instance. Mais cela ne fonctionne toujours pas.

Que dois-je faire pour rendre cette base de données accessible?

5
rikb

(auto-réponse au cas où quelqu'un d'autre aurait ces mêmes symptômes!)

Ensuite, je suis tombé sur Shubham Dipt après "" PostgreSQL sur EC2 (Ubuntu) dans AWS " , me faisant prendre conscience de la couche" Security group "qu'AWS maintient. Il est facile d'en spécifier un nouveau via la console AWS, en ajoutant spécifiquement Custom TCP: 5432, Source: Anywhere et SSH TCP:22, Source: Anywhere règles pour les appels entrants:

EC2 console editing Security group

Ensuite, a ajouté ce groupe de sécurité à l'instance, et cela a fonctionné pour moi.

3
rikb