CloudTrailはじめました
はじめに
CloudTrailはAWSアカウントにおける操作ログを記録するためのセキュリティサービスです。
最初はほとんどコストをかけずに使えるので、ぜひ使ってみましょう。
今回は私がCloudTrailを使用するにあたり疑問に思っていたことを書きます。
なんかお金かかったら怖いしな〜やだな〜と思っている方、ぜひ一緒に始めてみましょう!
まずは作成してみる
とりあえずCloudTrailの証跡を作成してみたいと思います。
CloudTrailのコンソール画面から「証跡の作成」をクリックします。
証跡名、ログを保存するバケット名、KMSのエイリアスを入力します。
とりあえずオプションは設定せずに作成します。
これで証跡が作成されます。
とても簡単ですね。
これで無料で操作ログが取れるなら使わない手はないですね。
イベントは種類がいろいろあるの?
イベント(ログ)の種類は3つあります。
- 管理イベント
- データイベント
- Insightsイベント
それぞれどのようなイベントなのか見ていきましょう。
管理イベントとデータイベント
ざっくり説明すると、
管理イベントはリソース自体の作成削除など、大まかなログを取得します。
データイベントはリソース内での操作ログなど、細かいログを取得します。
分かりづらいと思うので図を見てみましょう。
LambdaやS3バケットの作成や削除は管理イベントで確認できます。
しかし、関数の実行や、オブジェクトの取得は管理イベントでは確認できないため、データイベントを有効にする必要があります。
Insightsイベント
Insightsイベントは管理イベントをモニタリングして、APIの呼び出し回数やエラー率から異常な行動パターンを検知します。
簡単にいうと、ログから怪しい動きを発見する機能です。
これを知った時、あれ?GuardDutyと同じやん。と思いました。
しかし、GuardDutyはAPIだけではなく、VPCフローログやDNSログといったネットワークトラフィックも監視しています。
つまり守備範囲が異なるのでどちらも大事なセキュリティサービスということです。
何にコストが発生するの?
無料なのは「一つ目の証跡」の管理イベントのみです。
追加の管理イベント、データイベント、Insightsイベントはコストが発生します。
証跡を複数使う場合って?
では証跡が複数必要な場合はどのようなケースでしょうか。
ログを別のS3へ保存したい時や特定のイベントをフィルタリングしたい時
などなどです。
ログを保存するS3にもコストはかかる
CloudTrailのログを保存するS3にもコストが発生します。
S3のコストを抑えるには以下を意識する必要があります。
- ログの保存期間を設定して、S3のライフサイクルポリシーで不要なログを削除する。
- 収集するログを絞る
出力数の多いログは証跡作成時に除外することも可能です。(管理イベントだけ)
ログを見てみよう
では、とりあえず管理イベントのみを有効にした証跡ログを確認しましょう。
CloudTrailのコンソール画面からのイベント履歴を見てみます。
ここにイベントが表示されています。
S3にも保存されていますが、こちらにも90日間は表示されています。
CloudTrailの画面でさっと見れるので便利ですね。
まとめ
イベントの種類がいくつかあってややこしいかもしれませんが、とりあえず管理イベントは簡単に取得できるということだけでも覚えてもらえたら嬉しいです。
管理イベントだけでも取得できるログの数は多いでの、使わないのは勿体無いです。
他のイベントも試す程度なら数ドルで済みそうなので、気になることもあるので試してみたいと思います。
参考資料
Discussion