CloudWatch LogsのS3エクスポートが完了しない

0

AWS CLI v2を使用してCloudWatch LogsをS3にエクスポートしています。
前日分(00:00-23:59)のログをエクスポートする処理を以下の手順でPowerShellに記載しており、毎日00:00にEC2(Windows)のタスクで実行しています。

(1) aws logs describe-log-groups でロググループ一覧を取得。
(2) for文で(1)で取得したロググループを一つずつシーケンシャルにエクスポート処理。
(2)-1 ロググループの作成日時が前日23:59以降のロググループはスキップ(エラー回避のため)。
(2)-2 ロググループの保持期間が365日以外のロググループはスキップ(エクスポート対象のロググループは365日に設定済み)。
(2)-3 aws logs create-export-task でエクスポートタスクを開始。
(2)-4 while文で(2)-3で開始したエクスポートタスクの状態を確認。
(2)-4-1 aws logs describe-export-tasks でエクスポートタスクの状態を取得。
PENDING/RUNNINGの場合:スリープして(2)-4のwhile文をcontinue。
COMPLETEDの場合:(2)-4のwhile文をbreakして(2)のfor文で次のロググループの処理に進む。
上記以外の場合:(2)-4のwhile文をbreakして(2)のfor文で次のロググループの処理に進む(エラー扱い)。

上記の処理は正常に動作するのですが、ごくまれに、あるロググループのエクスポートタスクが完了せず、(2)-4-1の状態確認が終わらないためにスクリプトがハングしてしまいます。
このとき、aws logs create-export-task自体は正常終了してタスクIDが返されていますが、マネージドコンソールでタスクの状態が「Started successfully」から進行していません。
AWSドキュメントには「ログデータは、エクスポートできるようになるまで最大 12時間かかる場合があります」と記載があるため、タスク開始から14時間ほど待ってみたのですが、タスクの状態は変わりませんでした。
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/S3Export.html

タスクをキャンセルして再実行すると、ハングしていたロググループでもエクスポートできました。
頻度としては3か月で2回程度、発生するロググループは毎回異なります。
ログストリームが一つもないロググループでも発生するため、データ量との関連はないように思います。
正常にエクスポートできる場合が大半なので、S3バケット等の設定(同一リジョンやポリシー)は問題ないと考えています。

ログエクスポートが完了しない現象について、何か情報をお持ちの方がいらっしゃいましたらご教授いただけると幸いです。

kin
質問済み 1年前251ビュー
回答なし

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン