はじめに
アプリケーションログは、アプリケーションの動作状況をログファイルに記録するプロセスです。アプリケーションよって、この動作状況は1つ以上のファイルに記録することが多いです。このログファイルは、セキュリティとパフォーマンスの分析の実行、アプリの問題のトラブルシューティングなどに役立ちます。この記事では、ログ、ログの種類およびAWSのCloudwatLogsサービスについて説明したいと思います。
各個人によって好きなAWSサービスがそれぞれだと思います。これが正解という訳ではありませんが、参考にしてただければと思います。
対象者
- AWSでログの記録に興味がある方。
- AWSでワークロードを運用している担当者。
ログレベル
ログレベルについて皆さんご存じだと思いますが、主に3種類のログがあります。
レベル | 説明 |
---|---|
info | システムのステートやプログラムの状況を表示する情報。 |
debug | 開発時にローカル環境で問題のデバッグ中によく使う情報。 |
error | システムやプログラムの処理が中断したり、停止した場合のエラー情報。 |
- 開発環境では、infoやdebugのログは開発者に役立ちますのでお勧めですが、容量について注意してください。
- 本番環境では、errorだけのログを有効にすることをお勧めします。
HTTP ステータス | 説明 |
---|---|
200 | 成功 |
300 | リダイレクト |
400 | クライアント側のエラー |
500 | サーバー側のエラー |
- 本番環境では、400と500ステータスコードのみのログを有効・記録することをお勧めします。
ログに記録するデータの注意点
- ログに記録するデータ・項目を上司またはシニアに確認してもらいましょう。組織のルールと法律を守るよう、注意してください。
- サードパーティーのログ監視ソリューションを利用するときは、ログに記録したデータの中で機密データがないかを確認してください。
- ログ保持のポリシーを考慮しましょう。
- 以下の属性はログに直接記録しないようにしましょう。必須の場合は、暗号化する事をお勧めします。
- アクセストークン
- 認証パスワード
- DB接続文字列 など。
ログデータの認証・認可の管理
- できるだけ、Logの専用アカウントにログを集中します。
- IAM ユーザーに対してログサービス(CloudwatchLog, S3 Bucket for Log)など一時停止、設定変更不可などのIAMポリシーを設定します。
- IAMユーザーに対してログサービスでログの読み取りのみの権限を付与します。
AWSサービス
- AWS CloudwatchLog というサービスをログ記録のために利用する事をお勧めします。
- EC2で実行中のアプリケーション及びコンテナーで実行中のアプリケーションにAWS Cloudwatchでログ送付の設定ができます。
- AWS Cloudwatchを利用すると、すべてのアプリケーションのログを一元化できます。
- ログ保持のポリシーを調整することができます。1日から10年の保持期間をサポートしています。
Keep Learning, and Keep Practicing.