RealtimeLogConfig
The RealtimeLogConfig resource lets you manage AWS CloudFront Realtime Log Configurations for real-time logging of data as it is delivered through CloudFront.
Minimal Example
Section titled “Minimal Example”Create a basic RealtimeLogConfig with the required properties and a sampling rate.
import AWS from "alchemy/aws/control";
const realTimeLogConfig = await AWS.CloudFront.RealtimeLogConfig("basic-realtime-log-config", { name: "my-realtime-log-config", fields: ["timestamp", "c-ip", "cs-method", "cs-uri-stem"], endPoints: [{ StreamType: "Kinesis", KinesisStreamConfig: { StreamARN: "arn:aws:kinesis:us-east-1:123456789012:stream/my-stream", RoleARN: "arn:aws:iam::123456789012:role/my-role" } }], samplingRate: 10 // Log every 10th request});
Advanced Configuration
Section titled “Advanced Configuration”Configure a RealtimeLogConfig with multiple endpoints and a higher sampling rate for more granular logging.
const advancedLogConfig = await AWS.CloudFront.RealtimeLogConfig("advanced-realtime-log-config", { name: "my-advanced-realtime-log-config", fields: ["timestamp", "c-ip", "cs-method", "cs-uri-stem", "sc-status"], endPoints: [{ StreamType: "Kinesis", KinesisStreamConfig: { StreamARN: "arn:aws:kinesis:us-east-1:123456789012:stream/my-stream", RoleARN: "arn:aws:iam::123456789012:role/my-role" }, Name: "my-kinesis-endpoint" }, { StreamType: "Firehose", FirehoseStreamConfig: { DeliveryStreamARN: "arn:aws:firehose:us-east-1:123456789012:deliverystream/my-firehose", RoleARN: "arn:aws:iam::123456789012:role/my-firehose-role" }, Name: "my-firehose-endpoint" }], samplingRate: 5 // Log every 5th request});
Custom Adoption
Section titled “Custom Adoption”If you want to adopt an existing RealtimeLogConfig rather than fail when it already exists, you can set the adopt
property.
const adoptExistingLogConfig = await AWS.CloudFront.RealtimeLogConfig("existing-realtime-log-config", { name: "existing-log-config", fields: ["timestamp", "c-ip"], endPoints: [{ StreamType: "Kinesis", KinesisStreamConfig: { StreamARN: "arn:aws:kinesis:us-east-1:123456789012:stream/my-existing-stream", RoleARN: "arn:aws:iam::123456789012:role/my-existing-role" } }], samplingRate: 1, // Log every request adopt: true // Adopt existing resource});