セキュリティコンプライアンス監査、パフォーマンス分析、トラブルシューティングなどのシナリオで、ApsaraDB RDS for MySQLインスタンスで実行されるSQL文を監視および管理する場合は、SQL Explorerおよび監査機能を使用できます。 この機能を使用すると、SQL文の実行ステータスの集計分析を記録および実行できます。 この機能を有効にすると、データベースカーネルからのSQL文、SQL文の実行に使用されるアカウント、IPアドレス、および実行の詳細が自動的に記録されます。 インスタンスのパフォーマンスは影響を受けません。
前提条件
RDSインスタンスは、RDS High-availability Edition、RDS Enterprise Edition、またはRDS Cluster Editionを実行します。
RAMユーザーの資格情報を使用してSQL文検索機能を使用する場合は、AliyunRDSReadOnlyWithSQLLogArchiveAccessポリシーがRAMユーザーにアタッチされていることを確認してください。 RAMユーザーに権限を付与する方法の詳細については、「RAMを使用したApsaraDB RDS権限の管理」をご参照ください。
カスタムポリシーを作成して、ログのエクスポート機能を含むSQL文の検索機能を使用する権限をRAMユーザーに付与することもできます。 詳細については、「カスタムポリシーを使用してRAMユーザーにSQL Explorerおよび監査モジュールの検索およびエクスポート機能を使用する権限を付与する」をご参照ください。
SQLエクスプローラーおよび監査機能は、実行されるすべてのデータクエリ言語 (DQL) 、DML、およびDDLステートメントに関する情報を記録します。 システムは、少数のCPUリソースを消費するデータベースカーネルから情報を取得します。
機能の説明と課金ルール
リージョン | サポートされる機能 | 課金 |
中国 (杭州) 、中国 (上海) 、中国 (青島) 、中国 (北京) 、中国 (深セン) 、中国 (張家口) 、中国 (張家口) 、中国 (フフホト) 、中国 (成都) 、中国 (広州) 、中国 (ウランカブ) 、中国 (香港) 、シンガポール、マレーシア (クアラルンプール) 、インドネシア (ジャカルタ) | SQLエクスプローラーと監査
|
|
前のリージョン以外のすべてのリージョン | SQL Explorer (旧SQL監査)
| 料金はApsaraDB RDSの請求書に含まれています。 |
SQL Explorerおよび監査機能の料金がApsaraDB RDSに請求される場合、料金は1時間ごとに差し引かれます。 料金はRDSインスタンスのリージョンによって異なります。
1時間あたりのGBあたりの米ドル0.0015: 中国 (香港) 、米国 (シリコンバレー) 、および米国 (バージニア)
シンガポール、日本 (东京) 、ドイツ (フランクフルト) 、アラブ首长国连邦 (ドバイ) 、オーストラリア (シドニー) 、マレーシア (クアラルンプール) 、インド (ムンバイ) 、インドネシア (ジャカルタ) 、英国 (ロンドン) の0.0018 USD
1時間あたりの0.0012米ドル: 中国 (杭州) 、中国 (上海) 、中国 (青島) 、中国 (北京) 、中国 (張家口) 、中国 (フフホト) 、中国 (ウランカブ) 、中国 (深セン) 、中国 (河源) 、中国 (広州) 、中国 (成都) 、タイ (バンコク) 、韓国 (ソウル) 、フィリピン (マニラ)
検索: この機能は、実行されるSQL文に関する情報を照会およびエクスポートするために使用されます。 この情報には、SQL文の実行履歴と、各SQL文のデータベース、ステータス、および実行期間が含まれます。
SQL Explorer: この機能は、特定の期間内に実行されたSQL文のヘルスチェックの実行、パフォーマンスの問題のトラブルシューティング、およびビジネストラフィックの分析に使用されます。
セキュリティ監査: この機能は、リスクの高いSQL文、SQLインジェクション攻撃、新しいアクセスソースなどのリスクを特定するために使用されます。
トラフィックの再生とストレステスト: この機能は、トラフィックの急増に対処するためにRDSインスタンスをスケーリングする必要があるかどうかを確認するために使用されます。
分析: この機能は、特定の期間内に実行されたSQL文を分析して、異常なSQL文を特定し、パフォーマンスの問題をトラブルシューティングするために使用されます。
シナリオ
RDSインスタンスは、金融、セキュリティ、株式、公共サービス、保険セクターなど、高いデータセキュリティが必要なセクターに使用されます。
RDSインスタンスのステータスを分析して、極端なシナリオで問題をトラブルシューティングし、SQL文のパフォーマンスを確認する必要があります。
SQL Explorer機能によって生成されたSQL文に関する情報を使用して、RDSインスタンスを復元します。
使用上の注意
オンラインクエリの時間範囲は最大24時間です。 SQL Explorer機能は、多数のSQL文を記録します。 この機能を使用して、RDSインスタンスで実行されるすべての操作を追跡できます。 オンラインクエリの時間範囲が24時間を超えると、クエリがタイムアウトしたり、クエリ結果が長期間返されたりする可能性があります。
説明SQL Explorerのデータ保存期間内で、任意の24時間のデータを照会できます。
24時間を超える期間にわたってSQL文の実行記録を照会する場合は、Log Serviceを使用して、SQL Explorer機能によって生成されたログにアクセスできます。 詳細については、「RDS SQL監査ログの収集」をご参照ください。
オンラインクエリの条件の組み合わせを指定できます。 たとえば、キーワードフィールドにtest1 test2と入力して、test1またはtest2キーワードを含むSQLログを照会できます。
オンラインクエリではあいまい一致はサポートされていません。
オンラインクエリの各キーワードには、少なくとも4文字を含める必要があります。
SQLエクスプローラーと監査機能を使用して記録されるSQLステートメントの長さは最大8,192バイトです。 最大長は、loose_rds_audit_max_sql_sizeまたはloose_rds_audit_log_event_buffer_sizeパラメーターで指定します。 パラメーターの有効値:
0 ~ 32768
単位:バイト上記のパラメーターのいずれかに8192以下の値を指定し、SQL文の長さが指定したパラメーター値を超える場合、超過部分は切り捨てられます。 プレフィックスは、データの収集および処理中にSQL文に追加されます。 その結果、SQL文の最大長は、指定されたパラメーター値よりわずかに短くなります。
上記のパラメーターのいずれかに8192を超える値を指定した場合、SQL文の最大長は8,192バイトです。 最大長が8,192バイトを超える場合、超過部分は切り捨てられる。 プレフィックスは、データの収集および処理中にSQL文に追加されます。 その結果、SQL文の最大長は8,192バイトよりわずかに短くなります。
説明RDSインスタンスがMySQL 5.6またはMySQL 5.7を実行している場合、loose_rds_audit_max_sql_sizeパラメーターを使用して、SQL文の最大長を指定できます。
RDSインスタンスがMySQL 8.0を実行している場合、loose_rds_audit_log_event_buffer_sizeパラメーターを使用して、SQL文の最大長を指定できます。
SQL Explorer Trial Editionを使用する場合、DescribeSQLLogRecordsまたはDescribeSQLLogFiles操作を呼び出して監査ログを照会することはできません。
ロック待機時間はSQL Explorerログに記録されますが、低速クエリログには記録されません。
データベースプロキシエンドポイントを使用してRDSインスタンスに接続し、データベースプロキシに対してトランザクションレベルの接続プール機能が有効になっている場合、接続を再利用できます。 その結果、クライアントのIPアドレスとポートが、
[SHOW PROCESSLIST]
ステートメントによって返される、または [SQLエクスプローラー] タブに表示されるIPアドレスとポートと異なる場合があります。 詳細については、「データベースプロキシとは」をご参照ください。Prepareメソッドを使用する場合、SQL Explorer機能は2つのSQL文を記録します。 1つのステートメントは疑問符 (?) を含み、別のステートメントは特定の値を含む。
PolarDB-X 1.0インスタンスにアタッチされているRDSインスタンスでSQLステートメントが実行されると、データベースとテーブルが水平方向に分割されているため、RDSインスタンスのSQL Explorerおよび監査機能によって複数のログが生成されます。
SQLエクスプローラーと監査機能の有効化
log ServiceのCloudLens for RDSアプリケーションでRDSインスタンスの監査ログ収集機能を有効にすると、RDSインスタンスのSQL Explorerおよび監査機能が自動的に有効になります。 詳細については、「CloudLens For RDS」をご参照ください。
- [インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
表示されるページの左側のナビゲーションウィンドウで、 を選択します。
SQLエクスプローラーと監査機能を有効にします。
RDSインスタンスが次のいずれかのリージョンにある場合、DAS Enterprise Editionを有効にすることでSQL Explorer and Audit機能を有効にできます: 中国 (杭州) 、中国 (上海) 、中国 (青島) 、中国 (北京) 、中国 (深セン) 、中国 (張家口) 、中国 (フフフホト) 、中国 (成都) 、中国 (広州) 、中国 (河安、中国 (ウランカブ) 、中国 (香港) 、シンガポール、マレーシア (クアラルンプール) 、インドネシア (ジャカルタ) 。
DASは、DAS Enterprise Editionの異なるバージョンを提供します。 バージョンはリージョンによって異なります。 詳細については、「サポートされているデータベースとリージョン」をご参照ください。
DAS Enterprise Editionの各バージョンの価格は異なります。 詳細については、「課金の概要」をご参照ください。
重要ApsaraDB RDSコンソールでは、現在のリージョンでサポートされているDAS Enterprise Editionの最新バージョンのみを有効にできます。 DAS Enterprise Editionのアップデートにより、より柔軟な課金方法が導入され、コストが削減されます。
RDSインスタンスが前述のリージョン以外のリージョンにある場合は、正式版 をクリックして保存期間を設定し、[OK] をクリックして [SQL Explorer and Audit] 機能を有効にします。
表示されるページで、ビジネス要件に基づいてタブをクリックします。 次に、フィーチャに関する情報を表示できます。
検索機能の詳細については、「検索」をご参照ください。
SQL Explorer機能の詳細については、「SQL Explorer」をご参照ください。
セキュリティ監査機能の詳細については、「セキュリティ監査」をご参照ください。
トラフィックの再生とストレステスト機能の詳細については、「トラフィック再生とストレステスト」をご参照ください。
SQL Explorerと監査によって生成されたデータの保存期間の変更
SQL Explorerと監査によって生成されたデータの保存期間を短縮した後、DASは保存期間よりも長い期間保持されているSQL監査ログを直ちに削除します。 SQL監査ログをコンピューターにエクスポートして保存し、SQL Explorerとauditによって生成されたデータの保存期間を短縮することをお勧めします。
- [インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
表示されるページの左側のナビゲーションウィンドウで、 を選択します。
Service Settings をクリックします。
Service Settings ダイアログボックスで、保存期間を変更し、[OK] をクリックします。
説明[サービス設定] ボタンの右側にある SQL Explorer and Audit 機能によって生成されたログのサイズを表示できます。 基本情報 ページの 使用状況 セクションで、SQLエクスプローラーと監査機能によって生成されたログのサイズを表示することもできます。
検索機能を使用して、SQL Explorerおよび監査機能によって生成されたログに関する情報を照会およびエクスポートできます。 詳細については、「検索」をご参照ください。
SQLエクスプローラーと監査機能を無効にする
SQL Explorerおよび監査機能を無効にすると、この機能によって生成されたすべてのログが削除されます。 SQL Explorerおよび監査機能によって生成されたログをコンピューターにエクスポートして保存し、SQL Explorerおよび監査機能を無効にすることをお勧めします。 SQL Explorerおよび監査機能を再度有効にすると、この機能によって生成されたログは、SQL Explorerおよび監査機能が再度有効になった時点から記録されます。
- [インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
左側のナビゲーションウィンドウで、
を選択します。検索 タブの Logs セクションで、エクスポート をクリックします。
表示されるダイアログボックスで、[エクスポートフィールド] および [エクスポート時間範囲] パラメーターを設定し、[OK] をクリックします。
ログをエクスポートしたら、ログファイルをダウンロードしてコンピューターに保存します。
SQL監査ログのダウンロード方法は、DAS Enterprise Editionのバージョンによって異なります。 ApsaraDB RDSコンソールの実際の状況に基づいて、SQL監査ログをダウンロードできます。
[検索] タブで、[エクスポートされたログの表示] をクリックして、エクスポートされたファイルをダウンロードします。
[タスクリスト] タブで、[ダウンロード] をクリックして、エクスポートしたログファイルをダウンロードします。
Service Settings ダイアログボックスで、SQLインサイトと監査をオフにし、SQL Explorer を無効化すると、関連するすべてのデータが削除されます。 サービスの無効化 をクリックします。
説明log ServiceのCloudLens for RDSアプリケーションでRDSインスタンスの監査ログ収集機能を有効にすると、RDSインスタンスのSQL Explorerおよび監査機能が自動的に有効になります。 したがって、RDSインスタンスの監査ログ収集機能も無効にする必要があります。 詳細については、「CloudLens For RDS」をご参照ください。
FAQ
参考資料
RDSインスタンスでSQLエクスプローラーと監査機能が有効になっておらず、SQL実行レコードを表示する場合は、RDSインスタンスのバイナリログを表示できます。 ただし、バイナリログでは、バックアップ保持期間内にデータを追加、削除、および変更するために実行されるSQL文のみを照会できます。 送信元IPアドレスとアカウントに関する情報は照会できません。 詳細については、「バイナリログファイルの管理」をご参照ください。
SQL Exploreログとバイナリログの違い
SQL監査ログとバイナリログの両方に、RDSインスタンスに加えられた増分変更に関する情報が含まれています。 2つのタイプのログは、次の点で異なります。
SQL Explorerログには、実行されるすべてのDQL、DML、およびDDL操作に関する情報が含まれます。 システムは、データベースカーネルから少量のCPUリソースを消費する情報を取得します。 RDSインスタンスの負荷が高い場合、少数のレコードが失われる可能性があります。 その結果、SQL Explorerログから取得される増分データが不正確になる可能性があります。
バイナリログには、実行されるすべての追加、削除、および変更操作と、データの復元に使用される増分データが記録されます。 バイナリーログファイルは、RDSインスタンスに一時的に保存されます。 システムは、データが書き込まれたバイナリログファイルをObject Storage Service (OSS) バケットに定期的に転送します。 バイナリログファイルは、OSSバケットに7日間保存できます。 データが書き込まれているバイナリログファイルをOSSバケットに転送することはできません。 したがって、Binlogsのアップロード機能を使用してバイナリログファイルをOSSバケットにアップロードした後、一部のバイナリログファイルはOSSバケットにアップロードされません。 バイナリログはリアルタイムで生成されません。 ただし、バイナリログファイルを使用して、正確な増分データを取得できます。