はじめに
CloudWatchLogsにたまったログをS3に保管する必要があったため、EventBridgeSchedulerを利用しログの転送を行おうと考えた
設定
基本的には以下の記事通りの設定しました。
Eventbridge Schedulerによる Cloudwatch LogsのS3への出力について考えてみる
https://qiita.com/s-niim/items/ef5a4ac4b19696386d17
Inputのみ以下のように設定します。
(CloudWatchLogs側でログはローテーションするため、あるログすべてを転送する仕組み)
{
"destination": "s3name",
"from": 0,
"logGroupName": "loggroupname",
"to": 253402300799000
}
0:1970/01/01 00:00:00(UTC)を表すミリ秒
253402300799000:9999/12/31 23:59:59(UTC)を表すミリ秒
何が起こったか
以下のエラーが発生した。
ただし必ずエラーが発生するわけではなく、うまくログの転送が行われることもある。。。
An error occurred (InvalidParameterException) when calling the CreateExportTask operation: Specified time range of '0' and '253402300799000' is not valid. Please make sure the values are within the retention period of the log groups and from value is lesser than the to values
原因
AWSに問い合わせたが、CreateExportTaskのtoで指定する値(桁数)で動作の保証がされている桁数が13桁または14桁らしい。公式リファレンスにも記載がなかったため躓いた・・・
また、15桁でもうまくいった理由については回答できないとのことでした。
参考