flaskRedshift

Redshift接続の設定方法と利用方法について説明します。

Codatumを使用して、Redshiftのデータに接続、クエリ、管理ができます。

circle-exclamation

設定方法

Redshift連携は、RA3ノードのクラスターとサーバーレスを対象とします。連携には、AssumeRoleを利用します。

1. AWSコンソールで必要な準備を行う

1. DBユーザーの作成と必要な権限の付与

連携用のユーザーを作成し、権限を付与します。

  • 使用したいスキーマに対する USAGE 権限をそのユーザーに付与する

  • 使用したいテーブルに対する SELECT 権限をそのユーザーに付与する

  • システムビュー svv_table_info に対する SELECT 権限をそのユーザーに付与する

2. Secrets ManagerでSecretの作成

  • 1で作成したDBユーザーのSecretを作成する

  • 作成したSecretに CodatumRedshiftAccess というタグを追加する(Valueは空でOK)

3. 連携用IAMロールの作成と許可ポリシー・信頼関係の設定

  • 連携用のIAMロールを作成し、 以下の許可ポリシーを設定する(Resourceに1-2で作成したSecretのARNを指定する)

4. サーバーレスの場合のみ、追加で以下の対応が必要

  • 連携するWorkgroupに CodatumRedshiftAccess というタグを追加する(Valueは空でOK)

  • IAMで以下の許可ポリシーを作成し、3で作成したロールに付与する

2. CodatumにRedshiftコネクションを登録する

最後に、CodatumでRedshiftコネクションを作成します。

  • ワークスペース設定コネクションからコネクションを追加を選択

  • コネクション名を入力

  • アクセスレベルを選択

  • アカウントID を入力

    • AWSのアカウントID

  • リージョン を入力

    • Redshiftリソースが属しているリージョン

  • 接続タイプ を選択

    • クラスターを選択した場合

      • クラスター識別子 を入力

      • デフォルトデータベース を入力

        • 接続先のデータベース。この設定は、クエリ可能なデータベース、スキーマ、テーブルを制限するものではありません。

    • サーバーレスを選択した場合

      • サーバーレス 名前空間 を入力

      • サーバーレス ワークグループ名 を入力

      • デフォルトデータベース を入力

        • 接続先のデータベース。この設定は、クエリ可能なデータベース、スキーマ、テーブルを制限するものではありません。

  • シークレットARN を入力

    • ステップ1-2で準備したSecretのシークレットARNを使用する

  • Role ARN を入力

    • ステップ1-3で準備したIAM RoleのARNを使用する

  • 信頼関係の設定情報で、RoleとExternal IDを生成し、それらをステップ1-3で作成した連携用ロールの信頼関係に指定する

入力と信頼関係の設定が完了したら接続テストを行い、その後コネクションを保存してください。

最終更新

役に立ちましたか?