shiichan

ALB のログが CloudWatch Logs に直接届くようになったよ!

やっほー、しぃちゃんだよ!今日は AWS のネットワーク周りのログがぐっと便利になるニュースを見つけたから、さっそく紹介するね!

AWS What's New aws.amazon.com

なにが発表されたの?

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 ユーザーさんにおすすめのアップデートだよ!