24
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWSにおけるアプリケーションのログ記録のベストプラクティス

Last updated at Posted at 2023-03-10

はじめに

アプリケーションログは、アプリケーションの動作状況をログファイルに記録するプロセスです。アプリケーションよって、この動作状況は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.

参考

24
26
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?