Configuration
The Configuration resource lets you manage AWS MSK Configurations for your Apache Kafka clusters. This resource allows you to define and customize the settings used by your Kafka brokers.
Minimal Example
Section titled “Minimal Example”Create a basic MSK configuration with essential properties.
import AWS from "alchemy/aws/control";
const mskConfiguration = await AWS.MSK.Configuration("basic-msk-configuration", { name: "basic-configuration", serverProperties: ` auto.create.topics.enable = true log.retention.hours = 168 `, description: "Basic configuration for MSK cluster", kafkaVersionsList: ["2.8.0"]});
Advanced Configuration
Section titled “Advanced Configuration”Define an MSK configuration with more advanced settings for performance tuning.
const advancedMskConfiguration = await AWS.MSK.Configuration("advanced-msk-configuration", { name: "advanced-configuration", serverProperties: ` num.partitions = 3 compression.type = gzip log.retention.bytes = 1073741824 `, description: "Advanced configuration settings for better performance", kafkaVersionsList: ["2.8.0", "2.7.0"]});
Custom Configuration for Specific Use Case
Section titled “Custom Configuration for Specific Use Case”Create a configuration tailored for a specific use case, such as enabling log compaction.
const compactMskConfiguration = await AWS.MSK.Configuration("compact-msk-configuration", { name: "compact-configuration", serverProperties: ` log.cleaner.enable = true log.cleanup.policy = compact retention.ms = 86400000 `, description: "Configuration that enables log compaction", kafkaVersionsList: ["2.8.0"]});
Configuration with Latest Revision
Section titled “Configuration with Latest Revision”You can also specify the latest revision when creating a configuration.
const latestRevisionMskConfiguration = await AWS.MSK.Configuration("latest-revision-msk-configuration", { name: "latest-revision-configuration", serverProperties: ` auto.create.topics.enable = true log.retention.hours = 24 `, description: "Configuration with the latest revision specified", latestRevision: { revision: 1 // Assuming this is the desired latest revision }});