
CloudWatchLogsのエクスポートの制限について
皆さん、こんばんは。ちゃみみです。
さて、今日はみんな大好きCloudwatch関連についての記事となります。
このLogsのロググループのエクスポートについてなんですが、S3へエクスポートするという単純なものですが、こちらについて皆さんはエクスポートジョブの仕様制限というのはご存じだったりするでしょうか?
厳密には、そもそも CloudWatch Logs のログデータを S3 にエクスポートを行う際の制限とは、エクスポートを行うアクティブなタスクが 1つ のみというクォータに起因していて2つ以上の同時エクスポートなどの並列処理は行えないということになります。
そのため、PJでもあったのですがLambdaでこのあたりの処理を自動で行う際にタスクの状況を確認せずにコマンドラインで実施をしてしまうとLambdaのほうのログにエラーが出てしまうという事象が発生しまう。※PJではもう少し詳細にお話をすると、エクスポートジョブの状態を確認していたにも関わらず出ていたというのがあり問題はもう少しややこしかったですが。。。
そのため、毎度の定期的にこのエクスポートを実行するというのを手動で行うならまだしも自動で行う場合には、ログ量などが都度都度変化する可能性があるものなどについては、AWSサポートではサブスクリプションフィルタを推奨しているようでこのエクスポートでは想定よりも時間がかかってしまったりするケースなどもあり、あまりお勧めできた形ではなさそうというのが印象です。
参考までにログエクスポートジョブのステータスですが大まかに以下のようなものがあり、アクティブ判定として見られるものは、RUNNINGとPENDINGのようです。
・CANCELLED :キャンセル
・COMPLETED :完了
・FAILED :失敗
・PENDING :保留
・PENDING_CANCEL :保留のうえキャンセル
・RUNNING :稼働中
で、このジョブのステータスを確認するコマンドは、AWS CLIにおいては以下となります。
$describe-export-tasks
詳細なコマンドのURLはこちらです。
URL:
別記事ではサブスクリプションフィルタを実際に試してみた記事もあるのでご参考までに。
それでは、また次の記事でお会いしましょう~
※2023年03月29日のブログ記事をnote用に再投稿したものです。
以下、宣伝です。
仲間も募集中なので、気になる方は↓の記事を覗いてみてくださいませ。
いい会社だと思いますよ。