AWSによるログ管理のメリット


Amazon Web Services(AWS)は、業務で使用するデータを、安全かつ効率的な管理を行うためのツールを提供しています。特に、AWSの強みであるログ管理サービスは、開発者や運用マネージャーが、簡単にアプリケーションを検証・モニタリングすることに役立つツールです。

各種AWSサービスから生成したログを同じ場所に纏めて、AWSで簡単にログを管理することができます。検証したいログのタイプとそのログに関連したイベントを指定できるため効率的に運用することが可能です。さらに、Cloud Watchなどを使うことで、時間計算やログの変更を自動で判断することもできます。

AWS のログ管理に関する基礎知識


AWS のログ管理は、2種類のプラットフォーム(Amazon CloudTrail と Amazon CloudWatch Logs)を組み合わせて行うことができます。Amazon CloudTrail では、AWS上で行われたアクションなどの情報を収集し、Amazon CloudWatch Logs のサービスを使用して、収集したデータを管理・分析し、グラフなどで表示できるようにします。

AWS の各サービスやインスタンスのログをスキャンして、プログラムコード上で定義された検知ルールに従い、警告やシステムの調整をおこなうことが可能です。最新のログを表示して、直接ログ管理を行うことも可能です。サンプルソースコードは以下の通りです。

// CloudTrailのログ情報を収集
var cloudTrail = new AWS.CloudTrail({region: ‘ap-northeast-1’});

// 収集したログをCloudWatch Logsに保存
var cloudWatchLogs = new AWS.CloudWatchLogs({region: ‘ap-northeast-1’});

// 収集したログを検知ルールに沿って分析
var detectRule = cloudWatchLogs.describeLogGroups({}).promise();

// 分析した情報をグラフ上に表示
var graphData = cloudTrail.getTrailStatus({Name: ‘my_trail_name’}).promise();


AWS の利用の仕方


AWS を利用してログ管理をおこなうためには、先ほど述べたサービスを正しく組み合わせたり細かい設定を行う必要があります。また、CloudWatchLogsにデータを保存する際は2時間ごとに、収集データを消費制限のツールを通じて配信しなくてはなりません。

実際にサービスを利用する場合は、詳細な料金設定などもじっくりと吟味する必要があります。なお、AWSの各種ドキュメントを参照すると、大変参考になる情報が満載です。

まとめ


本記事では、AWSを使ったログ管理について紹介しました。AWSの特徴としては、Amazon CloudTrail と Amazon CloudWatch Logs を使うことで、AWSの各サービスからの生成したログを同じ場所に纏めて管理することができること、また検知ルールを定義してログを自動で判断することなどが挙げられます。AWSのサービスを利用する際は、複数のサービスを組み合わせて行うだけでなく、料金設定などもじっくりとしっかりと吟味して行うことが必要です。

投稿者: systemreach_engineer