Amazon Auroraの運用時に監視できる項目について
Amazon Auroraの運用について
プレビュー版のAmazon Aurora使えるようになったので色々試しています。新しいDBエンジンということで、運用をどうするか気になっている方も多いのではないでしょうか。Amazon Auroraは、RDSの他のデータベースエンジンと同じように、CloudWatchで運用状況をモニタリングすることができます。これにより、正常稼働しているか、期待するパフォーマンスが出ているか確認することができますので、アラームを設定して運用に役立てることができます。
AuroraのDBクラスタ概念図
Aurora Metricsの種類
Auroraは、大きく分けて2種類の情報があります。Aurora System Monitoringと、Aurora SQL Monitoringです。前者は、ネットワーク/ディスク/CPUなどのシステムに関するモニタリングで、後者は、DML/DDL/処理遅延/デッドロックなどのSQLに関するモニタリングです。
Auroraで指定できるCloudWatchメトリクス
Aurora System Monitoring
Auroraで指定できるシステムモニタリングに関するメトリクスです。
メトリクス | 説明 |
---|---|
CPU Utilization | DBインスタンスのCPU使用率(%)について |
Freeable memory | 使用可能なランダムアクセスメモリー領域(GB)について |
Storage | DBクラスターで利用しているストレージサイズ(GB)について。この値は課金のための情報となります。 |
Network receive throughput | 各クライアントから受信するネットワークスループット(MB/s)について。この値は、DBクラスタとクラスタボリューム間の通信は含まれていません。 |
Network transmit throughput | 各クライアントから送信するネットワークスループット(MB/s)について。この値は、DBクラスタとクラスタボリューム間の通信は含まれていません。 |
Read operations | 1秒あたりの平均読み込みディスクI/O回数について |
Read latency | 読み込みI/Oリクエストの開始から完了までの経過時間(ms) |
Read throughput | DBクラスタへのリクエストに関するネットワークスループット(MB/s) |
Read queue depth | 読み込みI/Oリクエストに対してディスクアクセス待ちの件数 |
Write operations | 1秒あたりの平均書き込みディスクI/O回数について |
Write latency | 書き込みI/Oリクエストの開始から完了までの経過時間(ms) |
Write throughput | DBクラスタへのレスポンスに関するネットワークスループット(MB/s) |
Write queue depth | 書き込みI/Oリクエストに対してディスクアクセス待ちの件数 |
Replica lag | Auroraにおいて、プライマリインスタンスからレプリカへの更新時の遅延(ms)について |
Replica lag maximum | プライマリインスタンスと各Auroraインスタンスの間のレプリケーションの最大遅延(ms) |
Replica lag minimum | プライマリインスタンスと各Auroraインスタンスの間のレプリケーションの最小遅延(ms) |
Queue depth | ディスクアクセスを待っている未処理のI/Oリクエスト(読み書き)数 |
Free storage space | 他のDBエンジンとは異なり、Auroraでは、各DBインスタンスの一時テーブルとログのストレージ量(GB)について報告します。より大きなDBインスタンスサイズを選ぶことで、より大きなストレージ量を利用することができます。 |
Swap usage | Auroraではサポートされていません。 |
Binary log disk usage | MySQLバイナリログのストレージ利用量(GB)について |
CPU credit balance | Auroraではサポートされていません。 |
CPU credit usage | Auroraではサポートされていません。 |
Aurora SQL Monitoring
Auroraで指定できるSQLモニタリングに関するメトリクスです。
メトリクス | 説明 |
---|---|
Select throughput | Selectクエリー数/sec |
DML throughput | データ操作(Insert/Update/Delete)クエリー数/sec |
Commit throughput | トランザクションコミット数/sec |
DDL throughput | データ定義リクエスト数/sec |
Select latency | データ検索(Select)クエリー遅延(ms) |
DML latency | データ操作(Insert/Update/Delete)クエリー遅延(ms) |
Commit latency | トランザクションコミット遅延(ms) |
DDL latency | データ定義リクエスト遅延(ms) |
DB Connections | DBインスタンスへのアクティブなコネクション数 |
Active transactions | DBインスタンスへの実行中トランザクション数(平均/秒) |
Buffer cache hit ratio | リクエストに対するバッファキャッシュヒット率(%) |
Resultset cache hit ratio | リクエストに対するリザルトセットヒット率(%) |
Login failures | ログイン失敗数(平均/秒) |
Blocked transactions | ブロックされているトランザクション数(平均/秒) |
Failed SQL statements | SQL実行失敗数(平均/秒) |
Deadlocks | デッドロック数(平均/秒) |
まとめ
DDL/DMLのスループット/遅延に関する情報や、トランザクション周りの情報をAPIで取得できたり、アラーム設定できるのは嬉しいですね!