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

ApsaraDB RDS:SQL Explorer と監査機能の使用

最終更新日:Jan 23, 2026

セキュリティコンプライアンス監査、パフォーマンス分析、トラブルシューティングなどのシナリオでは、SQL Explorer と監査機能を有効にすることを推奨します。この機能を有効にすると、システムはデータベースカーネル内の SQL の変更と、SQL 文の実行に使用されたアカウント、IP アドレス、実行詳細などの SQL の変更に関する情報を自動的に記録します。これにより、SQL の変更記録のクエリ、分析、監査操作を行うための信頼性の高いデータサポートが提供されます。この機能の有効化と使用によるインスタンスのパフォーマンスへの影響は最小限です。

前提条件

重要

SQL Explorer と監査機能は、実行されたすべてのデータクエリ言語 (DQL)、DML、および DDL 文に関する情報を記録します。システムはデータベースカーネルから情報を取得しますが、これにより消費される CPU リソースはごくわずかです。

機能の説明

SQL Explorer と監査機能は、以下の機能を提供します:

  • 検索 (監査):この機能は、実行された SQL 文に関する情報をクエリおよびエクスポートするために使用されます。情報には、データベース、ステータス、実行時間が含まれます。

  • SQL Explorer:SQL 文の健全性を診断し、パフォーマンスの問題をトラブルシューティングし、ビジネストラフィックを分析します。

  • セキュリティ監査:高リスクの SQL 文、SQL インジェクション攻撃、新しいアクセスソースなどのリスクを特定します。

  • トラフィックの再生とストレステスト:トラフィックスパイクに対応するために RDS インスタンスをスケールアウトする必要があるかどうかを確認します。

  • SQL 分析:指定された期間内に実行された SQL 文を分析し、異常な SQL 文を特定してパフォーマンスの問題を突き止めます。

SQL Explorer と監査機能は、以下のシナリオに適しています:

  • ご利用の RDS インスタンスが、金融、セキュリティ、株式、公共サービス、保険など、高いデータセキュリティを必要とするセクターで使用されている場合。

  • 問題のトラブルシューティング、SQL 文のパフォーマンスチェック、異常セッションの特定などのシナリオで、RDS インスタンスの状態を分析したい場合。

  • データの損失や破損が発生した場合など、極端なケースでは、SQL Explorer と監査機能によって記録された SQL 文を使用して問題を分析およびトラブルシューティングし、データを復元できます。

サポートされるリージョン

中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (ウランチャブ)、中国 (深セン)、中国 (河源)、中国 (広州)、中国 (成都)、中国 (香港)、シンガポール、日本 (東京)、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、米国 (シリコンバレー)、イギリス (ロンドン)、米国 (バージニア)、ドイツ (フランクフルト)

課金ルール

  • SQL Explorer 機能が SQL Explorer と監査機能にアップグレードされる前に RDS インスタンスで SQL Explorer 機能が有効になっている場合、料金は ApsaraDB RDS の請求に含まれます。機能の価格はインスタンスのリージョンによって異なります。請求は 1 時間ごとに生成されます。

    • USD 0.0015/GB-時間:中国 (香港)、米国 (シリコンバレー)、米国 (バージニア)

    • USD 0.0018/GB-時間:シンガポール、日本 (東京)、ドイツ (フランクフルト)、UAE (ドバイ)、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、イギリス (ロンドン)

    • USD 0.0012/GB-時間:中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (ウランチャブ)、中国 (深セン)、中国 (河源)、中国 (広州)、中国 (成都)。

    説明

    次の操作を実行して、SQL Explorer 機能を SQL Explorer と監査機能にアップグレードできます:ApsaraDB RDS コンソールにログインし、[SQL Explorer] タブに移動し、表示されるダイアログボックスで [ワンクリックアップグレード] をクリックします。アップグレードが完了すると、料金は Database Autonomy Service (DAS) の請求に含まれます。

  • SQL Explorer 機能が SQL Explorer と監査機能にアップグレードされた後に RDS インスタンスで SQL Explorer と監査機能が有効になっている場合、料金は DAS の請求に含まれます。SQL Explorer と監査機能は、DAS Enterprise Edition をアクティベートした後にのみ使用できます。サポートされるリージョンと課金ルールは、DAS Enterprise Edition のバージョンによって異なります。詳細については、「DAS のエディションとサポートされる機能」および「課金」をご参照ください。

    説明

    ApsaraDB RDS コンソールでは、現在のリージョンでサポートされている最新バージョンの DAS Enterprise Edition が提供する SQL Explorer と監査機能のみを有効にできます。

