[アップデート]RDS for SQLServerのログをCloudWatchLogsで記録できるようになりました。

2019.11.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。大阪オフィスの林です。

2019年11月25日(月)にRDS for SQL Serverの一部のログをAmazon CloudWatchLogsで記録できるようになりました。公式ページはこちら

本記事ではCloudWatchLogsで記録できるログの種類と、実際にログが記録される動作を見ていきたいと思います。

RDS for SQL ServerからCloudWatchLogsに記録できるログ

本日(2019/11/26)時点でRDS for SQL ServerからCloudWatchに発行できるログは下記の2種類です。

  • エージェントログ
  • エラーログ

※SQLServer関連の詳細はドキュメントはMicrosoftから提供されている公式ドキュメントをご確認ください。

検証してみた

RDS for SQLServerの作成

  1. AWSマネージメントコンソールから「RDS」を選択します。

  2.  

  3. 「データベースの作成」を選択します。
  4.  

  5. 「Microsoft SQL Server」を選択します。
  6.  

  7. 画面を下にスクロールしていくと、「追加設定」があるのでクリックして開きます。
  8.  

  9. ログのエクスポートで「エージェントログ」「エラーログ」にチェックを入れます。
  10.  

  11. RDS for SQL Serverができたことを確認します。

CloudWatchを見てみる

  1. AWSマネージメントコンソールから「Cloudwatch」を選択します。
  2.  

  3. ロググループを選択するとすでに「/aws/rds/instance/database-1/agent」と「/aws/rds/instance/database-1/error」が作成されています。
  4.  

  5. クリックで掘り進んでいくともうすでに幾つかログが出ていますね。

意図的にログを出してみる

  1. 今回は、EC2(Windows)にMicrosoft SQL Server Management Studioを入れて、RDS for SQLServerに接続し、何かしらのログを出していきたいと思います。

  2.  

  3. 接続時のログイン情報をわざと間違えてエラーログが出るか見てみましょう。
  4.  

  5. パスワードを間違えます。
  6.  

  7. CloudWatchでログを確認してみると、「Login failed」のログが出ていることが確認出来ました。
  8.  

  9. 次に、エージェントログが出るか見ていきましょう。適当に(中身は空っぽ)SQLServerAgentのジョブを作成します。

  10.  

  11. ジョブを実行します。

  12.  

  13. CloudWatchでログを確認してみると、「Request to run job」のログが出ていることが確認出来ました。

まとめ

CloudWatchにログが記録されるようになったお陰で、RDS for SQLServerのエージェントログ、エラーログで何かしらのログをトリガーとして簡単にアラームを設定でき、スムーズに次のアクションを打てるようになりました。また柔軟な保存期間を指定してログを保持することができるためログの永続的なアーカイブ先としても利用できます。AWSマネージメントコンソールからのログ分析やトラブルシュートにも役立てることができるので、運用の利便性が向上するようなアップデートではないでしょうか!

以上、大阪オフィスの林がお送りしました!