Erste Schritte mit der Verwendung von Verbundabfragen an PostgreSQL mit AWS CloudFormation - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erste Schritte mit der Verwendung von Verbundabfragen an PostgreSQL mit AWS CloudFormation

Sie können Verbundabfragen verwenden, um über im Betrieb befindliche Datenbanken hinweg abzufragen. In diesem Leitfaden für die ersten Schritte können Sie die Einrichtung automatisieren, indem Sie einen AWS CloudFormation Beispielstapel verwenden, um eine föderierte Abfrage von einem Amazon Redshift Redshift-Cluster an eine serverlose Aurora PostgreSQL-Datenbank zu aktivieren. Sie können schnell loslegen, ohne zur Ressourcenbereitstellung SQL-Anweisungen ausführen zu müssen.

Der Stack erstellt ein externes Schema, das auf Ihre Aurora-PostgreSQL-Instance verweist, die Tabellen mit Beispieldaten enthält. Sie können Tabellen im externen Schema von Ihrem Redshift-Cluster abfragen.

Wenn Sie stattdessen mit Verbundabfragen beginnen möchten, indem Sie SQL-Anweisungen ausführen, um ein externes Schema einzurichten, ohne es zu verwenden, finden Sie unter. CloudFormation Erste Schritte mit der Verwendung von Verbundabfragen an PostgreSQL

Bevor Sie den CloudFormation Stack für Verbundabfragen ausführen, stellen Sie sicher, dass Sie über eine serverlose Amazon Aurora PostgreSQL-Compatible Edition-Datenbank mit aktivierter Daten-API verfügen. Sie können die Daten-API in den Datenbankeigenschaften aktivieren. Wenn Sie die Einstellung nicht finden können, überprüfen Sie, ob Sie eine Serverless-Instance von Aurora PostgreSQL ausführen. Stellen Sie außerdem sicher, dass Sie über einen Amazon-Redshift-Cluster verfügen, der RA3-Knoten verwendet. Wir empfehlen, dass sich Ihr Redshift-Cluster und die Serverless-Aurora-PostgreSQL-Instance in derselben Virtual Private Cloud (VPC) und Subnetzgruppe befinden. Auf diese Weise können Sie die Sicherheitsgruppe für den Amazon-Redshift-Cluster zu den eingehenden Regeln der Sicherheitsgruppe für Ihre Aurora-PostgreSQL-DB-Instance hinzufügen.

Weitere Informationen zu den ersten Schritten beim Einrichten eines Amazon Redshift Redshift-Clusters finden Sie unter Bereitgestellte Amazon Redshift Redshift-Cluster. Weitere Informationen zum Einrichten von Ressourcen mit finden Sie unter Was CloudFormation ist? AWS CloudFormation . Weitere Informationen zum Einrichten einer Aurora-DB-Cluster-Datenbank finden Sie unter Erstellen eines Aurora-DB-Clusters Serverless v1-DB-Cluster.

Starten eines CloudFormation Stacks für Redshift-Verbundabfragen

Gehen Sie wie folgt vor, um Ihren CloudFormation Stack für Amazon Redshift zu starten, um föderierte Abfragen zu aktivieren. Stellen Sie zuvor sicher, dass Sie Ihren Amazon-Redshift-Cluster und Ihre Serverless-Aurora-PostgreSQL-Instance eingerichtet haben.

