CloudWatch LogsのS3エクスポート

AWS,CloudWatch

CloudWatch LogsのイベントをS3にエクスポートしたい

 

CloudWatch Logsは従量課金制

  • CloudWatch Logsは初期費用や最低利用料金はかかりませんが、支払いは従量課金制です。
  • 東京リージョンの場合、以下の費用が掛かります(2019/7/10現在)。
    収集 (データの取り込み): 0.76 USD/GB
    保存 (アーカイブ): 0.033 USD/GB
  • 用途は異なるものの、ログを保存する目的の場合、S3 を使用する方が安価です。

CloudWatch Logsのイベントに失効期間を設定する

  • CloudWatch Logsの費用を抑えるために、イベントに失効期間を設定します。
  • CloudWatch Logsにて、ロググループを選択します。「次の期間経過後にイベントを失効」の設定値が「失効しない」(デフォルト)になっている場合、失効期間を設定します。
 
  • 期間は、選択肢から1日,3日,5日,1週間,2週間,1ヶ月,2ヶ月,3ヶ月,…と希望する期間を選んで設定します。
 

CloudWatch LogsのイベントをS3にエクスポートする

  • CloudWatch Logsのイベントを失効期間経過後も保管したい場合、S3にエクスポートすることも可能です。

S3のバケットポリシーを設定する

  • Amazon S3 にエクスポートする機能を使用するには、送信先のバケットへの s3:PutObject アクセス権が必要です。
  • S3のバケットポリシーに下記を設定します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "logs.ap-northeast-1.amazonaws.com"
            },
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::bucketname-for-s3export"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "logs.ap-northeast-1.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::bucketname-for-s3export/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}

ロググループを選択してエクスポートする

  • 準備が整ったら、CloudWatch Logsにてロググループを選択し、S3へエクスポートを行います。
 
  • エクスポートするイベントの開始日と終了日をUTCで入力します。エクスポート先のバケットを選択します。異なるアカウントも選択可能です。

AWS,CloudWatch

Posted by takaaki