Création et connexion à un cluster de bases de données Aurora PostgreSQL - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création et connexion à un cluster de bases de données Aurora PostgreSQL

Ce didacticiel crée une instance EC2 et un cluster de bases de données Aurora PostgreSQL. Le didacticiel explique comment accéder au cluster de bases de données à partir de l'instance EC2 à l'aide d'un client PostgreSQL standard. En tant que bonne pratique, ce didacticiel crée un cluster de bases de donnée privé dans un cloud privé virtuel (VPC). Dans la plupart des cas, d'autres ressources du même VPC, telles que les instances EC2, peuvent accéder au cluster de bases de donnée, mais les ressources extérieures au VPC ne peuvent pas y accéder.

Une fois le tutoriel terminé, chaque zone de disponibilité de votre VPC comporte un sous-réseau public et un sous-réseau privé. Dans une zone de disponibilité, l'instance EC2 se trouve dans le sous-réseau public et l'instance de base de données se trouve dans le sous-réseau privé.

Important

La création d'un AWS compte est gratuite. Cependant, en suivant ce didacticiel, les AWS ressources que vous utilisez peuvent vous coûter cher. Vous pouvez supprimer ces ressources après avoir terminé le didacticiel si elles ne sont plus nécessaires.

Le diagramme suivant affiche la configuration obtenue au terme de ce didacticiel.

Instance EC2 et cluster de bases de données Aurora PostgreSQL.

Ce didacticiel vous permet de créer vos ressources en utilisant l'une des méthodes suivantes :

  1. Utilisez le AWS Management Console ‐ Étape 1 : Créer une instance EC2 et Étape 2 : Créer un cluster de bases de données Aurora PostgreSQL

  2. AWS CloudFormation À utiliser pour créer l'instance de base de données et l'instance EC2 ‐ (Facultatif) Créez un VPC, une instance EC2 et un cluster Aurora PostgreSQL à l'aide de AWS CloudFormation

La première méthode utilise Easy create pour créer un cluster de base de données Aurora PostgreSQL privé avec le. AWS Management Console Ici, vous spécifiez uniquement le type de moteur de base de données, la taille de l'instance de base de données et l'identifiant du cluster de base de données. L'option Easy create (Création facile) utilise les paramètres par défaut pour les autres options de configuration.

Lorsque vous utilisez la création standard à la place, vous pouvez spécifier d'autres options de configuration lorsque vous créez un cluster de base de données. Ces options incluent les paramètres de disponibilité, de sécurité, de sauvegarde et de maintenance. Pour créer un cluster de bases de données public, vous devez utiliser Création standard. Pour plus d’informations, veuillez consulter Création d'un cluster de base de données Amazon Aurora.

Prérequis

Avant de commencer, suivez les étapes détaillées dans les sections suivantes :

Étape 1 : Créer une instance EC2

Créez une instance Amazon EC2 que vous utiliserez pour vous connecter à votre base de données.

