セキュリティコンプライアンス監査、パフォーマンス分析、トラブルシューティングなどのシナリオで、ApsaraDB RDS for MySQLインスタンスで実行されるSQL文を監視および管理する場合は、SQL Explorerおよび監査機能を使用できます。 この機能を使用すると、SQL文の実行ステータスの集計分析を記録および実行できます。 この機能を有効にすると、データベースカーネルからのSQL文、SQL文の実行に使用されるアカウント、IPアドレス、および実行の詳細が自動的に記録されます。 インスタンスのパフォーマンスは影響を受けません。
前提条件
RDSインスタンスは、RDS High-availability Edition、RDS Enterprise Edition、またはRDS Cluster Editionを実行します。
RAMユーザーの資格情報を使用して検索機能を使用する場合は、AliyunRDSReadOnlyWithSQLLogArchiveAccessポリシーがRAMユーザーにアタッチされていることを確認してください。 RAMユーザーに権限を付与する方法の詳細については、「RAMを使用したApsaraDB RDS権限の管理」をご参照ください。
カスタムポリシーを作成して、エクスポート機能を含む検索機能を使用する権限をRAMユーザーに付与することもできます。 詳細については、「カスタムポリシーを使用してRAMユーザーにSQL Explorerおよび監査モジュールの検索およびエクスポート機能を使用する権限を付与する」をご参照ください。
SQLエクスプローラーおよび監査機能は、実行されるすべてのデータクエリ言語 (DQL) 、DML、およびDDLステートメントに関する情報を記録します。 システムは、少数のCPUリソースを消費するデータベースカーネルから情報を取得します。
機能の説明と課金ルール
リージョン | サポートされた機能 | 課金 |
中国 (杭州) 、中国 (上海) 、中国 (青島) 、中国 (北京) 、中国 (張家口) 、中国 (フフホト) 、中国 (ウランカブ) 、中国 (深セン) 、中国 (河源) 、中国 (広州) 、中国 (成都) 、中国 (香港) 、シンガポール、日本 (東京) 、マレーシア (クアラルンプール) 、インドネシア (ジャカルタ) 、米国 (シリコンバレー) 、英国 (ロンドン) 、米国 (バージニア) 、ドイツ (フランクフルト) | SQLエクスプローラーと監査
|
|
SQL Explorerおよび監査機能の料金がApsaraDB RDSに請求される場合、料金は1時間ごとに差し引かれます。 料金は RDS インスタンスのリージョンによって異なります。
1時間あたりのGBあたりの米ドル0.0015: 中国 (香港) 、米国 (シリコンバレー) 、および米国 (バージニア)
シンガポール、日本 (东京) 、ドイツ (フランクフルト) 、アラブ首长国连邦 (ドバイ) 、マレーシア (クアラルンプール) 、インドネシア (ジャカルタ) 、英国 (ロンドン) 1 GBあたりの0.0018 USD
GB時間あたりの0.0012米ドル: 中国 (杭州) 、中国 (上海) 、中国 (青島) 、中国 (北京) 、中国 (張家口) 、中国 (フフホト) 、中国 (ウランカブ) 、中国 (深セン) 、中国 (河源) 、中国 (広州) 、および中国 (成都) 。
Search: 実行されるSQL文に関する情報を照会およびエクスポートします。 情報には、データベース、ステータス、および実行時間が含まれます。
SQL Explorer: SQL文の正常性ステータスを診断し、パフォーマンスの問題をトラブルシューティングし、ビジネストラフィックを分析します。
セキュリティ監査: リスクの高いSQL文、SQLインジェクション攻撃、新しいアクセスソースなどのリスクを特定します。
トラフィックの再生とストレステスト: トラフィックの急増に対処するためにRDSインスタンスをスケールアウトする必要があるかどうかを確認します。
分析: この機能は、特定の期間内に実行されたSQL文を分析して、異常なSQL文を特定し、パフォーマンスの問題をトラブルシューティングするために使用されます。
シナリオ
RDSインスタンスは、金融、セキュリティ、株式、公共サービス、保険セクターなど、高いデータセキュリティが必要なセクターに使用されます。
RDSインスタンスのステータスを分析して、極端なシナリオで問題をトラブルシューティングし、SQL文のパフォーマンスを確認する必要があります。
極端な状況で実行されたSQL文に関する記録された情報を使用して、RDSインスタンスのデータを復元します。
使用上の注意
オンラインクエリの時間範囲は最大24時間です。 SQL Explorer機能は、多数のSQL文を記録します。 この機能を使用して、RDSインスタンスで実行されるすべての操作を追跡できます。 オンラインクエリの時間範囲が24時間を超えると、クエリがタイムアウトしたり、クエリ結果が長期間返されたりする可能性があります。
説明SQL Explorerのデータ保存期間内で、任意の24時間のデータを照会できます。
24時間を超える期間にわたってSQL文の実行記録を照会する場合は、Simple Log Serviceを使用して、SQL Explorer機能によって生成されたログにアクセスできます。 詳細については、「ApsaraDB RDSインスタンスのSQL監査ログの収集」をご参照ください。
オンラインクエリの条件の組み合わせを指定できます。 たとえば、キーワードフィールドにtest1 test2と入力して、test1またはtest2キーワードを含むSQLログを照会できます。
オンラインクエリではあいまい一致はサポートされていません。
オンラインクエリの各キーワードには、少なくとも4文字を含める必要があります。
監査ログ機能を使用すると、RDSインスタンスで実行されるSQL文をスレッドIDとトランザクションIDで照会できます。
説明RDSインスタンスで実行されるSQL文をスレッドIDでクエリする場合は、loose_rds_audit_log_versionパラメーターをMYSQL_V3に設定する必要があります。 詳細については、「MySQL 8.0を実行するApsaraDB RDSインスタンスでサポートされているパラメーター」をご参照ください。
スレッドIDでMySQL 8.0を実行するRDSインスタンスで実行されたSQL文を照会する場合は、RDSインスタンスが20210930以降のマイナーエンジンバージョンを実行していることを確認する必要があります。 スレッドIDでMySQL 5.7を実行するRDSインスタンスで実行されたSQL文を照会する場合は、RDSインスタンスが20210630以降のマイナーエンジンバージョンを実行していることを確認する必要があります。
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エクスプローラーと監査機能の有効化
Simple log ServiceのCloudLens for RDSアプリケーションでRDSインスタンスの監査ログ収集機能を有効にすると、RDSインスタンスのSQL Explorerおよび監査機能が自動的に有効になります。 詳細については、「CloudLens For RDS」をご参照ください。
RDSインスタンスのSQLエクスプローラーと監査機能が無効になっていて、SQL実行レコードを表示する場合は、RDSインスタンスのバイナリログを表示できます。 ただし、バイナリログでは、バックアップ保持期間内にデータを追加、削除、および変更するために実行されるSQL文のみを照会できます。 送信元IPアドレスとアカウントに関する情報は照会できません。 詳細については、「バイナリログファイルの管理」をご参照ください。
[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
表示されるページの左側のナビゲーションウィンドウで、を選択します。
[Enable Enterprise Edition V3] をクリックします。
有効にするサブ機能を選択し、送信をクリックします。
SQL Explorerおよび監査機能によって生成されたデータの保存期間の変更
SQL Explorerと監査によって生成されたデータの保存期間を短縮した後、DASは保存期間よりも長い期間保持されているSQL監査ログを直ちに削除します。 SQL監査ログをコンピューターにエクスポートして保存し、SQL Explorerとauditによって生成されたデータの保存期間を短縮することをお勧めします。
[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
表示されるページの左側のナビゲーションウィンドウで、を選択します。
Service Settingsをクリックします。
Service Settingsパネルで、SQL Explorerと監査機能によって生成されたログの保存期間を変更し、OKをクリックします。
SQLエクスプローラーと監査機能を無効にする
SQL Explorerおよび監査機能を無効にすると、SQL Explorerおよび監査機能によって生成されたすべてのログが削除されます。 SQL Explorerおよび監査機能によって生成されたログをコンピューターにエクスポートして保存し、SQL Explorerおよび監査機能を無効にすることをお勧めします。 SQL Explorerおよび監査機能を再度有効にすると、SQL Explorerおよび監査機能によって生成されたログは、SQL Explorerおよび監査機能が有効になっている時点から記録されます。
[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
左側のナビゲーションウィンドウで、
を選択します。検索 タブの Logs セクションで、エクスポート をクリックします。
表示されるダイアログボックスで、[エクスポートフィールド] および [エクスポート時間範囲] パラメーターを設定し、[OK] をクリックします。
ログをエクスポートしたら、ログファイルをダウンロードしてコンピューターに保存します。
右上隅の Service Settings をクリックします。 表示されるダイアログボックスで、SQLエクスプローラーと監査機能を無効にします。
DAS Enterprise Edition V3を有効にしてSQL Explorerおよび監査を有効にする場合は、パネルのSQL Explorerおよび監査機能のすべてのサブ機能をクリアし、[送信] をクリックします。
説明SQL Explorerおよび監査機能のデータを格納するために使用されるストレージスペースは、機能が無効になってから約1時間後に解放されます。
DAS Enterprise Editionの異なるバージョン間でデータを移行する
DAS Enterprise Edition V1と比較して、DAS Enterprise Edition V2の基盤となるストレージアーキテクチャが変更されています。 ホットデータとコールドデータのハイブリッドストレージは、低コストでパフォーマンスを向上させるために使用されます。 DAS Enterprise Edition V3は、ホットデータとコールドデータのハイブリッドストレージを使用し、請求可能な項目を機能ごとに細分化して、より柔軟な請求を実現します。
RDSインスタンスがDAS Enterprise Edition V3をサポートしている場合、DAS Enterprise Edition V1またはDAS Enterprise Edition V2からDAS Enterprise Edition V3にデータを移行してコストを削減できます。 詳細については、「DAS Enterprise Editionの異なるバージョン間でデータを移行するにはどうすればよいですか。」をご参照ください。
データ移行を終了またはロールバックすることはできません。 データを移行する前に、移行手順を注意深くお読みください。