注意事項

  • オンラインクエリ

    • 時間範囲:オンラインクエリの時間範囲は最大 24 時間です。SQL Explorer のデータストレージ期間内であれば、任意の 24 時間のデータをクエリできます。オンラインクエリの時間範囲が 24 時間を超えると、クエリがタイムアウトする可能性があります。24 時間を超える時間範囲の SQL 文の実行記録をクエリしたい場合は、Simple Log Service を使用して SQL Explorer 機能によって生成されたログにアクセスできます。詳細については、「RDS SQL 監査ログの収集」をご参照ください。

    • クエリメソッド: オンラインクエリでは、条件の組み合わせを指定できますが、ファジーマッチはサポートされていません。各キーワードは、4 文字以上である必要があります。

  • SQL Explorer と監査

    • SQL 文の最大長:SQL Explorer と監査機能を使用して記録される SQL 文の最大長は 8,192 バイト です。最大長は、MySQL 5.6 および MySQL 5.7 の場合は loose_rds_audit_max_sql_size パラメーター、MySQL 8.0 の場合は loose_rds_audit_log_event_buffer_size パラメーターによって指定されます。3 つのパラメーター値のうち最小値が使用されます。データ収集および処理中に SQL 文にプレフィックスが追加されるため、SQL 文の実際の最大長は 8,192 バイトまたは指定した値よりわずかに短くなります。

    • 監査ログクエリ:この機能を使用すると、スレッド ID とトランザクション ID によって RDS インスタンスで実行された SQL 文をクエリできます。トランザクション ID によって RDS インスタンスで実行された SQL 文をクエリする場合は、loose_rds_audit_log_version パラメーターを MYSQL_V3 に設定し、マイナーエンジンバージョンが要件を満たしていることを確認する必要があります。RDS インスタンスが MySQL 8.0 を実行している場合、RDS インスタンスは 20210930 以降のマイナーエンジンバージョンを実行する必要があります。RDS インスタンスが MySQL 5.7 を実行している場合、RDS インスタンスは 20210630 以降のマイナーエンジンバージョンを実行する必要があります。詳細については、「MySQL 8.0 を実行する ApsaraDB RDS インスタンスでサポートされるパラメーター」および「マイナーエンジンバージョンのアップグレード」をご参照ください。

    • SQL Explorer Trial Edition:SQL Explorer Trial Edition を使用している場合、DescribeSQLLogRecords および DescribeSQLLogFiles 操作を呼び出して監査ログをクエリすることはできません。詳細については、「DescribeSQLLogRecords」および「DescribeSQLLogFiles」をご参照ください。

    • ロック待ち時間:ロック待ち時間は SQL Explorer ログに記録されますが、スロークエリログには記録されません。

    • Prepare メソッドを使用する場合、SQL Explorer 機能は 2 つの SQL 文を記録します。1 つは疑問符 (?) を含み、もう 1 つは特定の値を含みます。

  • データベースプロキシエンドポイントを使用して RDS インスタンスに接続し、データベースプロキシでトランザクションレベルの接続プール機能が有効になっている場合、接続が再利用されることがあります。その結果、クライアントの IP アドレスとポートが、SHOW PROCESSLIST 文によって返される、または SQL Explorer タブに表示される IP アドレスとポートと異なる場合があります。詳細については、「データベースプロキシとは」をご参照ください。

  • PolarDB-X 1.0 インスタンスにアタッチされた RDS インスタンスで SQL 文が実行されると、データベースとテーブルの水平シャーディングにより、RDS インスタンスに対して SQL Explorer と監査機能によって複数のログが生成されます。

SQL Explorer と監査機能の有効化

