すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:セッション管理機能の使用

最終更新日:Mar 01, 2026

Database Autonomy Service (DAS) は、ApsaraDB RDS for MySQL インスタンスのセッション管理を提供します。アクティブなセッション、異常なセッション、アクセスソース、SQL ステートメントをリアルタイムで監視します。セッションの終了、SQL のスロットル、SQL 診断の実行、SQL の最適化をコンソールから直接実行できます。

前提条件

ご利用の RDS インスタンスは、次のいずれかの MySQL バージョンとエディションを実行しています。

MySQL バージョン

サポートされているエディション

MySQL 8.0

RDS High-availability Edition、RDS Enterprise Edition、RDS Cluster Edition

MySQL 5.7

RDS High-availability Edition、RDS Enterprise Edition、RDS Cluster Edition

MySQL 5.6

RDS High-availability Edition

MySQL 5.5

RDS High-availability Edition

セッション管理を開く

  1. インスタンス ページに移動します。トップナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。

  2. 左側のナビゲーションウィンドウで、自律型サービス > ワンクリック診断 を選択します。

  3. セッション管理 タブをクリックします。

インスタンスセッションの表示と管理

セッション管理」セクションでは、リアルタイムのセッションデータ(例外、アクティブなセッション、最長実行時間、CPU 使用率、および接続使用状況)を表示します。

10秒間の SQL 分析

セクションの右上隅にある [前のバージョン] をクリックし、次に 10 秒 SQL 分析 をクリックします。表示されるダイアログボックスには、SQL 統計、スロークエリログ、および 10 秒間のウィンドウ内でキャプチャされた SQL 概要が表示されます。詳細については、「10 秒 SQL 分析」をご参照ください。

SQL スロットリング

SQL スロットリング」をクリックして、SQL スロットリング パネルを開きます。しきい値ベースの SQL 速度制限を設定して、セッションを制限します。詳細については、「SQL 速度制限」をご参照ください。

SQL の診断と最適化

セクションの右上隅にある [前のバージョン] をクリックします。セッションを選択し、最適化 をクリックして、SQL 診断の最適化 ダイアログボックスを開き、診断結果を表示します。

  • 提案を適用するには、コピー をクリックし、最適化された SQL 文をデータベース クライアントまたは Data Management (DMS) に貼り付けます。

  • 提案を却下するには、Cancel をクリックします。

    説明

    DAS は、診断中に SQL の複雑さ、テーブルデータ量、およびデータベース負荷を評価します。結果が返されるまでに 20 秒以上かかる場合があります。SQL 診断エンジンは、診断結果、最適化の提案、および期待される最適化効果を提供します。提供された情報に基づいて、提案を受け入れるかどうかを決定してください。

アクティブなセッションのエクスポート

インスタンスのセッション セクションからアクティブなセッションデータをエクスポートし、オフライン分析に利用できます。

セッションの終了

終了するセッションを選択します。セッションを確立したデータベースアカウントのユーザー名とパスワードを入力するか、他のアカウントからのセッションを終了する権限を持つ特権アカウントを使用します。

  • セッションリストの [ユーザー] 列を確認して、各セッションのデータベースアカウントを特定します。

  • [End Session History] をクリックして、以前に終了されたセッションのレコードを表示します。

セッション統計の表示

セッション統計 セクションには、概要情報(セッション総数、実行中のセッション総数、最大セッション実行時間)が表示されます。ユーザー、アクセスソース、またはデータベースごとにグループ化されたセッション統計を表示およびエクスポートできます。

自動 SQL スロットリングの有効化

[自動 SQL 速度制限を有効にする] をクリックすると、自動 SQL 速度制限が有効になります。トリガー条件を設定すると、その条件が満たされたときに DAS が自動的に SQL の速度を制限します。これにより、インスタンスに対するアクセスリクエストと同時 SQL リクエストの数を管理し、データベースの可用性を維持します。詳細については、「自動 SQL 速度制限」をご参照ください。

よくある質問

[アクセスソース] 列にパーセント記号 (%) が表示されるのはなぜですか。

セッションがストアドプロシージャを経由して実行される場合、[アクセス元] 列にパーセント記号 (%) が表示されます。この動作を再現するには、次の手順を実行します:

説明

この例では、テストアカウント test_user とテストデータベース testdb を持つ RDS for MySQL インスタンスを使用します。

  1. ApsaraDB RDS コンソールで、データベースと標準アカウントを作成し、その標準アカウントにデータベースへの権限を付与します。詳細については、「アカウントの作成」をご参照ください。

  2. CLI を介して test_user アカウントを使用してインスタンスに接続します。詳細については、「クライアントまたは CLI を使用して ApsaraDB RDS for MySQL インスタンスに接続する」をご参照ください。

  3. testdb データベースに切り替えて、ストアドプロシージャを作成します。

       -- testdb データベースに切り替えます。
       USE testdb;
    
       -- ストアドプロシージャを作成します。
       DELIMITER $$
       DROP PROCEDURE IF EXISTS `das` $$
       CREATE DEFINER=`test_user`@`%` PROCEDURE `das`()
       BEGIN
       SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID();
       END $$
       DELIMITER;
  4. 特権アカウントを使用してインスタンスに接続します。詳細については、「ステップ 2: ApsaraDB RDS for MySQL インスタンスに接続する」をご参照ください。

  5. ストアドプロシージャを呼び出します。

    期待される出力: ストアドプロシージャが DEFINER='test_user'@'%' で定義されており、プロシージャが特権アカウントで実行されるとセッションがこのホスト値を継承するため、HOST 列には %:2065 が表示されます。

       -- testdb データベースに切り替えます。
       USE testdb;
    
       -- ストアドプロシージャを呼び出します。
       CALL das();
       +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
       | ID     | USER      | HOST   | DB     | COMMAND | TIME | STATE     | INFO                                                                    |
       +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
       | 487818 | test_user | %:2065 | testdb | Query   |    0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() |
       +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+

異常とマークされるセッションとは何ですか。

DAS は次のセッションを**異常**としてマークします。

  • 実行時間が 30 秒を超える**ブロッキング SQL ステートメント** (「Waiting for table metadata lock」を報告するセッションなど)。一般的なブロッキング SQL には、DDL ステートメントや FLUSH TABLES WITH READ LOCK が含まれます。これらのステートメントは長期間リソースを占有し、他の SQL ステートメントの実行を妨げる可能性があります。

  • 期間が 30 秒を超える**長時間実行トランザクション**。

  • トランザクション開始後 10 秒以上新しい SQL ステートメントが実行されていない**未コミットトランザクション**。これは通常、コードに COMMIT コマンドが欠落していることを示しており、トランザクションがリソースを解放せずに保持する原因となります。

参考資料

DAS 自律機能は、ご利用のデータベースセッション内の SQL ステートメントを自動的に診断および最適化できます。