Um Ihren CloudFormation Stack für Verbundabfragen zu starten
  1. Klicken Sie hier auf CFN-Stack starten, um den CloudFormation Dienst im zu starten. AWS Management Console

    Melden Sie sich an, wenn Sie dazu aufgefordert werden.

    Der Stack-Erstellungsprozess beginnt und verweist auf eine CloudFormation Vorlagendatei, die in Amazon S3 gespeichert ist. Eine CloudFormation Vorlage ist eine Textdatei im JSON-Format, die AWS Ressourcen deklariert, aus denen ein Stack besteht.

  2. Klicken Sie auf Next (Weiter) und geben Sie die Stack-Details ein.

  3. Geben Sie unter Parameters (Parameter) für den Cluster Folgendes ein:

    • Den Namen des Amazon-Redshift-Clusters, zum Beispiel ra3-consumer-cluster

    • Einen bestimmten Datenbanknamen, zum Beispiel dev

    • Den Namen eines Datenbankbenutzers, zum Beispiel consumeruser

    Geben Sie auch die Parameter für die Aurora-DB-Cluster-Datenbank ein, einschließlich Benutzer, Datenbankname, Port und Endpunkt. Wir empfehlen, einen Testcluster und eine Serverless-Testdatenbank zu verwenden, da der Stack mehrere Datenbankobjekte erstellt.

    Wählen Sie Next (Weiter).

    Die Stack-Optionen werden angezeigt.

  4. Klicken Sie auf Next (Weiter), um die Standardeinstellungen zu übernehmen.

  5. Wählen Sie unter Funktionen die Option Ich bestätige, dass AWS CloudFormation möglicherweise IAM-Ressourcen erstellt werden.

  6. Wählen Sie Stack erstellen aus.

Wählen Sie Stack erstellen aus. CloudFormation stellt die Vorlagenressourcen bereit, was etwa 10 Minuten dauert, und erstellt ein externes Schema.

Falls während der Erstellung des Stacks ein Fehler auftritt, unternehmen Sie folgende Schritte:

  • Auf der Registerkarte CloudFormation Ereignisse finden Sie Informationen, die Ihnen bei der Behebung des Fehlers helfen können.

  • Stellen Sie sicher, dass Sie den richtigen Namen, Datenbanknamen und den Datenbankbenutzernamen für den Redshift-Cluster eingegeben haben. Überprüfen Sie auch die Parameter für die Aurora-PostgreSQL-Instance.

  • Stellen Sie sicher, dass Ihr Cluster RA3-Knoten hat.

  • Stellen Sie sicher, dass sich Ihre Datenbank und der Redshift-Cluster im selben Subnetz und in derselben Sicherheitsgruppe befinden.

Abfragen von Daten aus dem externen Schema

Stellen Sie für den folgenden Vorgang sicher, dass Sie die erforderlichen Berechtigungen zum Ausführen von Abfragen im Cluster und der beschriebenen Datenbank besitzen.

So fragen Sie eine externe Datenbank mit Verbundabfrage ab
  1. Stellen Sie mit einem Client-Tool wie dem Redshift-Abfrage-Editor eine Verbindung zur Redshift-Datenbank her, die Sie beim Erstellen des Stacks eingegeben haben.

  2. Fragen Sie nach dem vom Stack erstellten externen Schema ab.

    select * from svv_external_schemas;

    In der Ansicht SVV_EXTERNAL_SCHEMAS werden Informationen über verfügbare externe Schemas zurückgegeben. In diesem Fall wird das vom Stack erstellte externe Schema zurückgegeben, myfederated_schema. Möglicherweise werden auch andere externe Schemas zurückgegeben, wenn Sie diese eingerichtet haben. In der Ansicht wird auch die zugeordnete Datenbank des Schemas zurückgegeben. Die Datenbank ist die Aurora-DB-Cluster-Datenbank, die Sie bei der Erstellung des Stacks eingegeben haben. Der Stack fügt der Aurora-DB-Cluster-Datenbank eine Tabelle hinzu, die aufgerufen wirdcategory, und eine weitere Tabelle namenssales.

  3. Führen Sie SQL-Abfragen für Tabellen im externen Schema aus, das auf Ihre Aurora PostgreSQL-Datenbank verweist. Das folgende Beispiel zeigt eine Abfrage.

    SELECT count(*) FROM myfederated_schema.category;

    Die Tabelle category gibt mehrere Datensätze zurück. Sie können auch Datensätze aus der Tabelle sales zurückgeben.

    SELECT count(*) FROM myfederated_schema.sales;

    Weitere Beispiele finden Sie unter Beispiele für die Verwendung einer Verbundabfrage.