Création et connexion à une instance de base de données PostgreSQL - Amazon Relational Database Service

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 à une instance de base de données PostgreSQL

Ce didacticiel crée une instance EC2 et une instance de base de données RDS pour PostgreSQL. Le didacticiel explique comment accéder à l'instance de base de données à partir de l'instance EC2 à l'aide d'un client PostgreSQL standard. En tant que bonne pratique, ce didacticiel crée une instance de base de données privée 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 à l'instance de base de données, 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 instance de base de données 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 une instance de base de données 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 une instance PostgreSQL à l'aide de AWS CloudFormation

La première méthode utilise Easy create pour créer une instance de base de données PostgreSQL privée 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 de l'instance 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 plutôt Standard Create, vous pouvez spécifier d'autres options de configuration lorsque vous créez une instance de base de données. Ces options incluent les paramètres de disponibilité, de sécurité, de sauvegarde et de maintenance. Pour créer une instance de base de données publique, vous devez utiliser Création standard. Pour plus d’informations, veuillez consulter Création d'une instance de base de données Amazon RDS.

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 une instance de base de données PostgreSQL

La fondation de base d'Amazon RDS est l'instance de base de données. Il s'agit de l'environnement dans lequel vous exécutez vos bases de données PostgreSQL.

Dans cet exemple, vous utilisez Création facile pour créer une instance de base de données exécutant le moteur de base de données PostgreSQL avec une classe d'instance de base de données db.t3.micro.

Pour créer une instance de base de données PostgreSQL avec l'option Easy create (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 AWS région dans laquelle vous souhaitez créer l'instance de base de données.

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

  4. Choisissez Create database (Créer une base de données) et veillez à choisir Easy create (Création facile).

    Option Création facile
  5. Dans Configuration, choisissez PostgreSQL.

  6. Pour DB instance size (Taille de l’instance de base de données), choisissez Free tier (Offre gratuite).

  7. Pour l'identifiant de l'instance DB, saisissez database-test1.

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

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

    Page de création de base de données
  9. Pour utiliser un mot de passe principal généré automatiquement pour l'instance de base 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.

    Créez facilement des paramètres par défaut pour RDS for PostgreSQL.

    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 réglage contient Non dans cette colonne et que vous souhaitez un réglage différent, vous pouvez utiliser Création standard pour créer l'instance de base de données.

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

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

    Pour afficher l'identifiant principal et le mot de passe pour l'instance de base de données, choisissez View credential details (Afficher les informations d'identification).

    Vous pouvez utiliser l’identifiant et le mot de passe affichés pour vous connecter à l’instance de base 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 l'instance de base de données disponible, vous pouvez le faire en modifiant l'instance de base de données. Pour plus d'informations sur la modification d'une instance de base de données, veuillez consulter Modification d'une instance de base de données Amazon RDS.

  13. Dans la liste Bases de données, choisissez le nom de la nouvelle instance de base de données PostgreSQL pour afficher ses détails.

    L'instance de base de données a le statut Création en cours jusqu'à ce qu'elle soit prête à l'emploi.

    Détails d'instance de base de données

    Lorsque l’état passe à Available (Disponible), vous pouvez vous connecter à l’instance de base de données. En fonction de la quantité de stockage et de la classe d’instance de base de données, la mise à disposition de la nouvelle instance peut prendre jusqu’à 20 minutes.

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

Au lieu d'utiliser la console pour créer votre VPC, votre instance EC2 et votre instance PostgreSQL, vous pouvez utiliser la console 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 l'instance RDS.

Pour télécharger le fichier modèle, ouvrez le lien suivant, Modèle 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 PostgreSQL TestStack.

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

    3. Dans Configuration de l'hôte Linux Bastion, pour 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.t3.micro.

    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. Dans Configuration du stockage de base de données, définissez le type de stockage de base de données sur gp2.

    11. Dans Configuration de la surveillance des bases de données, définissez Enable RDS Performance Insights sur false.

    12. 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 RDSNS 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 à une instance de base de données PostgreSQL

Vous pouvez vous connecter à l'instance de base de données en utilisant pgadmin ou psql. Cet exemple explique comment se connecter à une instance de base de données PostgreSQL à l'aide du client de ligne de commande psql.

Pour se connecter à une instance de base de données PostgreSQL avec psql
  1. Trouvez le point de terminaison (nom DNS) et le numéro de port pour votre instance de base 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 la Région AWS pour l'instance de base de données.

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

    4. Choisissez le nom de l'instance de base de données PostgreSQL pour afficher ses détails.

    5. Dans l'onglet Connectivity & security (Connectivité et sécurité), copiez le point de terminaison. Notez également le numéro du port. Vous avez besoin du point de terminaison et du numéro de port pour vous connecter à l'instance de base de données.

      Connectez-vous à une instance DB PostgreSQL.
  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 ce faire, exécutez 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 psql depuis PostgreSQL sur Amazon Linux 2023, exécutez la commande suivante :

    sudo dnf install postgresql15
  5. Connectez-vous à une instance de base de données PostgreSQL. Par exemple, saisissez la commande suivante dans une invite de commande sur un ordinateur client. Cette action vous permet de vous connecter à l'instance de base de données PostgreSQL à l'aide du client psql.

    Remplacez le point de terminaison de l'instance de base de données (nom DNS) pour endpoint, remplacez le nom --dbname de la base de données à 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 saisi 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 à une instance de base de données PostgreSQL, consultez Connexion à une instance de base de données exécutant le moteur de base de SQL données Postgre. Si vous ne pouvez pas vous connecter à votre instance de base de données, consultez Résolution des problèmes de connexion à votre RDS instance for Postgre SQL.

    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 Connexion à une SQL instance de base de données Postgre via SSL.

  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 l'instance de base de données

Une fois que vous êtes connecté à l'exemple d'instance EC2 et à l'instance de base de données que vous avez créée, 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 une instance de base de données sans instantané de base de données final
  1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans la panneau de navigation, choisissez Databases (Bases de données).

  3. Choisissez l'instance de base de données que vous souhaitez supprimer.

  4. Pour Actions, choisissez Supprimer.

  5. Décochez Créer un instantané final et Conserver les sauvegardes automatiques.

  6. Terminez la confirmation et choisissez Supprimer.

(Facultatif) Supprimez l'instance EC2 et l'instance de base de données créées 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é les exemples d'instance EC2 et d'instance de base de données, afin qu'elles ne vous soient plus facturées.

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

  2. Sur la page Stacks du CloudFormationconsole, sélectionnez la pile racine (la pile sans le nom VPCStack BastionStack ou RDSNS).

  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, voir Supprimer une pile sur la AWS CloudFormation console dans le Guide de AWS CloudFormation l'utilisateur.

(Facultatif) Connecter votre instance de base de données à une fonction Lambda

Vous pouvez également connecter votre instance de base de données RDS for 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'une instance de base de données.