😽

cloud trainにAthenaでクエリをかける

2023/10/19に公開

初めに

使ったことのないサービスがいっぱいあるのでちょっとずつ触っていきます。

結論

CloudTrailにAthenaクエリをかけてみた。
安くて調査は楽だけど、検索可能なeventが限られているので、利用用途は限られそう。

整理

Cloud Trailとは

AWSサービスのアクティビティを記録するもの。
作成したアプリのログを保存してくれるもの(cloud watch logs)とは違う。
Cloud Watch Logsにイベント配信しているので、Cloud Watch Logsで調査は完結できる。
Insightsを使うと、以上なアクティビティが保存される。

解析のやり方

  • Athenaテーブルを作る。右上の「Athenaテーブル作成」をクリック
    Alt text
  • Cloud Trailログファイルを含むS3バケットを選択。下に表示される「Athenaテーブルクエリ」はCloud Trailのスキーマと思われる
    Alt text
  • エラー発生
    Alt text
  • もう一回やると既にテーブルが有るという表示
    Alt text
  • 初回はAmazon Athenaの設定を管理
    Alt text
  • クエリをかける
    Alt text

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を見るしかないっぽい。

料金

https://aws.amazon.com/jp/athena/pricing/
(a) SQL クエリを実行してスキャンされたデータや使用したコンピューティングに基づいて課金される
(b) Apache Spark Python コードを実行してコードの実行に対しての時間単位で課金される

クエリ単位でスキャンされたバイト数に対して課金されます。バイト数はメガバイト単位で切り上げられ、クエリごとに最小 10 MB が課金。5.00USD per TB

データの圧縮、パーティション化、列指向形式に変換することで、クエリあたり最大 90% を節約でき、パフォーマンスを向上させることができます。パーティション化は大事ですね。

なにげにかけたクエリのサイズが2.86 GB
これは、5USD * (2.86GB/1000GB)*150円/USD = 2.1449999999999996円
2円くらいでログにクエリをかけられるわけですね。
これはかなり楽。

Discussion