Alibaba Cloud ActionTrailでOSSにログを保管してみる

ActionTrailは既定でOSSにデータを保管しない運用が可能です。ただし、30日間までしか操作履歴を保持出来ません。 トレイル設定の中で保管先のOSSバケットを指定することで30日以上のログ保管が可能となります。また、ログの分析を可能とするLogServiceとも連携可能です。 なお、OSSやLogServiceは課金対象です。

トレイルの追加はAlibaba CloudコンソールからActionTrailに移動し、左のメニューからトレイルリストから行います。

下の画像は設定後の状態ですが、設定ポイントは

  • トレイル名を指定します。 
  • OSSバケットを指定します。 トレイル作成時に新しいOSSバケットを作成することもできますし、既存のバケットを指定することも可能です。ここでは既存のバケットを指定しています
  • また、OSSバケット指定時にはRAM(アカウント管理、AWSでいうIAM)の権限付与の画面に遷移しますので内容を確認しつつ、案内のとおり権限付与を許可します
  • 最後にLogServiceについてリージョンとプロジェクト名を指定します。急に出てくるLogServiceですが後ほど説明します。

OSSに保存されたログを見てみる

コンソールからOSSの管理画面に移動し、ActionTrailのトレイルに指定したOSSバケットの”ファイル”を確認する。

”Aliyun_logs”というディレクトリが出来ていることがわかります。なお、ActionTrailのトレイル設定を実施した直後には見えてきません。操作を行いつつ、ActionTrailの反映時間となる10分間は待つ必要があるかもしれません。

ディレクトリをたどっていくとAliyunlogs/Actiontrail/ap-northeast-1/2019/02/とリージョンや年、月、日ごとにディレクトリが構造化されていることがわかります。

日のディレクトリの中にログファイルがオブジェクトとして保管されていることが確認できました。

ログファイルが数百GBやTBになったらどうするか?

コンソールの操作履歴なのでGBまではなかなか達しないかもしれません。 一方、大量のECSやコンテナ、各種サービスのデプロイを自動処理で登録や解除を頻繁に繰り返すとなるとログサイズは増えるはずです。 

大量ログで考慮することは課金です。 OSSの”通常”タイプのバケットは2.41円/GBです(東京リージョン。また5GBまでは無償)。 1TBで2,410円/月になります。

そんなにログが増えるはずはない、たぶん大丈夫だろうで進めるよりも、仮にログデータが増えても良いように対処を考えるべきです。 OSSの標準機能に”ライフサイクル”がありこの機能を利用することで一定期間経過したオブジェクト(ログファイル)をより安価なタイプのバケットに移動したり、削除することが出来ます。  ただ、ライフサイクルで移動、削除した場合にActionTrailがどう動作するかは詳しく記載がなかったため、30日後に試してみようと思います。

最後にOSSバケットの基本設定から設定できる”ライフサイクル”の画面を紹介します。

  • ファイルの有効期限の指定では有効期間、有効日を指定できます
  • 移行ということでIAやアーカイブを指定できます(元が通常の場合)
  • ファイルの削除も可能でこのとき、日数を指定できます