

 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="metrics-enhanced-query-monitoring"></a>

このドキュメントでは、Amazon Redshift のプロビジョン済みのクラスターまたはサーバーレスワークグループのパフォーマンスとこれらに対して実行されるクエリを分析するための AWS マネジメントコンソール 機能である、クエリとデータベースモニタリングページについて説明します。

クエリとデータベースモニタリングページを使用すると、次のシナリオを調査できます。
+ 指定した期間内のデータウェアハウスメトリクスのモニタリング
+ クエリがデータウェアハウス全体にわたるパフォーマンスに与える影響
+ ロック待機時間、コンパイル時間、実行時間などのライフサイクルイベントへのクエリ実行時間の詳細の表示
+ 指定した期間内でリソースを最も多く使用するクエリを実行するユーザー
+ パッチイベントによるクエリのパフォーマンスへの影響のモニタリング

**Topics**
+ [アクセス許可](#metrics-enhanced-query-monitoring-permissions)
+ [クエリとデータベースモニタリングコンソール](#metrics-enhanced-query-monitoring-console)

## アクセス許可
<a name="metrics-enhanced-query-monitoring-permissions"></a>

コンソールへのアクセスに使用する AWS アカウント の権限は、**[クエリとデータベースモニタリング]** ページに表示されるクエリに影響を及ぼします。デフォルトでは、自分のクエリのみを表示できます。他のユーザーが所有するクエリを表示するには、自分のアカウントに `SYS:MONITOR` ロールを付与してください。**[クエリとデータベースモニタリング]** ページからユーザーが実行中のクエリを終了できるようにするには、ユーザーに `SYS:OPERATOR` 権限を付与します。

Amazon Redshift Serverless またはプロビジョニング済みクラスターの IAM ユーザーまたはロールに `sys:monitor` ロールを自動的に割り当てるには、次のコマンドを実行します。

```
create role monitor;
grant role sys:monitor to role monitor;
```

クエリのモニタリングに使用される IAM ロールを更新するには、次の手順を実行してください。

1. **[タグ]** タブを選択します。

1. **[タグを管理]** を選択します。

1. キーが **RedshiftDbRoles**、値が **monitor** のタグを追加します。

1. 変更を保存する

データベース認証情報をユーザーに追加するには、次のコマンドを実行します。

```
grant role sys:monitor to <username>
```

GRANT コマンドの使用方法については、「*Amazon Redshift データベースデベロッパーガイド*」の「[GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html)」を参照してください。

クエリのモニタリングを使用するには、IAM ユーザーに Amazon Redshift データプレーンへのアクセス許可が必要です。IAM ユーザーのアクセス許可ポリシーに、次のアクセス許可が含まれていることを確認してください。

```
{
    "Sid": "DataAPIPermissions",
    "Action": [
        "redshift-data:ExecuteStatement",
        "redshift-data:CancelStatement",
        "redshift-data:GetStatementResult",
        "redshift-data:DescribeStatement",
        "redshift-data:ListDatabases"
    ],
    "Effect": "Allow",
    "Resource": "arn:aws:redshift-serverless:us-west-2:123456789012:workgroup/01234567-89ab-cdef-0123-456789abcdef"
},
```

### IAM ID を使用した一時的な認証情報
<a name="metrics-enhanced-query-monitoring-permissions-temp-iam"></a>

このオプションは、クラスターに接続している場合のみ使用できます。この方法では、クエリとデータベースモニタリングは、ユーザー名を IAM アイデンティティにマッピングして、IAM アイデンティティとしてデータベースに接続するための一時パスワードを生成します。この方法を使用して接続するユーザーには、`redshift:GetClusterCredentialsWithIAM` への IAM アクセス許可を付与する必要があります。ユーザーがこの方法を使用できないようにするには、IAM ユーザーまたはロールを変更して、このアクセス許可を拒否します。

## クエリとデータベースモニタリングコンソール
<a name="metrics-enhanced-query-monitoring-console"></a>

このセクションでは、クエリとデータベースモニタリングコンソールページの使用について説明します。

クエリとデータベースモニタリングコンソールを使用すると、データウェアハウスのパフォーマンスの概要を迅速に把握できます。データウェアハウスのパフォーマンスを経時的にモニタリングして、データウェアハウスのプロビジョン済みクラスターまたは個別のクエリのパフォーマンスを調べて、ボトルネックやその他の改善すべき領域を最適な方法で特定できます。

**[クエリとデータベースモニタリング]** ページは、次の機能を提供します。
+ **セキュリティの向上** — 他のユーザーのクエリをモニタリングするには、昇格された権限が必要です。詳細については、「[アクセス許可](#metrics-enhanced-query-monitoring-permissions)」を参照してください。
+ **7 日間のクエリ履歴** - 7 日間のクエリ履歴へのアクセスが保証されます。
+ **クエリのモニタリング** — プロビジョン済みのクラスターとサーバーレスワークグループのクエリをユーザークエリレベルでモニタリングできます。
+ **クエリのトレンド分析** — 指定した条件に一致する類似のクエリのパフォーマンスを比較できます。

[クエリとデータベースモニタリング] ページにアクセスするには、以下を実行します。

1. [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/) で Amazon Redshift コンソールにサインインします。

1. ナビゲーションペインから **[クエリとデータベースモニタリング]** を選択します。

**[クエリとデータベースモニタリング]** コンソールページが次のとおり表示されます。

![\[Query and database monitoring dashboard showing data warehouse overview, performance summary, and profiler sections.\]](http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/images/metrics_eqm_homepage.png)


**[クエリとデータベースモニタリング]** ページには、次のコンポーネントがあります。
+ **データウェアハウスの概要** — プロビジョン済みのクラスターとサーバーレスワークグループの平均クエリパフォーマンスをモニタリングします。このページの統計でスパイクやアクティビティが高まる期間を調べると、特定のクラスターやワークグループのパフォーマンスの問題を迅速に確認できます。
+ **クエリパフォーマンスの要約** — プロビジョン済みの特定のクラスターとサーバーレスワークグループの平均クエリパフォーマンスをモニタリングします。**[データウェアハウスの概要]** リストでクラスターまたはワークグループのいずれかをクリックすると、**[クエリパフォーマンスの要約]** ページにアクセスすることもできます。

**Topics**
+ [クエリパフォーマンスの要約](#metrics-enhanced-query-monitoring-console-summary)
+ [クエリの詳細](#metrics-enhanced-query-monitoring-console-query-details)
+ [クエリパターン](#metrics-enhanced-query-monitoring-console-query-pattern)

### クエリパフォーマンスの要約
<a name="metrics-enhanced-query-monitoring-console-summary"></a>

**[クエリとデータベースモニタリング]** ページから **[クエリパフォーマンスの要約]** をクリックするか、**[データウェアハウスの概要]** ページからクラスターまたはワークグループをクリックすると、コンソールに個別のプロビジョン済みクラスターまたはサーバーレスワークグループのパフォーマンスの概要が表示されます。

![\[Query and database monitoring interface showing performance graph and query history for redshift-クラスター-1.\]](http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/images/metrics_eqm_clusterdetails.png)


このページには次のコンポーネントが提供されています。
+ **クラスターまたはワークグループのドロップダウン** — 分析するクラスターまたはワークグループを選択します。
+ **データウェアハウスのパフォーマンス** — このペインには、指定された期間内のクラスターまたはワークグループの履歴が表示され、クエリの各フェーズに費やされた時間が表示されます。上記の画像で 1 月 20 日の計画や実行時間の増加など、特定のクエリフェーズでスパイクが見られる場合は、この情報を使用してクエリのパフォーマンスに関する問題を特定できます。表示されるデフォルトの期間は過去 7 日間です。ただし、分析のニーズに応じて期間は調整できます。
+ **クエリ履歴** — このペインには、指定したフィルター期間内で実行されたすべてのクエリのパフォーマンス履歴が表示されます。この情報を使用して、個別のクエリのパフォーマンスをトラブルシューティングできます。特定のクエリをさらに詳細に分析するには、このグラフまたは **[データウェアハウスのパフォーマンス]** グラフから該当のクエリを選択できます。

  グラフのデータポイントにカーソルを合わせると、ポップアップが表示されます。このポップアップには、そのデータポイントの時間メトリクスの詳細が表示されます。データポイントにクエリデータが含まれている場合は、**[ドリルダウン]** をクリックすると、グラフの時間範囲をデータポイントの次に小さい時間単位に更新できます。これらの時間単位は次のとおりです。
  + 日
  + 時間
  + 15 分
  + 5 分
  + 1 分

  例えば、データポイントで **[ドリルダウン]** をクリックすると、グラフの範囲が 1 日間に変わります。もう一度 **[ドリルダウン]** をクリックすると、グラフの範囲は 1 時間に変わります。
+ **Query Profiler** - クエリのパフォーマンスをモニタリングするためのグラフィカルツール。詳細については、「[Query profiler](using-query-plan-profiler.md)」を参照してください。

### クエリの詳細
<a name="metrics-enhanced-query-monitoring-console-query-details"></a>

クラスターページまたはワークグループの詳細ページの **[データウェアハウスのパフォーマンス]** ペインまたは **[クエリ履歴]** ペインからクエリを選択すると、**[クエリの詳細]** ページが開きます。

![\[Query details page showing query information, elapsed time breakdown, and SQL details.\]](http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/images/metrics_eqm_querydetails.png)


**[クエリの詳細]** ページの詳細については、「[[クエリの詳細] ページ](using-query-plan-profiler.md#using-query-plan-profiler-ui-query-details)」を参照してください。

### クエリパターン
<a name="metrics-enhanced-query-monitoring-console-query-pattern"></a>

**[クエリパフォーマンスの要約]** ページの **[クエリ履歴]** ペインで **[クエリパターンを表示]** ボタンをクリックすると、同じパターンのクエリの履歴を表示できます。**[クエリパターン]** ページには、指定した SQL ステートメントが取得した過去 1 週間のすべてのクエリが表示されます。

![\[Query pattern page showing performance trend graph and history table of queries.\]](http://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/images/metrics_eqm_querypattern.png)


**[クエリパターン]** ページに記載されるコンポーネントは次のとおりです。
+ **クエリパターン** — 分析中のクエリを取得する SQL ステートメント
+ **クエリのパフォーマンストレンド分析** — クエリパターンが選択したすべてのクエリの経過時間を示す棒グラフ。結果は日別にグループ化されます。
+ **History of queries with the same pattern** (同じパターンのクエリの履歴) — クエリパターンが選択したクエリの各フェーズにかかった時間

**[クエリパターン]** ページを使用すると、次のインサイトを取得できます。
+ 毎日特定の時間に実行されるクエリのトレンド
+ データウェアハウスに対して定期的に実行するクエリの実行時間のスパイク