【まとめ】Amazon Athenaとは

ELBやCloudFrontのログはどうされてますか?S3に入れている方が多いと思います。

S3に指定バケットを作ってそれを指定するだけでドコドコ勝手に入ってくるので、非常に便利です。

ただ、S3に入ってきたログはファイルもたくさんですし、タブ区切りになっているだけですので、表として見るには、ダウンロードしてターミナルからパイプでawkコマンドで見たりする必要があり、割と手間が必要です。

Amazon Athenaではこれらをマネージド型サービスとしてダウンロードせずに、AWSコンソール上からSQLを叩いてログを分析する事が可能です。

AthenaのSQLは馴染深いMySQLなどとは少し異なり、Facebook製のPrestoベースの分散SQLエンジンです。記述方法が違いますが、なんとなく使えますので、シンタックスエラーになった都度調べて覚えるレベルで良いのではと思います。

例えば、S3の指定バケット全体から、昨日遅延が発生しているログを抽出する事が可能です。

料金は使った分だけですので、S3にログを出力していれば使った方が良いと思います。

スポンサーリンク

連携

ALB+Athena

ALBのログをAthenaで見るには以下の記事が参考になります。

https://dev.classmethod.jp/cloud/aws/amazon-athena-alblog-activity-using-regexserde-2/

今のところ自分はこれくらいしか使っていないのですが、AthenaのAPIを使って外部から呼び出す事が出来るので、やろうと思えば色々出来そうです。

また具体的に出てきたら更新していきたいと思います。

CloudFront+Athena

CloudFrontのログもS3に保存してあればAthenaで見れます。

https://docs.aws.amazon.com/ja_jp/athena/latest/ug/cloudfront-logs.html

Glue+Athena

S3やDBなど何かをGlueを通してデータカタログに出力すればAthenaで見れます。