説明
  • Simple Log Service の CloudLens for RDS アプリケーションで RDS インスタンスの監査ログ収集機能を有効にすると、その RDS インスタンスの SQL Explorer と監査機能が自動的に有効になります。詳細については、「CloudLens for RDS」をご参照ください。

  • RDS インスタンスで SQL Explorer と監査機能が無効になっており、SQL 実行記録を表示したい場合は、RDS インスタンスのバイナリログを表示できます。ただし、バイナリログでは、バックアップ保持期間内に追加、削除、変更された SQL 文のみをクエリできます。ソース IP アドレスとアカウントに関する情報はクエリできません。詳細については、「バイナリログファイルの管理」をご参照ください。

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

  2. 表示されたページの左側のナビゲーションウィンドウで、自律型サービス > SQL Explorer and Audit を選択します。

  3. [DAS Enterprise Edition V3 を有効にする] をクリックしますimage

  4. 有効にしたいサブ機能を選択し、[送信] をクリックします。

SQL Explorer と監査機能によって生成されたデータのストレージ期間の変更

警告

SQL Explorer と監査機能によって生成されたデータのストレージ期間を短縮すると、DAS はストレージ期間を超えて保持されている SQL 監査ログを直ちに削除します。SQL 監査ログをコンピュータにエクスポートして保存してから、SQL Explorer と監査機能によって生成されたデータのストレージ期間を短縮することを推奨します。

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

  2. 表示されたページの左側のナビゲーションウィンドウで、自律型サービス > SQL Explorer and Audit を選択します。

  3. Service Settings をクリックします。

  4. Service Settings パネルで、SQL Explorer と監査機能によって生成されたログのストレージ期間を変更し、[送信] をクリックします。

SQL Explorer と監査機能の無効化

警告

SQL Explorer と監査機能を無効にすると、すべての SQL 監査ログが削除されます。ログをエクスポートして保存することを推奨します。SQL Explorer と監査機能を再度有効にすると、SQL Explorer と監査機能によって生成されるログは、再度有効になった時点から記録されます。

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

  2. 表示されたページの左側のナビゲーションウィンドウで、自律型サービス > SQL Explorer and Audit を選択します。

  3. 検索 タブの Logs セクションで、エクスポート をクリックします。

    説明

    一度に 7 日以内の最大 1,000 万件のデータレコードをエクスポートできます。

    [エクスポート時間範囲] パラメーターを設定して、広い時間範囲で生成されたログをエクスポートできます。

  4. 表示されたダイアログボックスで、[エクスポートするフィールド] と [エクスポート時間範囲] パラメーターを設定し、[OK] をクリックします。

  5. ログがエクスポートされたら、ログファイルをダウンロードしてコンピュータに保存します。

  6. Service Settings をクリックします。表示されたダイアログボックスで、SQL Explorer と監査機能を無効にします。

    DAS Enterprise V3 をアクティベートしている場合は、SQL Explorer と監査モジュールのすべての機能をクリアします。[送信] をクリックします。

    説明

    SQL Explorer と監査モジュールによって生成されたデータが占有するストレージスペースは、SQL Explorer と監査モジュールが無効になってから 1 時間後に解放されます。

異なるバージョンの DAS Enterprise Edition 間のデータ移行

警告

データ移行は中止したり、ロールバックしたりすることはできません。データを移行する前に、移行手順をよくお読みください。

ご利用の RDS インスタンスが DAS Enterprise Edition V3 をサポートしている場合、コストを削減するために、DAS Enterprise Edition V1 または DAS Enterprise Edition V2 から DAS Enterprise Edition V3 にデータを移行できます。詳細については、「DAS Enterprise Edition のバージョン間でデータを移行するにはどうすればよいですか?」をご参照ください。

DAS Enterprise Edition V1 と比較して、DAS Enterprise Edition V2 の基盤となるストレージアーキテクチャは変更されています。ホットデータとコールドデータのハイブリッドストレージを使用して、低コストでパフォーマンスを向上させています。DAS Enterprise Edition V3 は、ホットデータとコールドデータのハイブリッドストレージを使用し、機能ごとに課金項目を細分化することで、より柔軟な課金を実現しています。

よくある質問

Q:[SQL Explorer] タブの [リクエスト全体の統計] セクションにある logout! 文は何を示していますか?

