[AWS::MSK::Cluster] - [Coverage] - Amazon MSK Broker Type
Name of the resource
AWS::MSK::Cluster
Resource name
No response
Description
Amazon MSK now supports two different broker types: Standard and Express.
- https://docs.aws.amazon.com/msk/latest/developerguide/broker-instance-types.html
CloudFormation should allow the broker type to be specified when creating an MSK cluster.
Other Details
No response
How is this available in the console and not in cloudformation and considered production ready, especially after more than half a year ? Are people really creating and managing production clusters using the console ?
I don't think it's a CF issue. You specify express broker as instance type: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-cluster-brokernodegroupinfo.html. Here's the example of CLI:
brokernodegroupinfo.json
{"InstanceType": "express.m7g.large","BrokerAZDistribution": "DEFAULT","ClientSubnets": ["subnet-1","subnet-2","subnet-3"]}
aws kafka create-cluster --cluster-name "TestCluster" --broker-node-group-info file://brokernodegroupinfo.json --kafka-version "3.6.0" --number-of-broker-nodes 3
Copying part of my comment here from the related CDK issue:
As of today, the Cloudformation documentation still indicates it only supports Standard brokers:
InstanceType
The type of Amazon EC2 instances to use for brokers. The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, kafka.m5.24xlarge, and kafka.t3.small.
But Cloudformation does actually let you pass express.* instance types into that field and deploy Express brokers - as per the Cloudformation template attached to this blog post.
So for anyone reading, the Express broker types ARE usable in Cloudformation, but the documentation is out of date.