PostgreSQL への横串検索を使用した開始方法 - Amazon Redshift

PostgreSQL への横串検索を使用した開始方法

フェデレーテッドクエリを作成するには、次の一般的なアプローチに従います。

  1. Amazon Redshift クラスターから Amazon RDS または Aurora PostgreSQL DB インスタンスへの接続を設定します。

    これを行うには、RDS PostgreSQL または Aurora PostgreSQL DB インスタンスが Amazon Redshift クラスターからの接続を受け入れることができることを確認します。Amazon Redshift クラスターと Amazon RDS または Aurora PostgreSQL インスタンスは、同じ Virtual Private Cloud (VPC) とサブネットグループに含めることをお勧めします。これにより、Amazon Redshift クラスターのセキュリティグループを RDS または Aurora PostgreSQL DB インスタンスのセキュリティグループのインバウンドルールに追加できます。

    Amazon Redshift が RDS または Aurora PostgreSQL インスタンスへの接続を可能にする VPC ピアリングやその他のネットワーキングを設定することもできます。VPC ネットワークの詳細については、以下を参照してください。

    注記

    拡張 VPC ルーティングを有効にする必要がある場合があります。例えば、Amazon Redshift クラスターが RDS または Aurora PostgreSQL インスタンスとは異なる VPC にある場合や、両者は同じ VPC にあるが、ルートが拡張 VPC を必要とする場合です。そうしないと、横串検索の実行時にタイムアウトエラーが発生することがあります。

  2. AWS Secrets Manager で、RDS PostgreSQL と Aurora PostgreSQL データベース用のシークレットを設定します。次に、AWS Identity and Access Management (IAM) アクセスポリシーとロールのシークレットを参照します。詳細については、「フェデレーテッドクエリを使用するためのシークレットと IAM ロールの作成」を参照してください。

    注記

    クラスターで拡張 VPC ルーティングを使用している場合は、AWS Secrets Manager のインターフェイス VPC エンドポイントを設定する必要があります。これは、Amazon Redshift クラスターの VPC とサブネットが、パブリックな AWS Secrets Manager エンドポイントにアクセスできない場合に必要です。VPC インターフェイスエンドポイントを使用する場合、VPC 内の Amazon Redshift クラスターと AWS Secrets Manager の間の通信は、VPC からエンドポイントインターフェイスにプライベートにルーティングされます。詳細については、Amazon VPC ユーザーガイドの「インターフェイスエンドポイントの作成」を参照してください。

  3. 以前に作成した IAM ロールを Amazon Redshift クラスターに適用します。詳細については、「フェデレーテッドクエリを使用するためのシークレットと IAM ロールの作成」を参照してください。

  4. 外部スキーマを使用して RDS PostgreSQL と Aurora PostgreSQL データベースに接続します。詳細については、「CREATE EXTERNAL SCHEMA」を参照してください。フェデレーテッドクエリの使用方法の例については、「横串検索の使用例」を参照してください。

  5. RDS PostgreSQL と Aurora PostgreSQL データベースを参照する外部スキーマを参照する SQL クエリを実行します。