J'ai un cluster Redshift dans mon compte AWS. Je suis en mesure de s'y connecter en python et quand je lance le script localement, il fonctionne parfaitement bien:Comment se connecter au cluster redshift Amazon à partir de mon instance Amazon EC2
import psycopg2
con = psycopg2.connect(dbname='some_dbname', host='hostname.us-east-2.redshift.amazonaws.com', port='port#', user='username', password='password')
cursor=con.cursor()
query = "select * from table;"
cursor.execute(query)
data = np.array(cursor.fetchall())
cursor.close()
con.commit()
con.close()
Mais, quand je copie le script ci-dessus à mon instance EC2 (Amazon Linux AMI), puis essayer en cours d'exécution, je reçois l'erreur suivante:
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: could not connect to server: Connection timed out
Is the server running on host "hostname.us-east-2.redshift.amazonaws.com" and accepting
TCP/IP connections on port port#?
Quelqu'un peut-il me aider dans la façon de se connecter à mon groupe de Redshift de mon instance EC2? Merci!
Avez-vous ouvert le port dans le groupe de sécurité affecté au cluster Redshift pour autoriser les connexions depuis l'instance EC2? –
@MarkB Non, comment je fais ça? – Rajiv
Comment avez-vous ouvert le groupe de sécurité pour autoriser l'accès depuis votre ordinateur local? C'est le même processus. –