Aws:KinesisDataFirehose:DeliverLogsToS3Bucket
S3バケットにログを配信する
KinesisDataFirehoseを中継してS3バケットにログを配信する設定手順を記載します。
KinesisDataFirehoseの設定手順
- Create delivery stream
-
- New delivery stream
-
以下の設定をし[Next]をクリックします。
・Delivery stream name:配信ストリームの名前を指定します。※下記のように用途によって名前に制約がある場合があります。
https://docs.aws.amazon.com/ja_jp/fsx/latest/WindowsGuide/file-access-auditing.html#faa-log-destinations
・Source:[Direct PUT or other sources]を選択します。
https://docs.aws.amazon.com/ja_jp/firehose/latest/dev/encryption.html
- Process records
-
以下の設定をし[Next]をクリックします。
・Data transformation:Disabled ※ログのデータ変換を行う場合は[Enabled]を選択し、変換処理用のLambda関数を選択します。
・Record format conversion:Disabled ※JSON形式のソースレコードを、Glueで定義されたテーブルのスキーマで変換する場合は[Enabled]を選択します。
- Choose a destination
-
以下の設定をし[Next]をクリックします。
・Destination:Amazon S3
・S3 bucket:配信するS3バケットを選択します。
・S3 prefix:必要に応じてプレフィックスを設定します。
https://docs.aws.amazon.com/ja_jp/firehose/latest/dev/s3-prefixes.html
・S3 error prefix:必要に応じてエラー時のプレフィックスを設定します。
https://docs.aws.amazon.com/ja_jp/firehose/latest/dev/s3-prefixes.html#prefix-rules
- Configure settings
-
以下の設定をし[Next]をクリックします。
■S3 buffer conditions
・Destination:Amazon S3
https://docs.aws.amazon.com/ja_jp/firehose/latest/dev/create-configure.html#buffer
・Buffer size:5MB(デフォルト)
・Buffer interval:300Seconds(デフォルト)■S3 compression and encryption
https://docs.aws.amazon.com/ja_jp/firehose/latest/dev/create-configure.html#compression-encryption
・S3 compression:Zip
・S3 encryption:Disabled ※暗号化する場合はKMSキーを選択します。■Error logging
https://docs.aws.amazon.com/ja_jp/firehose/latest/dev/monitoring-with-cloudwatch-logs.html
・Error logging:Enabled ※データ配信が失敗した場合の、CloudWatchLogsへの記録を無効にする場合は[Disabled]を選択します。■Tags
必要に応じて設定します。■Permissions
・IAM role:IAMロールを指定します。 ※カスタムロールを作成する場合は下記を参考にしてください。- カスタムロール
-
・信頼関係:firehose.amazonaws.com
・カスタムポリシー
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetTableVersion", "glue:GetTableVersions" ], "Resource": [ "arn:aws:glue:ap-northeast-1:[アカウントID]:catalog", "arn:aws:glue:ap-northeast-1:[アカウントID]:database/%FIREHOSE_POLICY_TEMPLATE_PLACEHOLDER%", "arn:aws:glue:ap-northeast-1:[アカウントID]:table/%FIREHOSE_POLICY_TEMPLATE_PLACEHOLDER%/%FIREHOSE_POLICY_TEMPLATE_PLACEHOLDER%" ] }, { "Sid": "", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::[配信するS3バケット]", "arn:aws:s3:::[配信するS3バケット]/*" ] }, { "Sid": "", "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": "arn:aws:lambda:ap-northeast-1:[アカウントID]:function:%FIREHOSE_POLICY_TEMPLATE_PLACEHOLDER%" }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:ap-northeast-1:[アカウントID]:key/%FIREHOSE_POLICY_TEMPLATE_PLACEHOLDER%" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.ap-northeast-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::%FIREHOSE_POLICY_TEMPLATE_PLACEHOLDER%/*" ] } } }, { "Sid": "", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:ap-northeast-1:[アカウントID]:log-group:/aws/kinesisfirehose/aws-fsx-stream:log-stream:*" ] }, { "Sid": "", "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:ap-northeast-1:[アカウントID]:stream/%FIREHOSE_POLICY_TEMPLATE_PLACEHOLDER%" }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:ap-northeast-1:[アカウントID]:key/%FIREHOSE_POLICY_TEMPLATE_PLACEHOLDER%" ], "Condition": { "StringEquals": { "kms:ViaService": "kinesis.ap-northeast-1.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:kinesis:arn": "arn:aws:kinesis:ap-northeast-1:[アカウントID]:stream/%FIREHOSE_POLICY_TEMPLATE_PLACEHOLDER%" } } } ] }
Aws/KinesisDataFirehose/DeliverLogsToS3Bucket.txt · 最終更新: 2021/08/20 by 127.0.0.1