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 des requêtes fédérées pour SQL Postgre avec AWS CloudFormation
Vous pouvez utiliser des requêtes fédérées pour interroger des bases de données opérationnelles. Dans ce guide de démarrage, vous pouvez automatiser la configuration en utilisant un exemple de AWS CloudFormation pile pour activer une requête fédérée depuis un cluster Amazon Redshift vers une base de données sans serveur Aurora Postgre. SQL Vous pouvez être rapidement opérationnel sans avoir à exécuter d'SQLinstructions pour provisionner vos ressources.
La pile crée un schéma externe, faisant référence à votre SQL instance Aurora Postgre, qui inclut des tables contenant des exemples de données. Vous pouvez interroger des tables dans le schéma externe à partir de votre cluster Redshift.
Si vous souhaitez plutôt commencer à utiliser des requêtes fédérées en exécutant SQL des instructions pour configurer un schéma externe, sans utiliser CloudFormation, consultezCommencer à utiliser des requêtes fédérées dans Postgre SQL.
Avant d'exécuter la CloudFormation pile pour les requêtes fédérées, assurez-vous que vous disposez d'une base de données sans serveur Amazon Aurora Postgre SQL -Compatible Edition avec les données activées. API Vous pouvez activer les données API dans les propriétés de la base de données. Si vous ne trouvez pas le paramètre, vérifiez que vous exécutez une instance sans serveur d'Aurora Postgre. SQL Assurez-vous également que vous disposez d'un cluster Amazon Redshift qui utilise des RA3 nœuds. Nous recommandons que le cluster Redshift et l'instance Aurora SQL Postgre sans serveur se trouvent dans le même cloud privé virtuel VPC () et le même groupe de sous-réseaux. Ainsi, vous pouvez ajouter le groupe de sécurité du cluster Amazon Redshift aux règles entrantes du groupe de sécurité pour votre instance de base de données Aurora SQL Postgre.
Pour plus d'informations sur la mise en place d'un cluster Amazon Redshift, consultez Commencer avec les entrepôts de données provisionnés Amazon Redshift. Pour plus d'informations sur la configuration des ressources avec CloudFormation, voir Qu'est-ce que c'est AWS CloudFormation ? . Pour plus d'informations sur la configuration d'une base de données de cluster de base de données Aurora, voir Création d'un cluster de base de données Aurora Serverless v1.
Lancement d'une CloudFormation pile pour les requêtes fédérées Redshift
Utilisez la procédure suivante pour lancer votre CloudFormation stack pour Amazon Redshift afin d'activer les requêtes fédérées. Avant de le faire, assurez-vous que votre cluster Amazon Redshift et votre instance Aurora SQL Postgre sans serveur sont configurés.
Pour lancer votre CloudFormation stack pour les requêtes fédérées
Cliquez sur Launch CFN stack
ici pour lancer le CloudFormation service dans le AWS Management Console. Si vous y êtes invité, connectez-vous.
Le processus de création de la pile démarre en faisant référence à un fichier CloudFormation modèle, qui est stocké dans Amazon S3. Un CloudFormation modèle est un fichier texte au JSON format qui déclare AWS les ressources qui constituent une pile.
Choisissez Next (Suivant) pour saisir les détails de la pile.
-
Sous Parameters (Paramètres), pour le cluster, saisissez les éléments suivants :
-
Le nom du cluster Amazon Redshift, par exemple
ra3-consumer-cluster
-
Un nom de base de données spécifique, par exemple
dev
-
Le nom d’un utilisateur de base de données, par exemple
consumeruser
Entrez également les paramètres de la base de données du cluster de base de données Aurora, notamment l'utilisateur, le nom de la base de données, le port et le point de terminaison. Nous vous recommandons d’utiliser un cluster de test et une base de données sans serveur de test, car la pile crée plusieurs objets de base de données.
Choisissez Suivant.
Les options de pile apparaissent.
-
Choisissez Next (Suivant) pour accepter les paramètres par défaut.
Sous Fonctionnalités, sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer IAM des ressources.
Sélectionnez Créer la pile.
Choisissez Create stack. CloudFormation approvisionne les ressources du modèle, ce qui prend environ 10 minutes, et crée un schéma externe.
Si une erreur se produit pendant la création de la pile, procédez comme suit :
Consultez l'onglet CloudFormation Événements pour obtenir des informations qui peuvent vous aider à résoudre l'erreur.
Assurez-vous d’avoir saisi le nom, le nom de base de données et le nom d’utilisateur de la base de données corrects pour le cluster Redshift. Vérifiez également les paramètres de l'SQLinstance Aurora Postgre.
Assurez-vous que votre cluster possède RA3 des nœuds.
Assurez-vous que votre base de données et votre cluster Redshift se trouvent dans le même sous-réseau et le même groupe de sécurité.
Interrogation de données à partir du schéma externe
Pour utiliser la procédure ci-dessous, vérifiez que vous disposez des autorisations requises pour exécuter des requêtes sur le cluster et sur la base de données décrits.
Pour interroger une base de données externe avec une requête fédérée
Connectez-vous à la base de données Redshift que vous avez entrée lorsque vous avez créé la pile, à l’aide d’un outil client tel que l’éditeur de requêtes Redshift.
Interrogez le schéma externe créé par la pile.
select * from svv_external_schemas;
La vue SVV_EXTERNAL_SCHEMAS renvoie des informations sur les schémas externes disponibles. Dans ce cas, le schéma externe créé par la pile est renvoyé,
myfederated_schema
. D’autres schémas externes peuvent également être renvoyés, si vous en avez configurés. La vue renvoie également la base de données associée du schéma. La base de données est la base de données du cluster de base de données Aurora que vous avez saisie lors de la création de la pile. La pile ajoute une table à la base de données du cluster de base de données Aurora, appeléecategory
, et une autre table appeléesales
.-
Exécutez SQL des requêtes sur les tables du schéma externe qui fait référence à votre SQL base de données Aurora Postgre. L’exemple suivant montre une requête.
SELECT count(*) FROM myfederated_schema.category;
La table
category
renvoie plusieurs enregistrements. Vous pouvez également renvoyer des enregistrements à partir de la tablesales
.SELECT count(*) FROM myfederated_schema.sales;
Pour obtenir plus d’exemples, consultez Exemples d’utilisation d’une requête fédérée.