インフラ - CloudWatch (AWS)の概要
背景
インフラの勉強で軽く調べた内容を書き留めておきたいと思いました。
本記事では、主に監査ログに関して調べた内容をまとめていきます。
監査ログ
システムやアプリケーションの操作やイベントの履歴を記録するログのことを指します。監査ログはセキュリティやコンプライアンスの観点から重要です。
監査ログの使用用途について
監査トレイルの確保
監査ログはシステムやアプリケーションの操作履歴を詳細に記録するため、不正行為やセキュリティインシデントの追跡や特定に役立ちます。
監査トレイルとして使用され、必要な場合に調査や証拠の提供に役立ちます。
リアルタイムのモニタリング
監査ログを適切に収集しリアルタイムで監視することで、アプリケーションやシステムの異常な操作やイベントを検知することができます。
これにより、セキュリティ侵害や違反の早期発見と対応が可能となります。
コンプライアンスの遵守
監査ログはセキュリティ規制やコンプライアンス要件(例:GDPR、PCI DSSなど)を満たすために必要な情報源として使用されます。
監査機関や規制当局からの要求に応じて、監査ログの提供やレポートの作成が求められることもあります。
CloudWatch (AWS)
AWSのモニタリングおよび管理サービスです。
CloudWatchを使用すると、AWSリソースのパフォーマンス監視、ログの収集と分析、アラートの作成、自動スケーリングの設定など、さまざまな管理タスクを実行することができます。
CloudWatch Logs - ログの管理
CloudWatchは、AWSリソースから生成されるログデータを収集・保存し、クエリや分析や可視化ができるログ管理サービスを提供しています。
ログデータの収集やフィルタリング、保持期間の設定などを行い、問題のトラブルシューティングやセキュリティ監視などの目的で活用することができます。
導入方法
- ロググループの作成: CloudWatch Logsで管理するログデータのカテゴリごとにロググループを作成します。(アプリケーションログ用のロググループやシステムログ用のロググループなど)
- ログストリームの設定: ロググループ内にログストリームを作成します。ログストリームは、ログデータの送信元を識別するためのキーとして使用されます
ログからどのような情報が得られるか
エラーと障害の詳細
アプリケーションやシステムがエラーや障害に遭遇した際に、ログにエラーメッセージやスタックトレースが記録されます。
これにより、問題の原因や発生箇所を特定することができます。
パフォーマンスの監視と最適化
ログには、アプリケーションやシステムのパフォーマンスに関する情報が含まれています。
レスポンスタイムやリソースの使用量などのメトリクスがログに記録されます。
これにより、ボトルネックやパフォーマンスの低下を特定し、最適化のための手掛かりを得ることができます。
ユーザーの行動分析
アプリケーションログには、ユーザーのアクションやイベントに関する情報が記録されます。
ログからユーザーの行動パターンや傾向を分析することで、ユーザーのニーズや要求に応じた機能の改善や新機能の開発が可能となります。
セキュリティ監視と侵入検知
セキュリティログには、不正アクセスや攻撃の試行などの情報が記録されます。
ログを監視し、異常なアクティビティやセキュリティイベントを検出することで、セキュリティ対策の強化や侵入の早期発見が可能となります。
CloudWatchアラーム
CloudWatchでは事前に定義されたしきい値を監視し、設定されたアラームと自動アクションを使用して、運用パフォーマンスを向上させることができるサービスです。
CloudWatchアラームは、先程解説したCloudWatch Logsに収集されたログデータを監視し、事前に定義されたしきい値に基づいてアラートを生成することができます。
Slackに通知する
CloudWatchアラームを使用して、Slackに通知を送信することも可能です。
CPU使用率がしきい値(80.0)を超えたためにアラームがトリガーされたことを示しています。
リソースの異常な動作やパフォーマンスの問題を監視し、アラートを出すことができます。
導入方法
- Slackのワークスペースで、Incoming Webhooksを有効化します。これにより、Webhook URLが生成されます。
- AWS Management Consoleにログインし、CloudWatchのサービスページに移動します。
- ナビゲーションメニューの「アラーム」セクションを選択します。
- アラームを作成または編集します。適切なメトリックスを選択し、条件やしきい値を設定します。
- 「アクション」タブに移動し、「アクションの追加」をクリックします。
- 「アクションタイプ」を「SNS通知」に設定し、「SNSトピック」を選択します。
- 「SNSトピック」を作成するか、既存のトピックを選択します。
- SNSトピックのサブスクリプションにSlackのWebhook URLを登録します。
これにより、CloudWatchアラームがトリガーされたときにSNSトピックが通知を受け取り、SNSトピックがSlackのWebhook URLにメッセージを送信します。Slackチャンネルでアラートを受信することができます。
参考
続く…
コメント
本記事の内容は以上になります!
書籍の続きのアウトプットも随時更新したいと思います。
プログラミングスクールのご紹介 (卒業生より)
お世話になったプログラミングスクールであるRUNTEQです♪
こちらのリンクを経由すると1万円引きになります。
RUNTEQを通じて開発学習の末、受託開発企業をご紹介いただき、現在も双方とご縁があります。
もし、興味がありましたらお気軽にコメントか、TwitterのDMでお声掛けください。