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:
Comment se connecter à une base de données PostgreSQL distante sur Ubuntu en utilisant pgAdmin3?
https://askubuntu.com/questions/423165/remotely-access-postgresql-database/827358#827358
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?
(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:
Ensuite, a ajouté ce groupe de sécurité à l'instance, et cela a fonctionné pour moi.