A:logout! 文は切断を示します。logout! 文の実行時間は、最後の対話時間と切断が発生した時間の差です。この時間差の間、接続はアイドル状態のままです。[ステータス] 列に表示される 1158 コードは、次の理由で発生する可能性のあるネットワーク切断を示します:

  • クライアント接続がタイムアウトした。

  • サーバーが切断された。

  • 接続の持続時間が interactive_timeout または wait_timeout パラメーターで指定された値を超えた場合、サーバーへの接続がリセットされる。

Q:[SQL Explorer] タブの [ソース統計] タブの [アクセスソース] 列にパーセント記号 (%) が表示されるのはなぜですか?

A:ストアドプロシージャを使用すると、SQL Explorer タブのソース統計タブのアクセスソース列にパーセント記号 (%) が表示されることがあります。次の操作を実行して、この状況を再現できます。

説明

この例では、データベースインスタンスは ApsaraDB RDS for MySQL インスタンス、テストアカウントは test_user、テストデータベースは testdb です。

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

  2. test_user アカウントを使用して、CLI でデータベースインスタンスに接続します。詳細については、「データベースクライアントまたは 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. 特権アカウントを使用してデータベースインスタンスに接続します。詳細については、「データベースクライアントまたは CLI を使用して ApsaraDB RDS for MySQL インスタンスに接続する」をご参照ください。

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

    -- 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() |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+

RDS インスタンスでいくつかの SQL 文を実行した後、データは返されますが、SQL Explorer と監査ページの検索タブのログセクションにはスキャンされた行がゼロと表示されます。なぜですか?

高速クエリキャッシュ機能が RDS インスタンスで有効になっています。ログセクションでは、SQL 文のスキャンされた行数は、InnoDB ストレージエンジンでスキャンされた行数です。高速クエリキャッシュ機能が有効になると、MySQL はクエリ結果をキャッシュします。同じクエリリクエストが送信され、クエリキャッシュにヒットした場合、システムは InnoDB ストレージエンジンにクエリリクエストを送信する代わりに、キャッシュされたクエリ結果を直接返します。したがって、いくつかの SQL 文を実行した後、データは返されますが、ログセクションにはスキャンされた行がゼロと表示されます。詳細については、「高速クエリキャッシュ」をご参照ください。

SQL Explorer ログとバイナリログの違いは何ですか?

SQL Explorer ログとバイナリログはどちらも、RDS インスタンスに加えられた増分変更に関する情報を含んでいます。これら 2 種類のログは、次の点で異なります:

  • SQL Explorer ログは、データベース内のすべての増分データを取得したいシナリオに適しています。RDS インスタンスの負荷が高い場合、少数のレコードが失われます。その結果、SQL Explorer ログから取得した増分データが不正確になる可能性があります。SQL Explorer ログには、実行されたすべての DQL、DML、および DDL 操作に関する情報が含まれます。システムは、データベースカーネルから少量の CPU リソースを消費する情報を取得します。

  • バイナリログは、短時間で正確な増分データを取得したいシナリオに適しています。ただし、バイナリログはリアルタイムで生成されません。バイナリログは、実行されたすべての追加、削除、変更操作と、データの復元に使用できる増分データを記録します。バイナリログファイルは、RDS インスタンスに一時的に保存されます。システムは、データが書き込まれたバイナリログファイルを定期的に Object Storage Service (OSS) バケットに転送します。バイナリログファイルは、OSS バケットに 7 日間保存できます。データが書き込まれているバイナリログファイルは、OSS バケットに転送できません。したがって、[バイナリログのアップロード] 機能を使用してバイナリログファイルを OSS バケットにアップロードした後、一部のバイナリログファイルが OSS バケットにアップロードされないことがあります。詳細については、「ApsaraDB RDS for MySQL インスタンスのバイナリログファイルをリモートで取得して解析するにはどうすればよいですか?」をご参照ください。

ApsaraDB RDS コンソールで SQL Explorer のエントリポイントが消えたのはなぜですか?

SQL Explorer と監査機能が更新されました。エントリポイントは [SQL Explorer と監査] に変更されました。

SQL Explorer 機能を有効にできますか?

いいえ、RDS インスタンスでは 最新バージョンの SQL Explorer と監査機能のみを有効にできます。

エクスポートした後、元の SQL 監査記録はシステムに保持されますか?

はい、SQL 監査記録はエクスポート後もシステムに保持されます。