

 Amazon Redshift は、パッチ 198 以降、新しい Python UDF の作成をサポートしなくなります。既存の Python UDF は、2026 年 6 月 30 日まで引き続き機能します。詳細については、[ブログ記事](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)を参照してください。

# データベース接続認証情報のシークレットの作成
<a name="redshift-secrets-manager-integration-create"></a>

Secrets Manager のシークレットを作成して、Amazon Redshift でプロビジョニングされたクラスターまたは Redshift Serverless 名前空間とワークグループへの接続に使用される認証情報を保存できます。Amazon Redshift クエリエディタ v2 でクエリをスケジュールするときにも、このシークレットを使用できます。

**Secrets Manager コンソールを使用して Amazon Redshift でプロビジョニングされたクラスター内のデータベースのシークレットを作成するには**

1. Secrets Manager のコンソール ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) を開きます。

1. **[シークレット]** のリストに移動し、**[新しいシークレットを保存]** を選択します。

1. **[Amazon Redshift データウェアハウスの認証情報]** を選択します。シークレットを作成するには、次の手順に従って情報を入力します。
   + **[ユーザー名]** の **[認証情報]** に、データウェアハウスの管理ユーザーの名前を入力します。
   + **[パスワード]** の **[認証情報]** に、**[ユーザー名]** のパスワードを入力します。
   + **[暗号化キー]** で、暗号化キーを選択します。
   + **[データウェアハウス]** で、データが含まれている、Amazon Redshift でプロビジョニングされたクラスターを選択します。
   + **[シークレット名]** にシークレットの名前を入力します。
   + **[説明]** に、シークレットの説明を入力します。
   + **[タグ]** に、**Redshift** という単語を含む**タグキー**を入力します。このタグキーは、Amazon Redshift クエリエディタ v2 を使用してデータウェアハウスに接続する際にシークレットを一覧表示するために必要です。シークレットをマネジメントコンソールの AWS Secrets Manager の下に一覧表示するには、シークレットに文字列 **Redshift** で始まるタグキーが必要です。

1. シークレットに関する情報を引き続きいくつかのステップで入力してから、**[レビュー]** ステップで変更を**保存**します。

   認証情報、エンジン、ホスト、ポート、クラスター識別子の特定の値は、シークレットに保存されます。また、シークレットにはタグキー `Redshift` がタグ付けされます。

**Redshift Serverless コンソールを使用して Redshift Serverless 名前空間にデータベースのシークレットを作成するには**

1. AWS マネジメントコンソール にサインインして、[https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/) で Amazon Redshift コンソールを開きます。

1. **[Redshift サーバーレス]** を選択し、**[名前空間の設定]** に移動します。

1. シークレット認証情報を作成する名前空間を選択します。

1. **[アクション]** を開き、**[管理者認証情報の編集]** で編集を行います。

1. **[管理者パスワード]** で、**[AWS Secrets Manager の管理者認証情報の管理]** を選択します。

1. **[変更を保存]** を選択して、変更を保存します。

パスワードが正常に変更されたことを示すメッセージが表示されることを確認します。また、Secrets Manager コンソールでシークレットを表示することもできます。このシークレットと AWS Secrets Manager 接続方法を使用して、Redshift Serverless コンソールと Amazon Redshift クエリエディタ v2 でワークグループ内のデータベースに接続できます。クエリエディタ v2 ウェブアプリケーションでシークレットを一覧表示するには、文字列「Redshift」で始まるタグキーをシークレットに追加する必要があります。シークレットをマネジメントコンソールの AWS Secrets Manager の下に一覧表示するには、シークレットに文字列 **Redshift** で始まるタグキーが必要です。

**Secrets Manager コンソールを使用して Redshift Serverless 名前空間にデータベースのシークレットを作成するには**

1. Secrets Manager のコンソール ([https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)) を開きます。

1. **[シークレット]** のリストに移動し、**[新しいシークレットを保存]** を選択します。

1. **[Amazon Redshift データウェアハウスの認証情報]** を選択します。シークレットを作成するには、次の手順に従って情報を入力します。
   + **[ユーザー名]** の **[認証情報]** に、データウェアハウスの管理ユーザーの名前を入力します。
   + **[パスワード]** の **[認証情報]** に、**[ユーザー名]** のパスワードを入力します。
   + **[暗号化キー]** で、暗号化キーを選択します。
   + **[データウェアハウス]** で、データが含まれている Redshift Serverless 名前空間を選択します。
   + **[シークレット名]** にシークレットの名前を入力します。
   + **[説明]** に、シークレットの説明を入力します。
   + **[タグ]** に、**Redshift** という単語を含む**タグキー**を入力します。このタグキーは、Amazon Redshift クエリエディタ v2 を使用してデータウェアハウスに接続する際にシークレットを一覧表示するために必要です。シークレットをマネジメントコンソールの AWS Secrets Manager の下に一覧表示するには、シークレットに文字列 **Redshift** で始まるタグキーが必要です。

1. シークレットに関する情報を引き続きいくつかのステップで入力してから、**[レビュー]** ステップで変更を**保存**します。

   認証情報、データベース名、ホスト、ポート、名前空間、エンジンの特定の値は、シークレットに保存されます。また、シークレットにはタグキー `Redshift` がタグ付けされます。

**AWS CLI を使用して Redshift Serverless 名前空間にデータベースのシークレットを作成するには**

シークレットは、AWS CLI を使用して作成できます。1 つの方法は、次のように AWS CloudShell を使用して Secrets Manager AWS CLI コマンドを実行することです。次の手順に示す、AWS CLI コマンドを実行するための適切なアクセス許可を持っている必要があります。

1. AWS コンソールで、AWS CloudShell コマンドプロンプトを開きます。AWS CloudShell の詳細については、「AWS CloudShell ユーザーガイド」の「[AWS CloudShell とは](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)」を参照してください。**

1. 例えば、`MyTestSecret` シークレットの場合、Secrets Manager コマンドを入力して、データベースへの接続や Amazon Redshift クエリエディタ v2 クエリのスケジュール設定に使用するシークレットを保存します。次のコマンド内の値を環境の値に置き換えます。
   + {{admin}} は、データウェアハウスの管理者ユーザー名です。
   + {{passw0rd}} は、管理者のパスワードです。
   + {{dev}} は、データウェアハウス内の初期データベース名です。
   + {{region}} は、データウェアハウスを含む AWS リージョンです。例: `us-east-1`。
   + {{123456789012}} は AWS アカウントです。
   + {{namespace-id}} は、`c3928f0e-c889-4d2b-97a5-5738324d5d3e` に似た名前空間 ID です。この ID は、Amazon Redshift コンソールの詳細ページのサーバーレス名前空間で確認できます。

   ```
   aws secretsmanager create-secret \
   --name MyTestSecret \
   --description "My test secret created with the CLI." \
   --secret-string "{\"username\":\"{{admin}}\",\"password\":\"{{passw0rd}}\",\"dbname\":\"{{dev}}\",\"engine\":\"redshift\"}" \
   --tags "[{\"Key\":\"redshift-serverless:namespaceArn\",\"Value\":\"arn:aws:redshift-serverless:{{region}}:{{123456789012}}:namespace/{{namespace-id}}\"}]"
   ```