msk-apache-kafka-cluster

cloudposse/msk-apache-kafka-cluster/aws

Terraform Module HCL AWS

Terraform module to provision AWS MSK

Install
module "msk-apache-kafka-cluster" {
source = "cloudposse/msk-apache-kafka-cluster/aws"
version = "2.6.0"
}
⭐ Source on GitHub 📦 Registry page
README

Terraform module to provision Amazon Managed Streaming for Apache Kafka __Note:__ this module is intended for use with an existing VPC. To create a new VPC, use terraform-aws-vpc module. NOTE: Release 0.8.0 contains breaking changes that will result in the destruction of your existing MSK cluster. To preserve the original cluster, follow the instructions in the 0.7.x to 0.8.x+ migration path. > [!TIP] > #### 👽 Use Atmos with Terraform > Cloud Posse uses atmos to easily orchestrate multiple environments using Terraform. > Works with Github Actions, Atlantis, or Spacelift. > > > Watch demo of using Atmos with Terraform > > Example of running atmos to manage infrastructure from our Quick Start tutorial. > Usage Here's how to invoke this example module in your projects ```hcl module "kafka" {

Inputs (50)
NameTypeDescriptionDefault
vpc_idstringThe ID of the VPC where the Security Group will be created. required
broker_instance_typestringThe instance type to use for the Kafka brokers required
subnet_idslist(string)Subnet IDs for Client Broker required
kafka_versionstringThe desired Kafka software version. Refer to https://docs.aws.amazon.com/msk/lat required
security_group_create_timeoutstringHow long to wait for the security group to be created."10m"
allow_all_egressboolIf `true`, the created security group will allow egress on all ports and protocotrue
client_sasl_scram_secret_association_enabledboolEnable the list of AWS Secrets Manager secret ARNs for SCRAM authenticationtrue
cloudwatch_logs_log_groupstringName of the Cloudwatch Log Group to deliver logs tonull
enabledboolSet to false to prevent the module from creating any resourcesnull
tagsmap(string)Additional tags (e.g. `{'BusinessUnit': 'XYZ'}`). Neither the tag keys nor the t{}
descriptor_formatsanyDescribe additional descriptors to be output in the `descriptors` output map. Ma{}
firehose_logs_enabledboolIndicates whether you want to enable or disable streaming broker logs to Kinesisfalse
namespacestringID element. Usually an abbreviation of your organization name, e.g. 'eg' or 'cp'null
label_value_casestringControls the letter case of ID elements (labels) as included in `id`, set as tagnull
security_group_namelist(string)The name to assign to the created security group. Must be unique within the VPC.[]
broker_per_zonenumberNumber of Kafka brokers per zone1
broker_dns_records_countnumberThis variable specifies how many DNS records to create for the broker endpoints 0
jmx_exporter_enabledboolSet `true` to enable the JMX Exporterfalse
allowed_cidr_blockslist(string)A list of IPv4 CIDRs to allow access to the security group created by this modul[]
custom_broker_dns_namestringCustom Route53 DNS hostname for MSK brokers. Use `%%ID%%` key to specify brokersnull
stagestringID element. Usually used to indicate role, e.g. 'prod', 'staging', 'source', 'bunull
attributeslist(string)ID element. Additional attributes (e.g. `workers` or `cluster`) to add to `id`, []
environmentstringID element. Usually used for region e.g. 'uw2', 'us-west-2', OR role 'prod', 'stnull
create_security_groupboolSet `true` to create and configure a new security group. If false, `associated_strue
… and 10 more inputs
Outputs (23)
security_group_id — The ID of the created security group
security_group_arn — The ARN of the created security group
bootstrap_brokers_sasl_scram — Comma separated list of one or more DNS names (or IP addresses) and SASL SCRAM port pairs for access
bootstrap_brokers_vpc_connectivity_sasl_iam — Comma separated list of one or more DNS names (or IP addresses) and SASL IAM port pairs for access t
hostnames — List of MSK Cluster broker DNS hostnames
cluster_arn — Amazon Resource Name (ARN) of the MSK cluster
storage_mode — Storage mode for supported storage tiers
bootstrap_brokers_public_sasl_scram — Comma separated list of one or more DNS names (or IP addresses) and SASL SCRAM port pairs for public
bootstrap_brokers_vpc_connectivity_tls — Comma separated list of one or more DNS names (or IP addresses) and TLS port pairs for access to the
zookeeper_connect_string — Comma separated list of one or more hostname:port pairs to connect to the Apache Zookeeper cluster
config_arn — Amazon Resource Name (ARN) of the MSK configuration
latest_revision — Latest revision of the MSK configuration
security_group_name — The name of the created security group
cluster_name — MSK Cluster name
bootstrap_brokers_tls — Comma separated list of one or more DNS names (or IP addresses) and TLS port pairs for access to the
bootstrap_brokers_public_tls — Comma separated list of one or more DNS names (or IP addresses) and TLS port pairs for public access
bootstrap_brokers_sasl_iam — Comma separated list of one or more DNS names (or IP addresses) and SASL IAM port pairs for access t
bootstrap_brokers_public_sasl_iam — Comma separated list of one or more DNS names (or IP addresses) and SASL IAM port pairs for public a
broker_endpoints — List of broker endpoints
bootstrap_brokers — Comma separated list of one or more hostname:port pairs of Kafka brokers suitable to bootstrap conne
bootstrap_brokers_vpc_connectivity_sasl_scram — Comma separated list of one or more DNS names (or IP addresses) and SASL SCRAM port pairs for access
zookeeper_connect_string_tls — Comma separated list of one or more hostname:port pairs to connect to the Apache Zookeeper cluster v
current_version — Current version of the MSK Cluster
Resources (5)
aws_appautoscaling_policyaws_appautoscaling_targetaws_msk_clusteraws_msk_configurationaws_msk_scram_secret_association
Details
FrameworkTerraform Module
LanguageHCL
Version2.6.0
Cloud AWS
★ Stars75
Forks112
Total downloads1.0M
Inputs50
Outputs23
Resources5
Examples1
LicenseApache-2.0
Namespacecloudposse
Updated