Comment configurer un cluster de base de données Amazon Aurora provisionné afin de le rendre accessible au public ?

Lecture de 6 minute(s)
0

Je dispose d'un cluster de bases de données Amazon Aurora provisionné et je souhaite le configurer pour le rendre accessible au public. Je veux également sécuriser mon cluster de bases de données Aurora contre les connexions extérieures. Comment procéder ?

Brève description

Pour qu'une connexion à un cluster de bases de données Aurora soit possible directement depuis l'extérieur d'Amazon Virtual Private Cloud (Amazon VPC), les instances du cluster doivent satisfaire les exigences suivantes :

  • L'instance de base de données dispose d'une adresse IP publique.
  • L'instance de base de données s'exécute dans un sous-réseau accessible au public.

Outre la configuration de votre instance de base de données pour s'y connecter depuis l'extérieur d'un VPC, vous pouvez sécuriser les connexions à l'aide du protocole TLS (Transport Layer Security).

Solution

Définir le paramètre Accessible publiquement de l'instance de base de données sur Oui

Le paramètre Accessible publiquement d'une instance de base de données Amazon Relational Database Service (Amazon RDS) contrôle l'attribution d'une adresse IP publique à l'instance de base de données.

  • Si ce paramètre est défini sur Non, l'instance de base de données ne dispose pas d'adresse IP publique.
  • Si ce paramètre est défini sur Oui, l'instance de base de données possède à la fois une adresse IP publique et une adresse IP privée.

Pour modifier le paramètre Accessible publiquement de l'instance de base de données et le définir sur Oui, procédez comme suit :

  1. Ouvrez la console Amazon RDS.
  2. Sélectionnez Bases de données dans le panneau de navigation, puis sélectionnez l'instance de base de données.
  3. Cliquez sur Modifier.
  4. Sous Connectivité, développez la section Configuration supplémentaire, puis sélectionnez Accessible publiquement.
  5. Cliquez sur Continuer.
  6. Sélectionnez Modifier l'instance de base de données

Remarque : vous n'avez pas besoin de sélectionner Appliquer immédiatement. Pour plus d'informations sur la façon dont le paramètre Appliquer immédiatement peut affecter les temps d'arrêt, consultez la section Utilisation du paramètre Appliquer immédiatement.

Exécuter une instance de base de données dans un sous-réseau public

Un sous-réseau public est un sous-réseau associé à une table de routage contenant une route vers une passerelle Internet, généralement la route par défaut, 0.0.0.0/0. Cette route permet aux instances de base de données d'un sous-réseau de communiquer avec des ressources à l'extérieur du VPC.

Dans le cas d'instances de base de données Aurora, vous ne pouvez pas sélectionner un sous-réseau spécifique. Sélectionnez plutôt un groupe de sous-réseaux de base de données lorsque vous créez l'instance.

Un groupe de sous-réseaux de base de données est un ensemble de sous-réseaux appartenant à un VPC. Lors de la création de l'hôte sous-jacent, Amazon RDS sélectionne au hasard un sous-réseau dans le groupe de sous-réseaux de base de données. Généralement, un VPC contient à la fois des sous-réseaux publics et des sous-réseaux privés. Si le groupe de sous-réseaux de base de données contient des sous-réseaux publics et privés, vous pouvez lancer l'hôte sous-jacent dans un sous-réseau public ou un sous-réseau privé. Vous ne pouvez pas vous connecter à l'instance de base de données depuis l'extérieur du VPC si l'hôte sous-jacent est lancé dans un sous-réseau privé.

Créez plutôt un groupe de sous-réseaux de base de données avec des sous-réseaux ayant une configuration réseau similaire. Par exemple, créez un groupe de sous-réseaux de base de données pour les sous-réseaux publics et un second groupe de sous-réseaux de base de données pour les sous-réseaux privés. Pour plus d'informations, consultez la section Utilisation d'une instance de base de données dans un groupe de sous-réseaux.

Procédez comme suit pour vous assurer que le sous-réseau utilisé par votre instance de base de données dispose d'un accès Internet :

  1. Vérifiez que votre VPC est associé à une passerelle Internet.
  2. Vérifiez que tous les sous-réseaux du groupe de sous-réseaux de base de données utilisent une table de routage avec Internet Gateway.
    • Si le sous-réseau utilise la table de routage principale du VPC, ajoutez la route vers Internet Gateway (la destination est 0.0.0.0/0).
    • Si nécessaire, créez une table de routage personnalisée avec une route vers une passerelle Internet et associez-la au sous-réseau.
  3. Ajoutez l'adresse IP publique source que vous souhaitez connecter à l'instance de base de données dans les règles entrantes du groupe de sécurité.
  4. S'agissant du Type de règle, sélectionnez MySQL/Aurora ou PostgreSQL, en fonction de votre type de moteur.
  5. S'agissant de Source, entrez la plage CIDR manuellement ou sélectionnez Mon adresse IP pour vous connecter à l'instance de base de données sur le même poste de travail.

Sécuriser le cluster de bases de données contre des connexions extérieures au VPC

Comme le transfert de données se fait sur Internet, vous pouvez utiliser TLS pour chiffrer les connexions provenant de l'extérieur d'un VPC. Pour confirmer que vous utilisez le niveau de sécurité le plus élevé, utilisez le paramètre ssl-ca pour transmettre le certificat d'une autorité de certification et activez ensuite la validation du nom d'hôte. Utilisez les exemples de commandes suivants pour les connexions TLS, en fonction de la version d'Aurora que vous utilisez.

Amazon Aurora édition compatible avec MySQL 5.6 et versions ultérieures :

mysql -h test-aurora-56.cluster-xxxxxxxxxxxx.us-east-1.rds.amazonaws.com -u master_user --ssl-ca=rds-combined-ca-bundle.pem --ssl-verify-server-cert

Aurora compatible avec MySQL 5.7 et versions ultérieures :

mysql -h test-aurora-57.cluster-xxxxxxxxxxxx.us-east-1.rds.amazonaws.com -u master_user --ssl-ca=rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY

Amazon Aurora édition compatible avec PostgreSQL :

psql -h test-aurora-pg.cluster-xxxxxxxxxxxx.us-east-1.rds.amazonaws.com -p 5432 "dbname=postgres user=master_user sslrootcert=rds-combined-ca-bundle.pem sslmode=verify-full"

Remarque : vous pouvez également appliquer TLS pour les clusters de bases de données. S'agissant d'Aurora MySQL, vous devez appliquer TLS au niveau de l'utilisateur de base de données. S'agissant d'Aurora compatible avec PostgreSQL, définissez le paramètre rds.force_ssl sur 1.


Informations connexes

Utilisation de SSL/TLS avec des clusters de bases de données Aurora MySQL

Sécurisation des données Aurora PostgreSQL avec SSL

Comment me connecter à mon instance de base de données Amazon RDS à l'aide d'un hôte bastion depuis mon ordinateur Linux/macOS ?

Comment configurer des points de terminaison Aurora privés et publics dans la console Amazon RDS ?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an