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.
Commencer à utiliser Aurora DSQL
Amazon Aurora DSQL est une base de données relationnelle distribuée sans serveur optimisée pour les charges de travail transactionnelles. Dans les sections suivantes, vous allez apprendre à créer des clusters Aurora DSQL à région unique ou multirégionale, à vous y connecter et à créer et charger un exemple de schéma. Vous accéderez aux clusters avec votre base de données AWS Management Console et interagirez avec celle-ci à l'aide de psql
cet utilitaire. À la fin, vous disposerez d'un cluster Aurora DSQL fonctionnel configuré et prêt à être utilisé pour les charges de travail de test ou de production.
Rubriques
Prérequis
Avant de commencer à utiliser Aurora DSQL, assurez-vous de remplir les conditions préalables suivantes :
-
Votre identité IAM doit être autorisée à vous connecter au AWS Management Console.
-
Votre identité IAM doit répondre à l'un des critères suivants :
-
Accès pour effectuer n'importe quelle action sur n'importe quelle ressource de votre Compte AWS
-
L'autorisation IAM
iam:CreateServiceLinkedRole
et la possibilité d'accéder à l'action de politique IAMdsql:*
-
-
Si vous l'utilisez AWS CLI dans un environnement de type Unix, assurez-vous que les versions 3.8+ et
psql
14+ de Python sont installées. Pour vérifier les versions de votre application, exécutez les commandes suivantes.python3 --version psql --version
Si vous l'utilisez AWS CLI dans un autre environnement, assurez-vous de configurer manuellement les versions 3.8+ et
psql
14+ de Python. -
Si vous avez l'intention d'accéder à Aurora DSQL en utilisant AWS CloudShell les versions 3.8+ et
psql
14+ de Python sont fournies sans configuration supplémentaire. Pour plus d'informations AWS CloudShell, voir Qu'est-ce que c'est AWS CloudShell ? . -
Si vous avez l'intention d'accéder à Aurora DSQL à l'aide d'une interface graphique, utilisez DBeaver ou JetBrains DataGrip. Pour plus d’informations, consultez Accès à Aurora DSQL avec DBeaver et Accès à Aurora DSQL avec JetBrains DataGrip.
Accès à Aurora DSQL
Vous pouvez accéder à Aurora DSQL à l'aide des techniques suivantes. Pour savoir comment utiliser la CLI APIs, et SDKs, voirAccès à Aurora DSQL.
Rubriques
Accès à Aurora DSQL via AWS Management Console
Vous pouvez accéder au AWS Management Console pour Aurora DSQL à l'https://console.aws.amazon.com/dsql
Accès à Aurora DSQL à l'aide de clients SQL
Aurora DSQL utilise le protocole PostgreSQL. Utilisez votre client interactif préféré en fournissant un jeton d'authentification IAM signé comme mot de passe lors de la connexion à votre cluster. Un jeton d'authentification est une chaîne de caractères unique qu'Aurora DSQL génère dynamiquement à l'aide de AWS Signature Version 4.
Aurora DSQL utilise le jeton uniquement pour l'authentification. Le jeton n'affecte pas la connexion une fois celle-ci établie. Si vous essayez de vous reconnecter à l'aide d'un jeton expiré, la demande de connexion est refusée. Pour de plus amples informations, veuillez consulter Génération d'un jeton d'authentification dans Amazon Aurora DSQL.
Rubriques
Accès à Aurora DSQL avec psql (terminal interactif PostgreSQL)
L'psql
utilitaire est une interface basée sur un terminal pour PostgreSQL. Il vous permet de saisir des requêtes de manière interactive, de les envoyer à PostgreSQL et de voir les résultats des requêtes. Pour améliorer les temps de réponse aux requêtes, utilisez le client PostgreSQL version 17.
Téléchargez le programme d'installation de votre système d'exploitation depuis la page des téléchargements de PostgreSQLpsql
, consultez https://www.postgresql. org/docs/current/app
Si vous l'avez déjà AWS CLI installé, utilisez l'exemple suivant pour vous connecter à votre cluster. Vous pouvez soit utiliser AWS CloudShell, ce qui est fourni avec le psql
préinstallé, soit installer psql
directement.
# Aurora DSQL requires a valid IAM token as the password when connecting. # Aurora DSQL provides tools for this and here we're using Python. export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token \ --region
us-east-1
\ --expires-in 3600 \ --hostnameyour_cluster_endpoint
) # Aurora DSQL requires SSL and will reject your connection without it. export PGSSLMODE=require # Connect with psql, which automatically uses the values set in PGPASSWORD and PGSSLMODE. # Quiet mode suppresses unnecessary warnings and chatty responses but still outputs errors. psql --quiet \ --username admin \ --dbname postgres \ --hostyour_cluster_endpoint
Accès à Aurora DSQL avec DBeaver
DBeaver est un outil de base de données open source basé sur une interface graphique. Vous pouvez l'utiliser pour vous connecter à votre base de données et la gérer. Pour le télécharger DBeaver, consultez la page de téléchargement
Pour configurer une nouvelle connexion Aurora DSQL dans DBeaver
-
Choisissez Nouvelle connexion à la base de données.
-
Dans la fenêtre Nouvelle connexion à la base de données, sélectionnez PostgreSQL.
-
Dans l'onglet Paramètres de connexion/Main, choisissez Connect by : Host et entrez les informations suivantes.
-
Hôte : utilisez le point de terminaison de votre cluster.
Base de données — Entrez
postgres
Authentification — Choisissez
Database Native
Nom d'utilisateur — Entrez
admin
Mot de passe — Générez un jeton d'authentification. Copiez le jeton généré et utilisez-le comme mot de passe.
-
-
Ignorez les avertissements et collez votre jeton d'authentification dans le champ DBeaverMot de passe.
Note
Vous devez définir le mode SSL dans les connexions client. Aurora DSQL prend en charge
SSLMODE=require
. Aurora DSQL applique la communication SSL côté serveur et rejette les connexions non SSL. -
Vous devez être connecté à votre cluster et pouvez commencer à exécuter des instructions SQL.
Important
Les fonctionnalités administratives fournies par DBeaver les bases de données PostgreSQL (telles que Session Manager et Lock Manager) ne s'appliquent pas à une base de données en raison de son architecture unique. Bien qu'accessibles, ces écrans ne fournissent pas d'informations fiables sur l'état ou l'état de la base de données.
Expiration des informations d'authentification pour DBeaver
Les sessions établies restent authentifiées pendant une heure maximum ou jusqu'à ce que les DBeaver connexions soient déconnectées ou expirent. Pour établir de nouvelles connexions, fournissez un jeton d'authentification valide dans le champ Mot de passe des paramètres de connexion. Toute tentative d'ouverture d'une nouvelle session (par exemple, pour répertorier de nouvelles tables ou une nouvelle console SQL) entraîne une nouvelle tentative d'authentification. Si le jeton d'authentification configuré dans les paramètres de connexion n'est plus valide, la nouvelle session échoue et DBeaver invalide toutes les sessions ouvertes précédemment. Gardez cela à l'esprit lorsque vous choisissez la durée de votre jeton d'authentification IAM avec l'expires-in
option.
Accès à Aurora DSQL avec JetBrains DataGrip
JetBrains DataGrip est un IDE multiplateforme permettant de travailler avec le SQL et les bases de données, y compris PostgreSQL. DataGrip inclut une interface graphique robuste avec un éditeur SQL intelligent. Pour le télécharger DataGrip, rendez-vous sur la page de téléchargement
Pour configurer une nouvelle connexion Aurora DSQL dans JetBrains DataGrip
-
Choisissez Nouvelle source de données, puis PostgreSQL.
-
Dans l' Sources/General onglet Données, entrez les informations suivantes :
-
Hôte : utilisez le point de terminaison de votre cluster.
Port — Aurora DSQL utilise la valeur par défaut de PostgreSQL :
5432
Base de données — Aurora DSQL utilise la valeur par défaut de PostgreSQL
postgres
Authentification — Choisissez
User & Password
.Nom d'utilisateur — Entrez
admin
.Mot de passe — Générez un jeton et collez-le dans ce champ.
URL — Ne modifiez pas ce champ. Il sera rempli automatiquement en fonction des autres champs.
-
-
Mot de passe — Fournissez-le en générant un jeton d'authentification. Copiez le résultat du générateur de jetons et collez-le dans le champ du mot de passe.
Note
Vous devez définir le mode SSL dans les connexions client. Aurora DSQL prend en charge
PGSSLMODE=require
. Aurora DSQL applique la communication SSL côté serveur et rejette les connexions non SSL. -
Vous devez être connecté à votre cluster et pouvez commencer à exécuter des instructions SQL :
Important
Certaines vues fournies par DataGrip les bases de données PostgreSQL (telles que les sessions) ne s'appliquent pas à une base de données en raison de son architecture unique. Bien qu'accessibles, ces écrans ne fournissent pas d'informations fiables sur les sessions réellement connectées à la base de données.
Expiration des informations d'authentification
Les sessions établies restent authentifiées pendant une heure maximum ou jusqu'à ce qu'une déconnexion explicite ou un délai d'attente côté client se produise. Si de nouvelles connexions doivent être établies, un nouveau jeton d'authentification doit être généré et fourni dans le champ Mot de passe des propriétés de la source de données. Toute tentative d'ouverture d'une nouvelle session (par exemple, pour répertorier de nouvelles tables ou une nouvelle console SQL) entraîne une nouvelle tentative d'authentification. Si le jeton d'authentification configuré dans les paramètres de connexion n'est plus valide, cette nouvelle session échouera et toutes les sessions ouvertes précédemment deviendront invalides.
Utilisation du protocole PostgreSQL avec Aurora DSQL
PostgreSQL utilise un protocole basé sur des messages pour la communication entre les clients et les serveurs. Le protocole est pris en charge sur TCP/IP et également sur les sockets du domaine Unix. Le tableau suivant montre comment Aurora DSQL prend en charge le protocole PostgreSQL
PostgreSQL | Aurora SQL | Remarques |
---|---|---|
Rôle (également appelé utilisateur ou groupe) | Rôle de base de données | Aurora DSQL crée pour vous un rôle nomméadmin . Lorsque vous créez des rôles de base de données personnalisés, vous devez les admin utiliser pour les associer à des rôles IAM afin de vous authentifier lors de la connexion à votre cluster. Pour plus d'informations, voir Configurer des rôles de base de données personnalisés. |
Hôte (également appelé hostname ou hostspec) | Point de terminaison de cluster | Les clusters à région unique Aurora DSQL fournissent un point de terminaison géré unique et redirigent automatiquement le trafic en cas d'indisponibilité dans la région. |
Port | N/A — utiliser la valeur par défaut 5432 |
Il s'agit de la valeur par défaut de PostgreSQL. |
Base de données (dbname) | utiliser postgres |
Aurora DSQL crée cette base de données pour vous lorsque vous créez le cluster. |
Mode SSL | Le protocole SSL est toujours activé côté serveur | Dans Aurora DSQL, Aurora DSQL prend en charge le mode require SSL. Les connexions sans SSL sont rejetées par Aurora DSQL. |
Mot de passe | Jeton d'authentification | Aurora DSQL nécessite des jetons d'authentification temporaires plutôt que des mots de passe de longue durée. Pour en savoir plus, veuillez consulter la section Génération d'un jeton d'authentification dans Amazon Aurora DSQL. |
Étape 1 : Création d'un cluster Aurora DSQL à région unique
L'unité de base d'Aurora DSQL est le cluster, dans lequel vous stockez vos données. Dans le cadre de cette tâche, vous créez un cluster en un seul Région AWS.
Pour créer un cluster à région unique dans Aurora DSQL
-
Connectez-vous à la console Aurora AWS Management Console DSQL et ouvrez-la à https://console.aws.amazon.com/dsql
l'adresse. -
Choisissez Create cluster, puis Single-Region.
-
(Facultatif) Dans les paramètres du cluster, sélectionnez l'une des options suivantes :
-
Sélectionnez Personnaliser les paramètres de chiffrement (avancés) pour choisir ou créer un AWS KMS key.
-
Sélectionnez Activer la protection contre la suppression pour empêcher une opération de suppression de votre cluster. Par défaut, la protection contre la suppression est sélectionnée.
-
-
(Facultatif) Dans Balises, choisissez ou entrez une balise pour ce cluster.
-
Choisissez Créer un cluster.
Étape 2 : Connectez-vous à votre cluster Aurora DSQL
Un point de terminaison de cluster est automatiquement généré lorsque vous créez un cluster Aurora DSQL en fonction de son ID de cluster et de sa région. Le format de dénomination est
. Un client utilise le point de terminaison pour créer une connexion réseau avec votre cluster.clusterid
.dsql.region
.on.aws
L'authentification est gérée via IAM, vous n'avez donc pas besoin de stocker les informations d'identification dans la base de données. Un jeton d'authentification est une chaîne de caractères unique générée dynamiquement. Le jeton est uniquement utilisé pour l'authentification et n'affecte pas la connexion une fois celle-ci établie. Avant de tenter de vous connecter, assurez-vous que votre identité IAM dispose de l'dsql:DbConnectAdmin
autorisation requise, comme décrit dansPrérequis.
Note
Pour optimiser la vitesse de connexion à la base de données, utilisez le client PostgreSQL version 17 et PGSSLNEGOTIATION
configurez-le sur direct :. PGSSLNEGOTIATION=direct
Pour vous connecter à votre cluster à l'aide d'un jeton d'authentification
-
Dans la console Aurora DSQL, choisissez le cluster auquel vous souhaitez vous connecter.
-
Choisissez Se connecter.
-
Copiez le point de terminaison depuis le point de terminaison (hôte).
-
Assurez-vous que vous vous connectez en tant qu'administrateur est sélectionné dans la section Jeton d'authentification (mot de passe).
-
Copiez le jeton d'authentification généré. Ce jeton est valide pendant 15 minutes.
-
Sur la ligne de commande du système d'exploitation, utilisez la commande suivante pour démarrer
psql
et vous connecter à votre cluster.
Remplacez-le par le point de terminaison du cluster que vous avez copié précédemment.your_cluster_endpoint
PGSSLMODE=require \ psql --dbname postgres \ --username admin \ --host
your_cluster_endpoint
Lorsque vous êtes invité à saisir un mot de passe, entrez le jeton d'authentification que vous avez copié précédemment. Si vous essayez de vous reconnecter à l'aide d'un jeton expiré, la demande de connexion est refusée. Pour de plus amples informations, veuillez consulter Génération d'un jeton d'authentification dans Amazon Aurora DSQL.
-
Appuyez sur Entrée. Vous devriez voir une invite PostgreSQL s'afficher.
postgres=>
Si vous recevez un message d'erreur de refus d'accès, assurez-vous que votre identité IAM dispose de l'
dsql:DbConnectAdmin
autorisation requise. Si vous êtes autorisé et que vous continuez à recevoir des erreurs de refus d'accès, consultez Résoudre les problèmes liés à l'IAM et Comment puis-je résoudre les problèmes liés aux refus d'accès ou aux erreurs de fonctionnement non autorisées avec unepolitique IAM ? .
Étape 3 : Exécuter des exemples de commandes SQL dans Aurora DSQL
Testez votre cluster Aurora DSQL en exécutant des instructions SQL. Les exemples d'instructions suivants nécessitent les fichiers de données nommés department-insert-multirow.sql
etinvoice.csv
, que vous pouvez télécharger depuis le référentiel aurora-dsql-samplesaws-samples/
Pour exécuter des exemples de commandes SQL dans Aurora DSQL
-
Créez un schéma nommé
example
.CREATE SCHEMA example;
-
Créez une table de factures qui utilise un UUID généré automatiquement comme clé primaire.
CREATE TABLE example.invoice( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), created timestamp, purchaser int, amount float);
-
Créez un index secondaire qui utilise la table vide.
CREATE INDEX ASYNC invoice_created_idx on example.invoice(created);
-
Créez un tableau des départements.
CREATE TABLE example.department(id INT PRIMARY KEY UNIQUE, name text, email text);
-
Utilisez la commande
psql \include
pour charger le fichier nommédepartment-insert-multirow.sql
que vous avez téléchargé depuis le dépôt aurora-dsql-samplesaws-samples/sur. GitHub Remplacez my-path
par le chemin d'accès à votre copie locale.\include
my-path
/department-insert-multirow.sql -
Utilisez la commande
psql \copy
pour charger le fichier nomméinvoice.csv
que vous avez téléchargé depuis le dépôt aurora-dsql-samplesaws-samples/sur. GitHub Remplacez my-path
par le chemin d'accès à votre copie locale.\copy example.invoice(created, purchaser, amount) from
my-path
/invoice.csv csv -
Interrogez les départements et triez-les en fonction de leurs ventes totales.
SELECT name, sum(amount) AS sum_amount FROM example.department LEFT JOIN example.invoice ON department.id=invoice.purchaser GROUP BY name HAVING sum(amount) > 0 ORDER BY sum_amount DESC;
L'exemple de résultat suivant montre que le département 3 enregistre le plus de ventes.
name | sum_amount --------------------------+-------------------- Example Department Three | 54061.67752854594 Example Department Seven | 53869.65965365204 Example Department Eight | 52199.73742066634 Example Department One | 52034.078869900826 Example Department Six | 50886.15556256385 Example Department Two | 50589.98422247931 Example Department Five | 49549.852635496005 Example Department Four | 49266.15578027619 (8 rows)
Étape 4 : Création d'un cluster multirégional
Lorsque vous créez un cluster multirégional, vous spécifiez les régions suivantes :
- Région éloignée
-
Il s'agit de la région dans laquelle vous créez un deuxième cluster. Vous créez un deuxième cluster dans cette région et vous le connectez à votre cluster initial. Aurora DSQL réplique toutes les écritures du cluster initial vers le cluster distant. Vous pouvez lire et écrire sur n'importe quel cluster.
- Région témoin
-
Cette région reçoit toutes les données écrites dans le cluster multirégional. Toutefois, les régions témoins n'hébergent pas de points de terminaison clients et ne fournissent pas d'accès aux données utilisateur. Une fenêtre limitée du journal des transactions chiffré est conservée dans les régions témoins. Ce journal facilite la restauration et soutient le quorum transactionnel en cas d'indisponibilité d'une région.
L'exemple suivant montre comment créer un cluster initial, créer un deuxième cluster dans une région différente, puis comparer les deux clusters pour créer un cluster multirégional. Il montre également la réplication d'écriture entre régions et les lectures cohérentes à partir des deux points de terminaison régionaux.
Pour créer un cluster multirégional
-
Connectez-vous à la console Aurora AWS Management Console DSQL et ouvrez-la à https://console.aws.amazon.com/dsql
l'adresse. -
Dans le panneau de navigation, choisissez Clusters.
-
Choisissez Créer un cluster, puis Multi-région.
-
(Facultatif) Dans les paramètres du cluster, sélectionnez l'une des options suivantes pour votre cluster initial :
-
Sélectionnez Personnaliser les paramètres de chiffrement (avancés) pour choisir ou créer un AWS KMS key.
-
Sélectionnez Activer la protection contre la suppression pour empêcher une opération de suppression de votre cluster. Par défaut, la protection contre la suppression est sélectionnée.
-
-
Dans les paramètres multirégionaux, choisissez les options suivantes pour votre cluster initial :
-
Dans Witness Region, choisissez une région. Actuellement, seules les régions basées aux États-Unis sont prises en charge pour les régions témoins dans les clusters multirégionaux.
-
(Facultatif) Dans ARN du cluster de région distante, entrez un ARN pour un cluster existant dans une autre région. S'il n'existe aucun cluster pouvant servir de deuxième cluster dans votre cluster multirégional, terminez la configuration après avoir créé le cluster initial.
-
-
(Facultatif) Choisissez des balises pour votre cluster initial.
-
Choisissez Create cluster pour créer votre cluster initial. Si vous n'avez pas saisi d'ARN à l'étape précédente, la console affiche la notification de configuration du cluster en attente.
-
Dans la notification Configuration du cluster en attente, choisissez Compléter la configuration du cluster multirégional. Cette action initie la création d'un deuxième cluster dans une autre région.
-
Choisissez l'une des options suivantes pour votre deuxième cluster :
-
Ajouter un ARN de cluster de régions distantes : choisissez cette option s'il existe un cluster et que vous souhaitez qu'il s'agisse du deuxième cluster de votre cluster multirégional.
-
Créer un cluster dans une autre région : choisissez cette option pour créer un deuxième cluster. Dans Région distante, choisissez la région pour ce deuxième cluster.
-
-
Choisissez Créer un cluster dans
your-second-region
, où seyour-second-region
trouve l'emplacement de votre deuxième cluster. La console s'ouvre dans votre deuxième région. -
(Facultatif) Choisissez les paramètres de cluster pour votre deuxième cluster. Par exemple, vous pouvez choisir un AWS KMS key.
-
Choisissez Create cluster pour créer votre deuxième cluster.
-
Choisissez Peer in
initial-cluster-region
, où seinitial-cluster-region
trouve la région qui héberge le premier cluster que vous avez créé. -
Lorsque vous y êtes invité, choisissez Confirmer. Cette étape termine la création de votre cluster multirégional.
Pour vous connecter à votre deuxième cluster
-
Ouvrez la console Aurora DSQL et choisissez la région pour votre deuxième cluster.
-
Choisissez Clusters.
-
Sélectionnez la ligne correspondant au deuxième cluster de votre cluster multirégional.
-
Dans Actions, sélectionnez Ouvrir dans CloudShell.
-
Choisissez Connect en tant qu'administrateur.
-
Choisissez Lancer CloudShell.
-
Cliquez sur Exécuter.
-
Créez un exemple de schéma en suivant les étapes décrites dansÉtape 3 : Exécuter des exemples de commandes SQL dans Aurora DSQL.
Exemples de transactions
CREATE SCHEMA example; CREATE TABLE example.invoice(id UUID PRIMARY KEY DEFAULT gen_random_uuid(), created timestamp, purchaser int, amount float); CREATE INDEX ASYNC invoice_created_idx on example.invoice(created); CREATE TABLE example.department(id INT PRIMARY KEY UNIQUE, name text, email text);
-
Utilisez
include
les commandespsql
copy
et pour charger des exemples de données. Pour de plus amples informations, veuillez consulter Étape 3 : Exécuter des exemples de commandes SQL dans Aurora DSQL.\copy example.invoice(created, purchaser, amount) from samples/invoice.csv csv \include samples/department-insert-multirow.sql
Pour interroger les données du deuxième cluster depuis la région hébergeant votre cluster initial
-
Dans la console Aurora DSQL, choisissez la région pour votre cluster initial.
-
Choisissez Clusters.
-
Sélectionnez la ligne correspondant au deuxième cluster de votre cluster multirégional.
-
Dans Actions, sélectionnez Ouvrir dans CloudShell.
-
Choisissez Connect en tant qu'administrateur.
-
Choisissez Lancer CloudShell.
-
Cliquez sur Exécuter.
-
Recherchez les données que vous avez insérées dans le deuxième cluster.
SELECT name, sum(amount) AS sum_amount FROM example.department LEFT JOIN example.invoice ON department.id=invoice.purchaser GROUP BY name HAVING sum(amount) > 0 ORDER BY sum_amount DESC;