Commencer à utiliser des requêtes fédérées dans PostgreSQL avec AWS CloudFormation - Amazon Redshift

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 dans PostgreSQL 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 PostgreSQL. Vous pouvez être rapidement opérationnel sans avoir à exécuter des instructions SQL pour allouer vos ressources.

La pile crée un schéma externe, faisant référence à votre instance Aurora PostgreSQL, 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 des instructions SQL pour configurer un schéma externe, sans utiliser CloudFormation, consultezCommencer à utiliser les requêtes fédérées vers PostgreSQL.

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 PostgreSQL Edition avec l'API Data activée. Vous pouvez activer l’API de données dans les propriétés de la base de données. Si vous ne trouvez pas le paramètre, vérifiez à nouveau que vous exécutez une instance sans serveur d’Aurora PostgreSQL. Assurez-vous également que vous disposez d’un cluster Amazon Redshift qui utilise des nœuds RA3. Nous recommandons que votre cluster Redshift et votre instance PostgreSQL d’Aurora sans serveur ou Aurora soient dans le même cloud privé virtuel (VPC) et le même groupe de sous-réseaux. De cette façon, 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 PostgreSQL.

Pour plus d'informations sur la mise en place d'un cluster Amazon Redshift, consultez la section Clusters 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 PostgreSQL sans serveur sont configurés.

Pour lancer votre CloudFormation stack pour les requêtes fédérées
  1. Cliquez sur Lancer la pile CFN 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 format JSON qui déclare AWS les ressources qui constituent une pile.

  2. Choisissez Next (Suivant) pour saisir les détails de la pile.

  3. 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.

  4. Choisissez Next (Suivant) pour accepter les paramètres par défaut.

  5. Sous Fonctionnalités, choisissez Je reconnais que cela AWS CloudFormation pourrait créer des ressources IAM.

  6. 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’instance Aurora PostgreSQL.

  • Assurez-vous que votre cluster possède des nœuds RA3.

  • 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
  1. 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.

  2. 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.

  3. Exécutez des requêtes SQL sur des tables dans le schéma externe qui fait référence à votre base de données Aurora PostgreSQL. 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 table sales.

    SELECT count(*) FROM myfederated_schema.sales;

    Pour obtenir plus d’exemples, consultez Exemples d’utilisation d’une requête fédérée.