セキュリティコンプライアンス監査、パフォーマンス分析、トラブルシューティング、異常セッションの識別などのシナリオで、ApsaraDB RDS for MySQL インスタンスで実行される SQL 文を監視および管理する場合、SQL Explorer および監査機能を使用できます。この機能を使用すると、SQL 文の実行ステータスを記録し、集計分析を実行できます。この機能が有効になると、データベースカーネルからの SQL 文、SQL 文の実行に使用されるアカウント、IP アドレス、および実行の詳細が自動的に記録されます。これはインスタンスのパフォーマンスにほとんど影響を与えません。
前提条件
Alibaba Cloud アカウントを使用してDatabase Autonomy Service (DAS) Enterprise Edition を購入する。
SQL Explorer および監査機能は、DAS Enterprise Edition をアクティブにした後にのみ使用できます。ApsaraDB RDS コンソールでは、現在のリージョンでサポートされている最新バージョンの DAS Enterprise Edition で提供される SQL Explorer および監査機能のみを有効にできます。DAS Enterprise Edition の異なるバージョンは、異なるリージョンでサポートされています。
RAM ユーザーの認証情報を使用して [SQL 文検索] 機能を使用する場合は、AliyunRDSReadOnlyWithSQLLogArchiveAccess ポリシーが RAM ユーザーにアタッチされていることを確認してください。RAM ユーザーに権限を付与する方法の詳細については、「RAM を使用して ApsaraDB RDS の権限を管理する」をご参照ください。
カスタムポリシーを作成して、ログエクスポート機能を含む検索機能を使用するための権限を RAM ユーザーに付与することもできます。詳細については、「カスタムポリシーを使用して、SQL Explorer および監査モジュールで検索機能とエクスポート機能を使用するための権限を RAM ユーザーに付与する」をご参照ください。
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 時間ごとに生成されます。
1 GB 時間あたり 0.0015 米ドル: 中国 (香港)、米国 (シリコンバレー)、米国 (バージニア)
1 GB 時間あたり 0.0018 米ドル: シンガポール、日本 (東京)、ドイツ (フランクフルト)、UAE (ドバイ)、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、英国 (ロンドン)
1 GB 時間あたり 0.0012 米ドル: 中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (ウランチャブ)、中国 (深セン)、中国 (河源)、中国 (広州)、中国 (成都)。
説明次の操作を実行して、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 バイトまたは指定した値よりわずかに短くなります。監査ログクエリ: この機能を使用すると、RDS インスタンスで実行される SQL 文をスレッド ID とトランザクション ID でクエリできます。トランザクション 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 試用版: SQL Explorer 試用版を使用している場合、DescribeSQLLogRecords および DescribeSQLLogFiles 操作を呼び出して監査ログをクエリすることはできません。詳細については、「DescribeSQLLogRecords」および「DescribeSQLLogFiles」をご参照ください。
ロック待ち時間: ロック待ち時間は SQL Explorer ログに記録されますが、スロークエリログには記録されません。
Prepare メソッドを使用する場合、SQL Explorer 機能は 2 つの SQL 文を記録します。一方の文には疑問符 (?) が含まれ、もう一方の文には特定の値が含まれます。
データベースプロキシエンドポイントを使用して RDS インスタンスに接続し、データベースプロキシでトランザクションレベルの接続プール機能が有効になっている場合、接続が再利用される可能性があります。その結果、クライアントの IP アドレスとポートは、
SHOW PROCESSLIST
文によって返される IP アドレスとポート、または [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 アドレスとアカウントに関する情報はクエリできません。詳細については、「バイナリログファイルを管理する」をご参照ください。
[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。
表示されるページの左側のナビゲーションウィンドウで、 を選択します。
[DAS Enterprise Edition V3 を有効にする] をクリックします。
有効にするサブ機能を選択し、[送信] をクリックします。
SQL Explorer および監査機能によって生成されたデータの保存期間を変更する
SQL Explorer および監査機能によって生成されたデータの保存期間を短縮すると、DAS は保存期間よりも長く保持されている SQL 監査ログをすぐに削除します。SQL 監査ログをコンピューターにエクスポートして保存してから、SQL Explorer および監査機能によって生成されたデータの保存期間を短縮することをお勧めします。
[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。
表示されるページの左側のナビゲーションウィンドウで、 を選択します。
Service Settings をクリックします。
Service Settings パネルで、SQL Explorer および監査機能によって生成されたログの保存期間を変更し、[OK] をクリックします。
SQL Explorer および監査機能を無効にする
SQL Explorer および監査機能を無効にすると、すべての SQL 監査ログが削除されます。ログをエクスポートして保存することをお勧めします。SQL Explorer および監査機能を再度有効にすると、SQL Explorer および監査機能によって生成されたログは、SQL Explorer および監査機能が再度有効になった時点から記録されます。
[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけて、インスタンスの ID をクリックします。
表示されるページの左側のナビゲーションウィンドウで、
を選択します。検索 タブの Logs セクションで、エクスポート をクリックします。
表示されるダイアログボックスで、[エクスポートされたフィールド] パラメーターと [エクスポート時間範囲] パラメーターを設定し、[OK] をクリックします。
ログがエクスポートされたら、ログファイルをダウンロードしてコンピューターに保存します。
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 は、ホットデータとコールドデータのハイブリッドストレージを使用し、機能ごとに課金項目を細分化して、より柔軟な課金を実現します。