cloud trainにAthenaでクエリをかける
初めに
使ったことのないサービスがいっぱいあるのでちょっとずつ触っていきます。
結論
CloudTrailにAthenaクエリをかけてみた。
安くて調査は楽だけど、検索可能なeventが限られているので、利用用途は限られそう。
整理
Cloud Trailとは
AWSサービスのアクティビティを記録するもの。
作成したアプリのログを保存してくれるもの(cloud watch logs)とは違う。
Cloud Watch Logsにイベント配信しているので、Cloud Watch Logsで調査は完結できる。
Insightsを使うと、以上なアクティビティが保存される。
解析のやり方
- Athenaテーブルを作る。右上の「Athenaテーブル作成」をクリック
- Cloud Trailログファイルを含むS3バケットを選択。下に表示される「Athenaテーブルクエリ」はCloud Trailのスキーマと思われる
- エラー発生
- もう一回やると既にテーブルが有るという表示
- 初回はAmazon Athenaの設定を管理
- クエリをかける
AbortMultipartUploadを引っ掛けたかったが見つからなかった。
However, you can't view data events (Amazon S3 object-level calls) there—you must parse or query CloudTrail logs for them.
ということで、cloud watch logsを見るしかないっぽい。
料金
(b) Apache Spark Python コードを実行してコードの実行に対しての時間単位で課金される
クエリ単位でスキャンされたバイト数に対して課金されます。バイト数はメガバイト単位で切り上げられ、クエリごとに最小 10 MB が課金。5.00USD per TB
データの圧縮、パーティション化、列指向形式に変換することで、クエリあたり最大 90% を節約でき、パフォーマンスを向上させることができます。パーティション化は大事ですね。
なにげにかけたクエリのサイズが2.86 GB
これは、5USD * (2.86GB/1000GB)*150円/USD = 2.1449999999999996円
2円くらいでログにクエリをかけられるわけですね。
これはかなり楽。
Discussion