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 SQL base de données Postgre
Ce didacticiel crée une EC2 instance et une instance RDS de SQL base de données Postgre. Le didacticiel explique comment accéder à l'instance de base de données depuis l'EC2instance à l'aide d'un SQL client Postgre standard. À titre de 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 présentes dans la même instanceVPC, telles que EC2 des instances, peuvent accéder à l'instance de base de données, mais les ressources extérieures ne VPC peuvent pas y accéder.
Une fois le didacticiel terminé, il existe un sous-réseau public et un sous-réseau privé dans chaque zone de disponibilité de votreVPC. Dans une zone de disponibilité, l'EC2instance se trouve dans le sous-réseau public et l'instance de base de données 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.
Ce didacticiel vous permet de créer vos ressources en utilisant l'une des méthodes suivantes :
-
Utilisez le AWS Management Console ‐ Création d'une EC2 instance et Création d'une instance de SQL base de données Postgre
-
AWS CloudFormation À utiliser pour créer l'instance de base de données et l'EC2instance ‐ (Facultatif) Créez une VPC EC2 instance et une instance Postgre en SQL utilisant AWS CloudFormation
La première méthode utilise Easy create pour créer une SQL instance de base de données Postgre 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 RDS instance de base de données Amazon.
Rubriques
- Prérequis
- Création d'une EC2 instance
- Création d'une instance de SQL base de données Postgre
- (Facultatif) Créez une VPC EC2 instance et une instance Postgre en SQL utilisant AWS CloudFormation
- Connectez-vous à une instance de SQL base de données Postgre
- Supprimer l'EC2instance et l'instance de base de données
- (Facultatif) Supprimez l'EC2instance et l'instance de base de données créées avec CloudFormation
- (Facultatif) Connecter votre instance de base de données à une fonction Lambda
Prérequis
Avant de commencer, suivez les étapes détaillées dans les sections suivantes :
Création d'une EC2 instance
Créez une EC2 instance Amazon que vous utiliserez pour vous connecter à votre base de données.
Pour créer une instance EC2
Connectez-vous à la EC2 console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/
. -
Dans le coin supérieur droit de AWS Management Console, choisissez l'instance Région AWS dans laquelle vous souhaitez créer l'EC2instance.
-
Choisissez EC2Dashboard, puis Launch instance, comme illustré dans l'image suivante.
La page Lancer une instance s'ouvre.
-
Choisissez les paramètres suivants sur la page Lancer une instance.
-
Sous Name and tags (Nom et identifications), pour Name (Nom), saisissez
ec2-database-connect
. -
Sous Images d'applications et de systèmes d'exploitation (Amazon Machine Image), choisissez Amazon Linux, puis Amazon Linux 2023 AMI. Conservez les sélections par défaut pour les autres choix.
-
Sous Instance type (Type d'instance), choisissez t2.micro.
-
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 nouvelle paire de clés pour l'EC2instance Amazon, choisissez Create new key pair, puis utilisez la fenêtre Create key Pair 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 EC2 l'utilisateur Amazon.
-
Pour Autoriser SSH le trafic dans les paramètres réseau, choisissez la source des SSH connexions à l'EC2instance.
Vous pouvez choisir Mon adresse IP si l'adresse IP affichée est correcte pour les SSH connexions. Sinon, vous pouvez déterminer l'adresse IP à utiliser pour vous connecter à EC2 des instances à VPC l'aide de Secure Shell (SSH). Pour déterminer votre adresse IP publique, dans une autre fenêtre ou un autre onglet du navigateur, vous pouvez utiliser le service à l'adresse https://checkip.amazonaws.com
. Exemple d'adresse IP : 192.0.2.1/32. Dans de nombreux cas, vous pouvez vous connecter via un fournisseur de services Internet (ISP) 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
for SSH access, vous permettez à toutes les adresses IP d'accéder à vos EC2 instances publiques en utilisantSSH. 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écifiques pour accéder à vos EC2 instances à l'aide deSSH.L'image suivante présente un exemple de la section Paramètres réseau.
-
Laissez les valeurs par défaut pour les autres sections.
-
Consultez un résumé de la configuration de votre EC2 instance dans le panneau Résumé et, lorsque vous êtes prêt, choisissez Launch instance.
-
-
Sur la page État du lancement, notez l'identifiant de votre nouvelle EC2 instance, par exemple :
i-1234567890abcdef0
. -
Choisissez l'identifiant d'EC2instance pour ouvrir la liste des EC2 instances, puis sélectionnez votre EC2 instance.
-
Dans l'onglet Détails, notez les valeurs suivantes, dont vous avez besoin lorsque vous vous connectez en utilisant SSH :
-
Dans Résumé de l'instance, notez la valeur de Public IPv4 DNS.
-
Dans Détails de l'instance, notez la valeur pour Nom de la paire de clés.
-
-
Attendez que l'état Instance de votre EC2 instance soit défini sur En cours d'exécution avant de continuer.
Création d'une instance de SQL base de données Postgre
L'élément de base d'Amazon RDS est l'instance de base de données. C'est dans cet environnement que vous exécutez vos SQL bases de données Postgre.
Dans cet exemple, vous utilisez Easy create pour créer une instance de base de données exécutant le moteur de base de données Postgre avec une classe d'instance de SQL base de données db.t3.micro.
Pour créer une SQL instance de base de données Postgre avec Easy create
-
Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/
. Dans le coin supérieur droit de la RDS console Amazon, choisissez la AWS région dans laquelle vous souhaitez créer l'instance de base de données.
-
Dans la panneau de navigation, choisissez Databases (Bases de données).
-
Choisissez Create database (Créer une base de données) et veillez à choisir Easy create (Création facile).
-
Dans Configuration, choisissez Postgre SQL.
-
Pour DB instance size (Taille de l’instance de base de données), choisissez Free tier (Offre gratuite).
-
Pour l'identifiant de l'instance DB, saisissez
database-test1
. -
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.
-
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.
-
Pour configurer une connexion avec l'EC2instance que vous avez créée précédemment, ouvrez Configurer la EC2 connexion - facultatif.
Sélectionnez Se connecter à une ressource EC2 de calcul. Choisissez l'EC2instance que vous avez créée précédemment.
-
Ouvrez Afficher les paramètres par défaut pour 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 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.
-
-
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 RDS instance de base de données Amazon.
-
Dans la liste des bases de données, choisissez le nom de la nouvelle SQL instance de base de données Postgre 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.
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 une VPC EC2 instance et une instance Postgre en SQL utilisant AWS CloudFormation
Au lieu d'utiliser la console pour créer votre VPC instance et votre EC2 instance PostgreSQL, vous pouvez les 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 :
-
Téléchargez le CloudFormation modèle
-
Configurez vos ressources à l'aide de CloudFormation
Téléchargez le CloudFormation modèle
Un CloudFormation modèle est un fichier YAML texte JSON ou un fichier contenant les informations de configuration relatives aux ressources que vous souhaitez créer dans la pile. Ce modèle crée également un hôte VPC et un bastion pour vous avec l'RDSinstance.
Pour télécharger le fichier modèle, ouvrez le lien suivant, SQL CloudFormation Modèle Postgre
Sur la page Github, cliquez sur le bouton Télécharger le fichier brut pour enregistrer le YAML fichier modèle.
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 EC2 instance dans votre Compte AWS. Pour plus d'informations, consultez les paires de EC2 clés Amazon et les 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 :
-
Connectez-vous à la AWS CloudFormation console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/cloudformation.
-
Sélectionnez Créer une pile.
-
Dans la section Spécifier le modèle, sélectionnez Télécharger un fichier modèle depuis votre ordinateur, puis cliquez sur Suivant.
-
Dans la page Spécifier les détails de la pile, définissez les paramètres suivants :
-
Définissez le nom de la pile sur P ostgreSQLTest Stack.
-
Sous Paramètres, définissez les zones de disponibilité en sélectionnant trois zones de disponibilité.
-
Dans Configuration de l'hôte Linux Bastion, pour Nom de la clé, sélectionnez une paire de clés pour vous connecter à votre EC2 instance.
-
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 à EC2 des instances à 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
for SSH access, vous permettez à toutes les adresses IP d'accéder à vos EC2 instances publiques en utilisantSSH. 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écifiques pour accéder à vos EC2 instances à l'aide deSSH. -
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.
-
Définissez le nom de base de données sur
database-test1
. -
Dans Nom d'utilisateur principal de base de données, entrez le nom de l'utilisateur principal.
-
Définissez le mot de passe utilisateur principal de Manage DB avec Secrets Manager sur
false
pour ce didacticiel. -
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.
-
Dans Configuration du stockage de base de données, définissez le type de stockage de base de données sur gp2.
-
Dans Configuration de la surveillance des bases de données, définissez Enable RDS Performance Insights sur false.
-
Conservez tous les autres paramètres comme valeurs par défaut. Cliquez sur Suivant pour continuer.
-
-
Sur la page Configurer les options de pile, conservez toutes les options par défaut. Cliquez sur Suivant pour continuer.
-
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 notez RDSNSles 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.
Connectez-vous à une instance de SQL base de données Postgre
Vous pouvez vous connecter à l'instance de base de données en utilisant pgadmin ou psql. Cet exemple explique comment se connecter à une SQL instance de base de données Postgre à l'aide du client de ligne de commande psql.
Pour vous connecter à une instance de SQL base de données Postgre à l'aide de psql
-
Trouvez le point de terminaison (DNSnom) et le numéro de port de votre instance de base de données.
Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/
. -
Dans le coin supérieur droit de la RDS console Amazon, choisissez l'instance de base Région AWS de données.
-
Dans le panneau de navigation, choisissez Databases (Bases de données).
-
Choisissez le nom de l'SQLinstance de base de données Postgre pour afficher ses détails.
-
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 à l'EC2instance 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 EC2 l'utilisateur Amazon.
Nous vous recommandons de vous connecter à votre EC2 instance à l'aide deSSH. Si l'utilitaire SSH client est installé sous 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, qu'
ec2-database-connect-key-pair.pem
il soit stocké/dir1
sous Linux et que le public IPv4 DNS de votre EC2 instance l'estec2-12-345-678-90.compute-1.amazonaws.com
. Votre SSH commande 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
-
Obtenez les dernières corrections de bogues et mises à jour de sécurité en mettant à jour le logiciel de votre EC2 instance. 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
-
Pour installer le client de ligne de commande psql depuis Postgre SQL sur Amazon Linux 2023, exécutez la commande suivante :
sudo dnf install postgresql15
-
Connectez-vous à l'SQLinstance de base de données Postgre. Par exemple, saisissez la commande suivante dans une invite de commande sur un ordinateur client. Cette action vous permet de vous connecter à l'SQLinstance de base de données Postgre à l'aide du client psql.
Remplacez le point de terminaison (DNSnom) de l'instance de base de données
, remplacez le nom de base de donnéesendpoint
--dbname
auquel vous souhaitez vous connecter et remplacez le nom d'utilisateur principal que vous avez utilisé
.postgres
Indiquez le mot de passe principal que vous avez utilisé lorsque vous êtes invité à entrer un mot de passe.postgres
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 SQL instance de base de données Postgre, consultezConnexion à 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 SQL connexion Postgre non cryptée que lorsque le client et le serveur sont connectés VPC et que le réseau est fiable. Pour plus d'informations sur l'utilisation de connexions chiffrées, consultez Connexion à une SQL instance de base de données Postgre via SSL.
-
Exécutez SQL des commandes.
Par exemple, la SQL commande suivante indique la date et l'heure actuelles :
SELECT CURRENT_TIMESTAMP;
Supprimer l'EC2instance et l'instance de base de données
Après vous être connecté et exploré l'exemple d'EC2instance et l'instance de base de données que vous avez créées, 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'EC2instance
Connectez-vous à la EC2 console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/ec2/
. -
Dans le panneau de navigation, choisissez Instances.
-
Sélectionnez l'EC2instance, puis choisissez État de l'instance, Terminer l'instance.
-
Choisissez Résilier lorsque vous êtes invité à confirmer.
Pour plus d'informations sur la suppression d'une EC2 instance, consultez Résilier votre instance dans le guide de EC2 l'utilisateur Amazon.
Pour supprimer une instance de base de données sans instantané de base de données final
Connectez-vous à la RDS console Amazon AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/rds/
. -
Dans la panneau de navigation, choisissez Databases (Bases de données).
-
Choisissez l'instance de base de données que vous souhaitez supprimer.
-
Pour Actions, choisissez Supprimer.
-
Décochez Créer un instantané final et Conserver les sauvegardes automatiques.
-
Terminez la confirmation et choisissez Supprimer.
(Facultatif) Supprimez l'EC2instance et l'instance de base de données créées avec CloudFormation
Si vous aviez l'habitude AWS CloudFormation de créer des ressources, supprimez la CloudFormation pile une fois que vous vous êtes connecté à l'instance d'exemple et à l'EC2instance de base de données et que vous les avez explorées, afin qu'elles ne vous soient plus facturées.
Pour supprimer les CloudFormation ressources
-
Ouvrez la AWS CloudFormation console.
-
Sur la page Stacks du CloudFormationconsole, sélectionnez la pile racine (la pile sans nomVPCStack, BastionStack ouRDSNS).
-
Sélectionnez Delete (Supprimer).
-
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 instance de base de données à une fonction Lambda
Vous pouvez également connecter votre SQL instance de base RDS de données Postgre à 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 de plus amples informations, veuillez consulter Connexion automatique d'une fonction Lambda et d'une instance de base de données.