Je ne parviens pas à me connecter à mon cluster Amazon Redshift

Date de la dernière mise à jour : 26/07/2021

Je rencontre des problèmes pour me connecter à mon cluster Amazon Redshift. Comment résoudre ce problème ?

Brève description

Pour vous connecter à votre cluster Amazon Redshift, vérifiez les points suivants :

  • Si votre cluster Amazon Redshift se trouve dans un sous-réseau public et que vous souhaitez y accéder via Internet, assurez-vous que Publicly accessible (Accessible publiquement) est défini sur Yes (Oui).
  • Si votre cluster Amazon Redshift se trouve dans un sous-réseau privé, veillez à utiliser une passerelle de traduction d'adresses réseau (NAT) dans le sous-réseau public pour accéder à Internet. Un cluster dans un sous-réseau privé peut se connecter à Internet via la passerelle NAT, mais Internet ne peut pas initier une connexion au cluster.
  • Pour permettre à votre cluster Amazon Redshift de communiquer avec des ressources situées dans un autre compte virtual private cloud (VPC), créez une connexion d'appairage de VPC.

Résolution

Mon cluster se trouve dans un sous-réseau public, mais je ne parviens pas à m'y connecter via Internet à partir de mon ordinateur local

Remarque : avant de suivre les étapes indiquées ci-dessous, assurez-vous que votre VPC dispose d'une passerelle Internet jointe.

1.    Ouvrez la console Amazon Redshift.

2.    Choisissez Clusters.

3.    Sélectionnez le cluster auquel vous essayez de vous connecter.

4.    Sélectionnez Actions.

5.    Choisissez Modify publicly accessible setting (Modifier le paramètre d'accessibilité publique).

6.    Pour « Allow instances and devices outside the VPC to connect to your database through the cluster endpoint » (Autoriser les instances et les appareils en dehors du VPC à se connecter à votre base de données via le point de terminaison du cluster), choisissez edit publicly accessible (modifier l'accessibilité publique).

7.    Choisissez Enable(Activer).

8.    Sélectionnez votre adresse IP élastique (facultatif).

9.    Choisissez Confirm (Confirmer) pour enregistrer vos modifications.

Mon cluster se trouve dans un sous-réseau privé et je ne parviens pas à m'y connecter depuis mon ordinateur local

Votre cluster doit se trouver dans un sous-réseau public pour qu'il puisse se connecter à un ordinateur local.

Pour accéder à un cluster à partir d'un ordinateur local, effectuez les opérations suivantes :

1.    Ouvrez la console Amazon Redshift.

2.    Choisissez Clusters.

3.    Sélectionnez le cluster auquel vous essayez de vous connecter.

4.    Choisissez l'onglet Configuration pour ouvrir la page Cluster Properties (Propriétés du cluster).

5.    Choisissez View VPCs (Afficher les VPC) pour ouvrir la console Amazon VPC.

6.    Dans le panneau de navigation, choisissez Route Tables (Tables de routage).

7.    Sélectionnez la table de routage associée au sous-réseau dans lequel réside votre cluster.

8.    Choisissez Edit (Modifier).

9.    Choisissez Add route (Ajouter une route).
Pour le trafic IPv4, saisissez « 0.0.0.0/0 » dans le champ Destination, puis sélectionnez l'ID de la passerelle Internet dans le champ Target (Cible).
Pour le trafic IPv6, saisissez « ::/0 » dans le champ Destination, puis sélectionnez l'ID de la passerelle Internet dans le champ Target (Cible).

10.    Choisissez Save (Enregistrer).

Mon cluster ne peut pas être accessible par une instance Amazon Elastic Compute Cloud (Amazon EC2) qui se trouve dans un VPC différent

Créez une connexion d'appairage de VPC entre les VPC. Une connexion d’appairage de VPC permet à deux VPC de communiquer entre eux à l’aide d’adresses IP privées.

1.    Suivez les étapes de Création et acceptation d'une connexion d'appairage de VPC.

Remarque : assurez-vous que les blocs CIDR IPv4 ne se chevauchent pas si les VPC se trouvent sur le même compte AWS.

2.    Mettez à jour les deux tables de routage.

3.    Mettez à jour vos groupes de sécurité pour référencer des groupes VPC homologues.

4.    Sur l'instance EC2, testez la connexion d'appairage de VPC à l'aide d'un utilitaire de mise en réseau (tel que netcat). Par exemple :

nc -zv <hostname> <port>

Si la connexion d'appairage de VPC aboutit, vous obtenez le résultat suivant :

$ nc -zv example.123456789.us-east-1.redshift.amazonaws.com 5439
found 0 associations
found 1 connections:
     1:    flags=82<CONNECTED,PREFERRED>
    outif en0
    src xx.xxx.xxx.xx port 53396
    dst xx.xxx.xxx.xxx port 5439
    rank info not available
    TCP aux info available

Connection to example.123456789.us-east-1.redshift.amazonaws.com port 5439 [tcp/*] succeeded!