Pour créer une instance EC2
  1. Connectez-vous à la console Amazon EC2 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le coin supérieur droit du AWS Management Console, choisissez l'instance Région AWS dans laquelle vous souhaitez créer l'instance EC2.

  3. Choisissez Tableau de bord EC2, puis Lancer une instance, comme illustré dans l'image suivante.

    Tableau de bord EC2

    La page Lancer une instance s'ouvre.

  4. Choisissez les paramètres suivants sur la page Lancer une instance.

    1. Sous Name and tags (Nom et identifications), pour Name (Nom), saisissez ec2-database-connect.

    2. Sous Application et images OS (Amazon Machine Image), choisissez Amazon Linux, puis Amazon Linux 2023 AMI. Conservez les sélections par défaut pour les autres choix.

      Choisissez une AMI (Amazon Machine Image).
    3. Sous Instance type (Type d'instance), choisissez t2.micro.

    4. Sous Key pair (login) [Paire de clés (connexion)], choisissez une valeur Key pair name (Nom de paire de clés) pour utiliser une paire de clés existante. Pour créer une paire de clés pour l'instance Amazon EC2, choisissez Create new key pair (Créer une paire de clés), puis utilisez la fenêtre Create key pair (Créer une paire de clés) pour la créer.

      Pour plus d'informations sur la création d'une nouvelle paire de clés, consultez la section Créer une paire de clés dans le guide de l'utilisateur Amazon EC2.

    5. Pour Autoriser le trafic SSH dans Paramètres réseau, choisissez la source des connexions SSH vers l'instance EC2.

      Vous pouvez choisir My IP (Mon IP) si l'adresse IP affichée est correcte pour les connexions SSH. Sinon, vous pouvez déterminer l'adresse IP à utiliser pour vous connecter aux instances EC2 dans votre VPC en utilisant Secure Shell (SSH). Pour déterminer votre adresse IP publique, dans une fenêtre ou un onglet de navigateur différent, vous pouvez utiliser le service à l'adresse https://checkip.amazonaws.com. Exemple d'adresse IP : 192.0.2.1/32.

      Dans de nombreux cas, votre connexion s'effectue via un fournisseur de services Internet (FSI) ou derrière votre pare-feu sans adresse IP statique. Si tel est le cas, assurez-vous de déterminer la plage d'adresses IP utilisées par les ordinateurs clients.

      Avertissement

      Si vous utilisez 0.0.0.0/0 pour l'accès SSH, vous permettez à toutes les adresses IP d'accéder à vos instances EC2 publiques via SSH. Cette approche est acceptable pour une brève durée dans un environnement de test, mais n'est pas sécurisée pour les environnements de production. En production, autorisez uniquement une adresse IP ou une plage d'adresses spécifique pour accéder à vos instances EC2 à l'aide de SSH.

      L'image suivante présente un exemple de la section Paramètres réseau.

      Paramètres réseau pour une instance EC2.
    6. Laissez les valeurs par défaut pour les autres sections.

    7. Consultez un résumé de la configuration de votre instance EC2 dans le panneau Récapitulatif et, lorsque vous êtes prêt, choisissez Lancer l'instance.

  5. Sur la page Statut de lancement, notez l'identifiant de votre nouvelle instance EC2, tel que : i-1234567890abcdef0.

    Identifiant de l'instance EC2 sur la page Statut de lancement.
  6. Choisissez l'identifiant de l'instance EC2 pour ouvrir la liste des instances EC2, puis sélectionnez votre instance EC2.

  7. Dans l'onglet Détails, notez les valeurs suivantes. Vous en aurez besoin lorsque vous vous connecterez via SSH :

    1. Dans Résumé de l'instance, notez la valeur pour DNS IPv4 public.

      Nom DNS public EC2 dans l'onglet Détails de la page Instances.
    2. Dans Détails de l'instance, notez la valeur pour Nom de la paire de clés.

      Nom de la paire de clés EC2 dans l'onglet Détails de la page Instances.
  8. Attendez que l'état de l'instance de votre instance EC2 ait le statut En cours d'exécution avant de continuer.

Étape 2 : Créer un cluster de bases de données Aurora PostgreSQL

Dans cet exemple, vous utilisez l'option Création facile pour créer un cluster de bases de données Aurora PostgreSQL avec une classe d'instance de base de données db.t4g.large.

Pour créer un cluster de bases de données Aurora PostgreSQL avec l'option Création facile
  1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le coin supérieur droit de la console Amazon RDS, choisissez la Région AWS dans laquelle vous voulez créer le cluster de bases de données.

  3. Dans le panneau de navigation, choisissez Databases (Bases de données).

  4. Choisissez Créer une base de données et veillez à choisir Création facile.

    Créer une section de base de données : option de création facile sélectionnée.
  5. Dans Configuration, choisissez Aurora (compatible avec PostgreSQL) pour Type de moteur.

  6. Pour DB instance size (Taille de l'instance de base de données), choisissez Dev/Test.

  7. Pour Identifiant du cluster de base de données, saisissez database-test1.

    La page Create database (Créer une base de données) doit ressembler à l'image suivante.

    Section Configuration avec sélections.
  8. Pour Identifiant principal, saisissez un nom pour l'utilisateur ou conservez le nom par défaut (postgres).

  9. Pour utiliser un mot de passe principal généré automatiquement pour le cluster de bases de données, sélectionnez Générer automatiquement un mot de passe.

    Pour entrer votre mot de passe principal, veillez à ce que la case Générer automatiquement un mot de passe soit décochée, puis saisissez le même mot de passe dans Mot de passe principal et Confirmer le mot de passe.

  10. Pour établir une connexion avec l'instance EC2 que vous avez créée précédemment, ouvrez Configurer la connexion EC2 – facultatif.

    Sélectionnez Se connecter à une ressource de calcul EC2. Choisissez l'instance EC2 que vous avez créée précédemment.

    Configurez l'option de la connexion EC2.
  11. Ouvrez Afficher les paramètres par défaut pour Création facile.

    Paramètres par défaut de l'option Easy create (Création facile).

    Vous pouvez examiner les paramètres par défaut utilisés quand l'option Easy create (Création facile) est activée. La colonne Modifiable après la création de la base de données indique les options que vous pouvez modifier après avoir créé la base de données.

    • Si un paramètre contient Non dans cette colonne et que vous souhaitez un paramètre différent, vous pouvez utiliser Création standard pour créer le cluster de bases de données.

    • Si un paramètre contient Oui dans cette colonne et que vous souhaitez un paramètre différent, vous pouvez utiliser Création standard pour créer le cluster de bases de données ou vous pouvez modifier le cluster de bases de données après l'avoir créé pour modifier le paramètre.

  12. Choisissez Créer une base de données.

    Pour afficher le nom d'utilisateur principal et le mot de passe pour le cluster de bases de données, choisissez Afficher les détails des informations d'identification.

    Vous pouvez utiliser le nom d'utilisateur et le mot de passe affichés pour vous connecter au cluster de bases de données en tant qu'utilisateur principal.

    Important

    Vous ne pourrez pas afficher le mot de passe de l'utilisateur principal de nouveau. Si vous ne l'enregistrez pas, il sera peut-être nécessaire de le modifier.

    Si vous devez changer le mot de passe de l'utilisateur principal une fois le cluster de base de données disponible, vous pouvez le faire en modifiant le cluster de base de données. Pour de plus amples informations sur la modification d'un cluster, veuillez consulte Modification d'un cluster de bases de données Amazon Aurora.

  13. Dans la liste Bases de données, choisissez le nom du nouveau cluster de bases de données Aurora PostgreSQL pour afficher ses détails.

    L'instance d'enregistreur a le statut Création en cours jusqu'à ce que le cluster de bases de données soit prêt à l'emploi.

    Détails du cluster de bases de données indiquant la région, la zone de disponibilité et le statut.

    Lorsque le statut de l'instance d'enregistreur passe à Disponible, vous pouvez vous connecter au cluster de bases de données. En fonction de la quantité de stockage et de la classe d'instance de base de données, la mise à disposition du nouveau cluster de base de données peut prendre jusqu'à 20 minutes.

(Facultatif) Créez un VPC, une instance EC2 et un cluster Aurora PostgreSQL à l'aide de AWS CloudFormation

Au lieu d'utiliser la console pour créer votre VPC, votre instance EC2 et votre cluster de base de données Aurora PostgreSQL, vous pouvez l'utiliser AWS CloudFormation pour provisionner AWS des ressources en traitant l'infrastructure comme du code. Pour vous aider à organiser vos AWS ressources en unités plus petites et plus faciles à gérer, vous pouvez utiliser la fonctionnalité de pile AWS CloudFormation imbriquée. Pour plus d'informations, consultez les sections Création d'une pile sur la AWS CloudFormation console et Utilisation de piles imbriquées.

Important

AWS CloudFormation est gratuit, mais les ressources qui en CloudFormation découlent sont vivantes. Vous devez payer les frais d'utilisation standard pour ces ressources jusqu'à ce que vous y mettiez fin. Le total des frais facturés sera minime. Pour plus d'informations sur la manière dont vous pouvez minimiser les frais, consultez la section AWS Free Tier.

Pour créer vos ressources à l'aide de la AWS CloudFormation console, procédez comme suit :

  • Étape 1 : Téléchargez le CloudFormation modèle

  • Étape 2 : configurez vos ressources à l'aide de CloudFormation

Téléchargez le CloudFormation modèle

Un CloudFormation modèle est un fichier texte JSON ou YAML qui contient les informations de configuration relatives aux ressources que vous souhaitez créer dans la pile. Ce modèle crée également un VPC et un hôte bastion pour vous, ainsi que le cluster Aurora.

Pour télécharger le fichier modèle, ouvrez le lien suivant, Modèle Aurora CloudFormation PostgreSQL.

Sur la page Github, cliquez sur le bouton Télécharger le fichier brut pour enregistrer le modèle de fichier YAML.

Configurez vos ressources à l'aide de CloudFormation

Note

Avant de commencer ce processus, assurez-vous que vous disposez d'une paire de clés pour une instance EC2 dans votre Compte AWS. Pour plus d'informations, consultez Paires de clés Amazon EC2 et instances Linux.

Lorsque vous utilisez le AWS CloudFormation modèle, vous devez sélectionner les paramètres appropriés pour vous assurer que vos ressources sont créées correctement. Procédez de la façon suivante :

  1. Connectez-vous à la AWS CloudFormation console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudformation.

  2. Sélectionnez Créer une pile.

  3. Dans la section Spécifier le modèle, sélectionnez Télécharger un fichier modèle depuis votre ordinateur, puis cliquez sur Suivant.

  4. Dans la page Spécifier les détails de la pile, définissez les paramètres suivants :

    1. Définissez le nom de la pile sur AurPostgreSQL TestStack.

    2. Sous Paramètres, définissez les zones de disponibilité en sélectionnant deux zones de disponibilité.

    3. Dans Configuration de l'hôte Linux Bastion, dans le champ Nom de la clé, sélectionnez une paire de clés pour vous connecter à votre instance EC2.

    4. Dans les paramètres de configuration de l'hôte Linux Bastion, définissez la plage d'adresses IP autorisées sur votre adresse IP. Pour vous connecter aux instances EC2 de votre VPC à l'aide de Secure Shell (SSH), déterminez votre adresse IP publique à l'aide du service à l'adresse https://checkip.amazonaws.com. Exemple d'adresse IP : 192.0.2.1/32.

      Avertissement

      Si vous utilisez 0.0.0.0/0 pour l'accès SSH, vous permettez à toutes les adresses IP d'accéder à vos instances EC2 publiques via SSH. Cette approche est acceptable pour une brève durée dans un environnement de test, mais n'est pas sécurisée pour les environnements de production. En production, autorisez uniquement une adresse IP ou une plage d'adresses spécifique pour accéder à vos instances EC2 à l'aide de SSH.

    5. Dans Configuration générale de la base de données, définissez la classe d'instance de base de données sur db.t4g.large.

    6. Définissez le nom de base de données surdatabase-test1.

    7. Dans Nom d'utilisateur principal de base de données, entrez le nom de l'utilisateur principal.

    8. Définissez le mot de passe utilisateur principal de Manage DB avec Secrets Manager sur false pour ce didacticiel.

    9. Pour le mot de passe de la base de données, définissez le mot de passe de votre choix. N'oubliez pas ce mot de passe pour suivre les étapes suivantes du didacticiel.

    10. Définissez le déploiement multi-AZ surfalse.

    11. Conservez tous les autres paramètres comme valeurs par défaut. Cliquez sur Suivant pour continuer.

  5. Sur la page Configurer les options de pile, conservez toutes les options par défaut. Cliquez sur Suivant pour continuer.

  6. Sur la page Review stack, sélectionnez Soumettre après avoir vérifié les options de la base de données et de l'hôte Linux Bastion.

Une fois le processus de création des piles terminé, visualisez les piles avec leurs noms BastionStacket leurs APGNS pour noter les informations dont vous avez besoin pour vous connecter à la base de données. Pour plus d'informations, consultez la section Affichage des données et des ressources de la AWS CloudFormation pile sur le AWS Management Console.

Étape 3 : Se connecter à un cluster de bases de données Aurora PostgreSQL

Vous pouvez utiliser n'importe quelle application client PostgreSQL standard pour vous connecter au cluster de bases de données. Dans cet exemple, vous vous connectez à un cluster de bases de données Aurora PostgreSQL en utilisant le client de ligne de commande psql.

Pour se connecter à un cluster de bases de données Aurora PostgreSQL
  1. Trouvez le point de terminaison (nom DNS) et le numéro de port de l'instance d'enregistreur pour votre cluster de bases de données.

    1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/.

    2. Dans le coin supérieur droit de la console Amazon RDS, choisissez le cluster de base Région AWS de données.

    3. Dans le panneau de navigation, choisissez Databases (Bases de données).

    4. Choisissez le nom du cluster de bases de données Aurora PostgreSQL pour afficher ses détails.

    5. Dans l'onglet Connectivité et sécurité, copiez le point de terminaison de l'instance d'enregistreur. Notez également le numéro du port. Vous avez besoin du point de terminaison et du numéro de port pour vous connecter au cluster de bases de données.

      Onglet Connectivité et sécurité affichant le nom du point de terminaison.
  2. Connectez-vous à l'instance EC2 que vous avez créée précédemment en suivant les étapes décrites dans la section Connexion à votre instance Linux dans le guide de l'utilisateur Amazon EC2.

    Nous vous recommandons de vous connecter à votre instance EC2 en utilisant SSH. Si l'utilitaire client SSH est installé sur Windows, Linux ou Mac, vous pouvez vous connecter à l'instance à l'aide du format de commande suivant :

    ssh -i location_of_pem_file ec2-user@ec2-instance-public-dns-name

    Supposons, par exemple, que ec2-database-connect-key-pair.pem soit stocké dans /dir1 sur Linux et que le DNS IPv4 public de votre instance EC2 soit ec2-12-345-678-90.compute-1.amazonaws.com. Votre commande SSH se présenterait comme suit :

    ssh -i /dir1/ec2-database-connect-key-pair.pem ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com
  3. Obtenez les dernières corrections de bogues et mises à jour de sécurité en mettant à jour le logiciel sur votre instance EC2. Pour cela, utilisez la commande suivante.

    Note

    L'option -y installe les mises à jour sans demander de confirmation. Pour examiner les mises à jour avant de les installer, omettez cette option.

    sudo dnf update -y
  4. Pour installer le client de ligne de commande mysql depuis PostgreSQL sur Amazon Linux 2023, exécutez la commande suivante :

    sudo dnf install postgresql15
  5. Connectez-vous à un cluster de bases de données Aurora PostgreSQL. Par exemple, saisissez la commande suivante. Cette action vous permet de vous connecter au cluster de bases de données Aurora PostgreSQL à l'aide du client psql.

    Remplacez le point de terminaison de l'instance d'enregistreur pour endpoint, remplacez le nom de la base de données --dbname à laquelle vous voulez vous connecter pour postgres et remplacez le nom d'utilisateur principal que vous avez utilisé pour postgres. Indiquez le mot de passe principal que vous avez utilisé lorsque vous êtes invité à entrer un mot de passe.

    psql --host=endpoint --port=5432 --dbname=postgres --username=postgres

    Après avoir entré le mot de passe pour l'utilisateur, le résultat suivant devrait normalement s'afficher.

    psql (14.3, server 14.6) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. postgres=>

    Pour plus d'informations sur la connexion à un cluster de bases de données Aurora PostgreSQL, consultez Connexion à un cluster de bases de données Amazon Aurora PostgreSQL. Si vous ne pouvez pas vous connecter à votre cluster de base de données, consultez Impossible de se connecter à l'instance de base de données Amazon RDS.

    Pour des raisons de sécurité, une bonne pratique consiste à recommander d'utiliser des connexions chiffrées. N'utilisez une connexion PostgreSQL non chiffrée que quand le client et le serveur sont dans le même VPC et que le réseau est approuvé. Pour plus d'informations sur l'utilisation de connexions chiffrées, consultez Sécurisation des données Aurora PostgreSQL avec SSL/TLS.

  6. Exécutez des commandes SQL.

    Par exemple, la commande SQL suivante indique la date et l'heure actuelles :

    SELECT CURRENT_TIMESTAMP;

Étape 4 : Supprimer l'instance EC2 et le cluster de bases de données

Une fois que vous êtes connecté à l'exemple d'instance EC2 et au cluster de bases de données que vous avez créé, et que vous les avez explorés, supprimez-les afin qu'ils ne vous soient plus facturés.

Si vous aviez AWS CloudFormation l'habitude de créer des ressources, ignorez cette étape et passez à l'étape suivante.

Pour supprimer l'instance EC2
  1. Connectez-vous à la console Amazon EC2 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, sélectionnez Instances.

  3. Sélectionnez l'instance EC2 et choisissez État de l'instance, Résilier l'instance.

  4. Choisissez Résilier lorsque vous êtes invité à confirmer.

Pour plus d'informations sur la suppression d'une instance EC2, consultez Résilier votre instance dans le guide de l'utilisateur Amazon EC2.

Pour supprimer un cluster DB
  1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/.

  2. Choisissez Databases (Bases de données) et sélectionnez ensuite l'instance de base de données associée au cluster de base de données.

  3. Pour Actions, choisissez Supprimer.

  4. Sélectionnez Delete.

    Une fois que vous avez supprimé toutes les instances de base de données associées à un cluster de base de données, ce dernier est automatiquement supprimé.

(Facultatif) Supprimez l'instance EC2 et le cluster de base de données créés avec CloudFormation

Si vous aviez l'habitude de AWS CloudFormation créer des ressources, supprimez la CloudFormation pile après vous être connecté et exploré l'exemple d'instance EC2 et de cluster de base de données, afin qu'ils ne vous soient plus facturés.

Pour supprimer les CloudFormation ressources
  1. Ouvrez la AWS CloudFormation console.

  2. Sur la page Stacks de la CloudFormation console, sélectionnez la pile racine (la pile sans le nom VPCStack BastionStack ou APGNS).

  3. Sélectionnez Delete (Supprimer).

  4. Sélectionnez Supprimer la pile lorsque vous êtes invité à confirmer.

Pour plus d'informations sur la suppression d'une pile dans CloudFormation, consultez la section Supprimer une pile sur la AWS CloudFormation console dans le Guide de AWS CloudFormation l'utilisateur.

(Facultatif) Connecter votre cluster de bases de données à une fonction Lambda

Vous pouvez également connecter votre cluster de base de données Aurora PostgreSQL à une ressource de calcul sans serveur Lambda. Les fonctions Lambda vous permettent d'exécuter du code sans provisionner ni gérer l'infrastructure. Une fonction Lambda vous permet également de répondre automatiquement aux demandes d'exécution de code à n'importe quelle échelle, d'une douzaine d'événements par jour à des centaines par seconde. Pour plus d'informations, voir Connexion automatique d'une fonction Lambda et d'un cluster de bases de données Aurora.