Redshift
Redshift接続の設定方法と利用方法について説明します。
Codatumを使用して、Redshiftのデータに接続、クエリ、管理ができます。
この機能は現在プライベートプレビューです。この機能のご利用を希望される場合は、Codatumサポートまでお問い合わせください。
設定方法
Redshift連携は、RA3ノードのクラスターとサーバーレスを対象とします。
1. AWSコンソールで必要な準備を行う
1. DBユーザーの作成と必要な権限の付与
連携用のユーザーを作成し、権限を付与します。
- 使用したいスキーマに対する - USAGE権限をそのユーザーに付与する
- 使用したいテーブルに対する - SELECT権限をそのユーザーに付与する
- システムビュー - svv_table_infoに対する- SELECT権限をそのユーザーに付与する
2. Secrets ManagerでSecretの作成
- 接続したいData Warehouseを指定し、Secretを作成する 
- 作成したSecretに - RedshiftDataFullAccessというタグを追加する(Valueは空でOK)
3. IAMユーザーの作成とポリシーの付与
- 連携用のIAMユーザーを作成し、 以下のポリシーを付与する 
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DataAPIPermissions",
            "Effect": "Allow",
            "Action": [
                "redshift-data:BatchExecuteStatement",
                "redshift-data:ExecuteStatement",
                "redshift-data:CancelStatement",
                "redshift-data:ListStatements",
                "redshift-data:GetStatementResult",
                "redshift-data:DescribeStatement",
                "redshift-data:ListDatabases",
                "redshift-data:ListSchemas",
                "redshift-data:ListTables",
                "redshift-data:DescribeTable"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SecretsManagerPermissions",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "1-2で作成したSecretのARNを指定する"
            ],
            "Condition": {
                "StringLike": {
                    "secretsmanager:ResourceTag/RedshiftDataFullAccess": "*"
                }
            }
        },
        {
            "Sid": "ServiceLinkedRole",
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::*:role/aws-service-role/redshift-data.amazonaws.com/AWSServiceRoleForRedshift",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "redshift-data.amazonaws.com"
                }
            }
        }
    ]
}4. サーバーレスの場合のみ、追加で以下の対応が必要
- 連携するWorkgroupに - RedshiftDataFullAccessというタグを追加する(Valueは空でOK)
- IAMで以下のポリシーを作成し、IAMユーザーに付与する 
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ServerlessWorkgroupInfo",
            "Effect": "Allow",
            "Action": [
                "redshift-serverless:GetWorkgroup"
            ],
            "Resource": "*"
        }
    ]
}2. CodatumにRedshiftコネクションを登録する
最後に、CodatumでRedshiftコネクションを作成します。
- ワークスペース設定の- コネクションから- コネクションを追加を選択
- コネクション名を入力
- アクセスレベルを選択
- アカウントIDを入力- AWSのアカウントIDです。 
 
- リージョンを入力- Redshiftリソースが属しているリージョンです。 
 
- 接続タイプを選択- クラスターを選択した場合 - クラスター識別子を入力
- デフォルトデータベースを入力- 接続先のデータベースです。この設定は、クエリ可能なデータベース、スキーマ、テーブルを制限するものではありません。 
 
 
- サーバーレスを選択した場合 - サーバーレス 名前空間を入力
- サーバーレス ワークグループ名を入力
- デフォルトデータベースを入力- 接続先のデータベースです。この設定は、クエリ可能なデータベース、スキーマ、テーブルを制限するものではありません。 
 
 
 
- AWS アクセスキーを入力- ステップ1で準備したIAMユーザーのアクセスキーを使用します。 
 
- AWS シークレットアクセスキーを入力- ステップ1で準備したIAMユーザーのシークレットアクセスキーを使用します。 
 
- シークレットARNを入力- ステップ1で準備したSecretのシークレットARNを使用します。 
 
入力が完了したら、接続テストを行った後、コネクションを保存してください。
最終更新
役に立ちましたか?

