AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

Amazon Redshift Serverless から Aurora PostgreSQLにフェデレーテッドクエリを実行する方法を教えてください

0

Amazon Redshift Serverless(以下、Redshift)から、Aurora PostgreSQL(以下、Aurora)へフェデレーテッドクエリを実行したいのですが。 CREATE EXTERNAL SCHEMA で作成したスキーマのTablesが0と表示され、Auroraへの接続がうまくいっていないように見えます。 不足している設定があれば教えてください。

設定情報 ・RedshiftとAuroraは、同じVPCにあります ・Auroraへの接続情報は、SercretManagerに登録しました ・Redshiftに付与したIAMロールは、SercretManagerへアクセスをallowしました ・そのIAMロールの信頼されたエンティティには、RedshiftとRedshiftServerlessをallowで追加しました ・Auroraのセキュリティグループのインバウンドには、Redshiftのセキュリティグループを追加しました  ※プロビジョンドされたRedshiftでも試してみたんですが、そのときは、Redshiftのセキュリティグループではなく   クラスターのpublic ipをインバウンドに追加して、フェデレーテッドクエリの実行確認できています

質問済み 1年前2243ビュー
1回答
0
承認された回答

Aurora PostgreSQLでは試したことが無いのですが、Aurora MySQLだと同じ手順(以下のブログの手順)で設定することが可能そうでした。
https://blog.serverworks.co.jp/federated-query-from-redshift-to-aurora-mysql

profile picture
エキスパート
回答済み 1年前
  • 同じ方が書いているブログでAurora PostgreSQLに対してやっているやつがありました。 私の方でも試してみます。 https://blog.serverworks.co.jp/federated-query-from-redshift-to-aurora

  • コメントありがとうございます。 こちらのブログの方のように、AuroraのSGのインバウンドにRedshiftのSGをいれてみたんですが、ダメでして 少し古い情報だと https://dev.classmethod.jp/articles/amazon-redshift-20200417-federated-query-ga/ こちらの1.セキュリティグループの設定(落とし穴) 「VPCのCIDRを全て許可したり、Redshiftのセキュリティグループを指定してもダメでした。マニュアルにも記載がなく、私はこれで一日潰しました。」 とあり、私の状態はこれと同じなではないかと困っております。。。

  • こちらのドキュメントにある通りフェデレーテッドクエリの呼び出しに関する情報が取得できそうなのですが、こちらご確認いただけますか? https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_SVL_FEDERATED_QUERY.html

  • ありがとうございます!

    実行してみました。 ERROR: permission denied for relation svl_federated_query となってしまいました。 serverless構築時の管理ユーザでつないでいるのですが。

    プロビジョニングのRedshiftで同じものを実行したら、フェデレーテッドクエリ実行ログが返ってきました。

  • こちら私の環境で動作させることが出来ました。

    以下のre:Postの回答にあるようにパスワード暗号化の不一致が原因の可能性があると考えています。
    SercretManagerに登録しているユーザーのパスワードをMD5に変更することでフェデレーテッドクエリが成功することが確認できました。
    https://repost.aws/questions/QUyF4cjirnTXChKrHk7FzmHg/redshift-federated-query-to-postresql-failing-with-error-authentication-method-10-not-supported

    以下コマンド例です。
    こちらのコマンドをAurora PostgreSQLで実行してみてください。

    set password_encryption = 'md5';
    alter user postgres with password 'Mypassword1';
    

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