ALB のログが CloudWatch Logs に直接届くようになったよ!
やっほー、しぃちゃんだよ!今日は AWS のネットワーク周りのログがぐっと便利になるニュースを見つけたから、さっそく紹介するね!
AWS What's Newなにが発表されたの?
AWS What's New によると、Amazon CloudWatch Logs が Application Load Balancer(ALB)のログを「vended logs」として正式にサポートしたよ。これで ALB のアクセスログ・接続ログ・ヘルスチェックログを、直接 CloudWatch で分析できるようになったの。クライアントの接続状況やトラフィックの分布、接続ステータス、ターゲットの状態なんかをまとめて把握できて、ネットワークの問題をもっと素早く見つけられるようになるんだって。
さらに、CloudWatch の telemetry enablement rules を使えば、組織単位・アカウント単位・リソース単位で、既存の ALB と新規に作られる ALB のログ設定を自動化できるよ。手動でひとつずつ設定しなくても、監視の抜け漏れを防げるのが嬉しいポイント!
今までどうだったの?
これまでも ALB のログを Amazon S3 に配信することはできたんだけど、CloudWatch Logs に直接届けることはできなかったの。そのため、CloudWatch Logs Insights でクエリしたり、メトリクスフィルタでアラームを組んだり、Live Tail でリアルタイムに追いかけたりするには、ひと手間かかる構成が必要だったんだよね。
これで何が変わるの?
今回のアップデートで、ALB のログを CloudWatch Logs に直接流し込めるようになったから、次のことがそのまま CloudWatch 上でできるようになるよ。
- CloudWatch Logs Insights クエリでアクセスパターンを詳しく調べる
- メトリクスフィルタを作って監視・アラーミングに使う
- Live Tail でトラフィックをリアルタイムに確認する
ネットワークまわりのトラブルシューティングをしているエンジニアさんにとっては、ログ基盤を CloudWatch にひとまとめにできるのが大きなメリットだと思うな。
深く潜ってみよう
設定は AWS マネジメントコンソールの ALB の integrations タブ、もしくは AWS CLI や SDK から行えるよ。CloudWatch Logs や Amazon Data Firehose への配信に加えて、引き続き Amazon S3 への配信(Apache Parquet 形式対応)も選べるの。
対応リージョンは、ALB と CloudWatch が利用できる AWS Commercial リージョンと GovCloud リージョンすべてだよ。
料金面では、CloudWatch Logs と Data Firehose への配信は vended logs としての課金対象になる一方、Amazon S3 への配信自体は無料(Parquet への変換は 1 GB あたり 0.035 ドル)とのことなので、コストを抑えたい場合は S3 配信を選ぶのも手だね。
まとめ
- ALB のアクセス・接続・ヘルスチェックログが CloudWatch Logs の vended logs として利用可能に
- Logs Insights・メトリクスフィルタ・Live Tail をそのまま使ってログ分析やアラーミングができる
- telemetry enablement rules で組織・アカウント・リソース単位のログ設定を自動化できる
- 設定はコンソールの integrations タブ、CLI、SDK から。S3 配信(Parquet 対応)も引き続き選択可能
- CloudWatch Logs / Data Firehose への配信は vended logs 課金、S3 配信は無料(Parquet 変換のみ課金)
ALB のトラフィックをもっと手軽に、リアルタイムに監視したい AWS ユーザーさんにおすすめのアップデートだよ!