awsのrdsの運用におけるログの監視

パソコン7

awsを運用するときには利用するサービスに応じて適切な監視の体制を整えていくことが必要になります。rdsを利用するというケースもありますが、どのような監視をしていったら良いかで悩むこともあるでしょう。ログの監視をするのが重要なことの一つとして知られているので、ログ監視を切り口に監視体制のあり方について説明していきます。

そもそもrdsとは

監視のあり方について議論する前にまずはそもそもrdsとはどんなサービスなのかを確認しておきましょう。rdsはawsのサービスの一つで、マネージド型リレーショナルデータベースです。Amazon Aurora、MySQL、MariaDB、Oracle、Microsoft SQL Server、PostgreSQLの六種類のデータベースを利用できる仕組みになっていて、簡単に設定するだけで既存のデータベースを使用できる仕組みになっています。

既に利用してきたデータベースエンジンを活用できるのが優れている点で、awsを本格的に導入する際のハードルを下げることにつながっています。rdsは汎用ストレージとプロビジョンドIOPSストレージがあり、スケーラビリティも高いことから汎用性が高いのが魅力です。

コンピューティングについてもスケーリングが可能なので状況に応じたパワーアップやパワーダウンをすることができます。システム的にも多岐にわたっていて利用するメリットが大きくなっています。例えば、自動バックアップ機能が搭載されていてリカバリが可能であり、保持期間を自由に設定することが可能です。

セキュリティも高く、保管中と転送中にはAWS KMSによって管理するキーを使った暗号化ができます。awsのrdsは他のデータベースやストレージ系のサービスと同様に従量制の課金システムになっていて、初期費用を不安視する必要がありません。

使用するインスタンスのスペックとデータベースの種類に加え、どのくらいrdsを稼働させたかによって課金額が決まるのが基本です。定額支払い契約をすることも可能なので、使用量が多い場合には従量制のオンデマンドインスタンスではなく、定額制のリザーブドインスタンスを選ぶのが適しています。

運用方法によって違いはあるものの、概してコストを抑えやすいことから費用対効果が高い運用が可能というのが魅力です。

監視の基本はCloudWatch

パソコン15

awsのrdsの監視をするときには基本的にはCloudWatchを使用すれば問題がありません。データベースインスタンスからCloudWatchを使ってメトリクスを取得することにより、ほぼ必要なパラメータをモニタリングすることができます。

取得したメトリクスについてもawsのrdsマネジメントコンソールを使えば可視化して表示できるようになっているので、効率的な監視を行うことが可能です。

取得できるのはCPUの利用率、メモリの使用率、ストレージキャパシティーの利用率といった基本的な項目で、I/Oアクティビティやインスタンス接続なども含まれています。拡張モニタリングを適用すればファイルシステムなどの監視も容易になりますが、拡張コストの利用には追加料金がかかるので注意しましょう。

ログの監視には二つある

次にawsのrdsにおけるログの監視について考えてみましょう。awsのrdsを使うときに重要になるログの監視には二つあります。一つがテータベースそのもののログで、もう一つはユーザーやawsサービスによるアクションのログです。

この両方を監視することが必要なので、それぞれの基本的な監視の仕方を確認しておきましょう。

データベースログの監視

パソコン16

データベースログとはトランザクションログとも呼ばれるもので、データベースに対して発生したトランザクションがすべて記録されているのが特徴で、さらに加えられた変更についても記録されます。障害が発生してしまったときやデータベースが失われてしまったときなどにはバックアップからのリカバリーが必要になりますが、その際にどのポイントのバックアップを使うべきかといった分析をするのに使用されるのが一般的です。

awsのrdsではデータベースログはAWS CLIまたはRDS APIを使用して取得できる仕組みになっています。使用しているデータベースの種類によって取得方法が異なるので注意が必要です。

アクションログの監視

awsのrdsのアクションログはユーザーやAWSのサービスが起こしたアクションを克明に記録したもので、ユーザーがデーターベースにアクセスしたことや、離脱したことなども記録されていきます。データベースの書き換えや閲覧ももちろんですが、非活動時間なども取得することが可能です。

基本的にはawsのrdsに搭載されている全てのコールの記録がイベントとしてアクションログに残されていく仕組みになっています。ユーザーのIPアドレスや実行者、実行日時などがまとめられているため、rdsがどのようにして使われてきたかを分析できます。

awsのrdsのアクションログを確認するのはCloudWatchではできません。この場合にはCloudTrailを使用することが求められるので注意しましょう。

ログ監視も含めた統合環境があると便利

awsのrdsを運用するときにはパフォーマンスに関わる基本的なパラメータの監視に加え、データベースログとアクションログの監視も必要になります。標準のツールを使用して監視をすることもできますが、内容に応じて適切なツールを選ばなければならないのが大変になりがちです。

awsの標準サービスにこだわらずに統合的な監視環境を作り上げた方が業務効率が高まります。CPUやストレージ、ネットワークトラフィックだけでなくログ管理もできるサーバー監視ツールは増えてきました。オープンソースのツールをカスタマイズして使用することもできるので、awsの運用を続けていくなら管理負担を下げるために効率的に使えるツールを準備しましょう。

ただ、データベースログやアクションログの監視頻度は他に比べると低くても良いのは確かです。統合環境となるツールを導入するにはコストがかるという場合には複数のエンジニアで業務分担をするのも良い方法です。

どちらの方がコストパフォーマンスが高いかは現場のエンジニアの人数や業務状況によって異なるので、適している方を選んで運用体制を整えましょう。

awsのrdsは監視方法をよく考えて運用しよう

awsのrdsを使用する現場は多いですが、監視の仕方については十分に気を付ける必要があります。CPU使用率などの一般的なパラメータだけでなくログの監視も重要になるからです。データベースログとアクションログはそれぞれ取得の仕方が異なるので、統合的な監視環境を準備するか、複数のエンジニアで業務分担をするのが効率的な監視の仕方です。