Skip to content

RealtimeLogConfig

Source: src/AWS/CloudFront/RealtimeLogConfig.ts

A CloudFront real-time log configuration.

Real-time logs deliver per-request records to a Kinesis data stream within seconds. Attach the configuration to a distribution’s cache behavior via Distribution (realtimeLogConfigArn).

const stream = yield* Kinesis.Stream("EdgeLogs", {});
const role = yield* IAM.Role("EdgeLogsRole", {
assumeRolePolicyDocument: {
Version: "2012-10-17",
Statement: [
{
Effect: "Allow",
Principal: { Service: "cloudfront.amazonaws.com" },
Action: "sts:AssumeRole",
},
],
},
inlinePolicies: {
kinesis: {
Version: "2012-10-17",
Statement: [
{
Effect: "Allow",
Action: [
"kinesis:DescribeStreamSummary",
"kinesis:DescribeStream",
"kinesis:PutRecord",
"kinesis:PutRecords",
],
Resource: stream.streamArn,
},
],
},
},
});
const logConfig = yield* RealtimeLogConfig("EdgeLogConfig", {
samplingRate: 100,
fields: ["timestamp", "c-ip", "cs-uri-stem", "sc-status"],
endpoints: [{ streamArn: stream.streamArn, roleArn: role.roleArn }],
});