impossibile connettersi all'istanza pubblica di postgresql rds


23

Ho creato un'istanza RDS PostgreSQL di prova di base in un VPC che ha un'unica sottorete pubblica e che dovrebbe essere disponibile per la connessione su Internet pubblica. Utilizza il gruppo di sicurezza predefinito, che è aperto per la porta 5432. Quando provo a connettermi, fallisce. Devo mancare qualcosa di molto semplice, ma mi sono perso per questo.

Ecco le impostazioni del database, notare che è contrassegnato come Publicly Accessible: Impostazioni RDS

Ecco le impostazioni del gruppo di sicurezza, nota che è completamente aperto (affermato nelle impostazioni RDS sopra dal suggerimento verde "autorizzato" accanto all'endpoint): Impostazioni del gruppo di sicurezza

Ecco il comando che sto cercando di utilizzare per connettersi:

psql --host=myinstance.xxxxxxxxxx.us-east-1.rds.amazonaws.com \
     --port=5432 
     --username=masteruser 
     --password 
     --dbname=testdb

E questo è il risultato che ottengo quando provo a connettermi da un Yosemite MacBook Pro (nota, si sta risolvendo in un indirizzo 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?

Non ho alcun tipo di firewall abilitato e sono in grado di connettermi a istanze PostgreSQL pubbliche su altri provider (ad esempio Heroku).

Eventuali suggerimenti per la risoluzione dei problemi sarebbero molto apprezzati, dal momento che sono praticamente in perdita qui.

Aggiornare

Per commento, ecco le regole ACL in entrata per il VPC predefinito: Configurazione ACL di rete


1
Ti è capitato di incasinare i NetworkACL? Vorrei cercare una possibile impostazione che potrebbe bloccare l'accesso a Internet.
Optichip,

Grazie per la risposta! Gli ACL sembrano non bloccare nulla, poiché la prima regola è consentire tutte le porte da tutte le fonti, per allegato.
Edward Q. Ponti

Risposte:


27

Il problema era che la regola in entrata nel gruppo di sicurezza specificava un gruppo di sicurezza come origine. La modifica in un CIDR che includeva il mio indirizzo IP ha risolto il problema.


6
Per chiunque non sappia come funziona il CIDR; se il tuo indirizzo IP è 91.61.76.202 (puoi trovarlo usando myipaddress.com ), imposta l'origine su 91.61.76.202/32
Tom G,

Saresti disposto a fare uno screenshot di come appare questa soluzione?
smaccoun,

Sarei felice di farlo, ma non ho più questa istanza online.
Edward Q. Bridges

11

Stavo affrontando un problema simile, ed è così che l'ho risolto:

Fare clic sul gruppo di sicurezza per l'istanza RDS e controllare le regole in entrata. Potresti vedere qualcosa del genere:

inserisci qui la descrizione dell'immagine

Devi impostare l'intervallo IP per contenere il tuo IP o semplicemente selezionare "Ovunque" nel menu a discesa Sorgente, per renderlo accessibile da localhost o ovunque:

inserisci qui la descrizione dell'immagine


Sì, funziona. Ho mantenuto la regola personalizzata che era lì e ho aggiunto una nuova regola che ha raccolto automaticamente il mio indirizzo IP.
MSC,

1

Ho avuto un problema simile durante la connessione a Postgres. Evento anche se avevo accesso pubblico vero, non ero in grado di connettermi.

Ho aggiunto una regola in entrata di regole nel gruppo di sicurezza e ora funziona perfettamente.

inserisci qui la descrizione dell'immagine


0

Volevo solo aggiungere i miei risultati per salvare qualcuno un po 'di tempo. Questa soluzione sopra descritta ha funzionato su un'istanza dev ec2 ma dopo che sono migrato su un nuovo server ha smesso di funzionare. Si è scoperto che sia la mia istanza RDS che l'istanza EC2 erano nello stesso VPC, quindi l'istanza RDS non poteva vedere l'IP pubblico che avevo aggiunto al suo gruppo di sicurezza. Per farlo funzionare devi aggiungere al gruppo di sicurezza delle istanze RDS, l'ip privato dell'istanza EC2 che puoi trovare nei dettagli.


-1

Dopo aver creato la mia istanza Postgres, il mio gruppo di sicurezza predefinito (rds-launch-wizard) ha elencato solo il mio indirizzo IP, quindi ho dovuto aggiungere un tipo di tutto il traffico e la fonte di qualsiasi luogo prima di poter connettermi. Non sono un esperto di reti, ma è strano non riuscire a connettermi con il mio indirizzo IP come regola in entrata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.