AWS::MSK::Cluster - AWS CloudFormation

AWS::MSK::Cluster

Creates a new MSK cluster. The following Python 3.6 examples shows how you can create a cluster that's distributed over two Availability Zones. Before you run this Python script, replace the example subnet and security-group IDs with the IDs of your subnets and security group. When you create an MSK cluster, its brokers get evenly distributed over a number of Availability Zones that's equal to the number of subnets that you specify in the BrokerNodeGroupInfo parameter. In this example, you can add a third subnet to get a cluster that's distributed over three Availability Zones.

import boto3 client = boto3.client('kafka') response = client.create_cluster( BrokerNodeGroupInfo={ 'BrokerAZDistribution': 'DEFAULT', 'ClientSubnets': [ 'subnet-012345678901fedcba', 'subnet-9876543210abcdef01' ], 'InstanceType': 'kafka.m5.large', 'SecurityGroups': [ 'sg-012345abcdef789789' ] }, ClusterName='SalesCluster', EncryptionInfo={ 'EncryptionInTransit': { 'ClientBroker': 'TLS_PLAINTEXT', 'InCluster': True } }, EnhancedMonitoring='PER_TOPIC_PER_BROKER', KafkaVersion='2.2.1', NumberOfBrokerNodes=2 ) print(response)

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::MSK::Cluster", "Properties" : { "BrokerNodeGroupInfo" : BrokerNodeGroupInfo, "ClientAuthentication" : ClientAuthentication, "ClusterName" : String, "ConfigurationInfo" : ConfigurationInfo, "CurrentVersion" : String, "EncryptionInfo" : EncryptionInfo, "EnhancedMonitoring" : String, "KafkaVersion" : String, "LoggingInfo" : LoggingInfo, "NumberOfBrokerNodes" : Integer, "OpenMonitoring" : OpenMonitoring, "StorageMode" : String, "Tags" : {Key: Value, ...} } }

Properties

BrokerNodeGroupInfo

Information about the broker nodes in the cluster.

Required: Yes

Type: BrokerNodeGroupInfo

Update requires: No interruption

ClientAuthentication

VPC connection control settings for brokers.

Required: No

Type: ClientAuthentication

Update requires: No interruption

ClusterName

The name of the cluster.

Required: Yes

Type: String

Minimum: 1

Maximum: 64

Update requires: Replacement

ConfigurationInfo

Represents the configuration that you want MSK to use for the cluster.

Required: No

Type: ConfigurationInfo

Update requires: No interruption

CurrentVersion

The version of the cluster that you want to update.

Required: No

Type: String

Update requires: No interruption

EncryptionInfo

Includes all encryption-related information.

Required: No

Type: EncryptionInfo

Update requires: No interruption

EnhancedMonitoring

Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.

Required: No

Type: String

Allowed values: DEFAULT | PER_BROKER | PER_TOPIC_PER_BROKER | PER_TOPIC_PER_PARTITION

Minimum: 7

Maximum: 23

Update requires: No interruption

KafkaVersion

The version of Apache Kafka. You can use Amazon MSK to create clusters that use Apache Kafka versions 1.1.1 and 2.2.1.

Required: Yes

Type: String

Minimum: 1

Maximum: 128

Update requires: No interruption

LoggingInfo

Logging Info details.

Required: No

Type: LoggingInfo

Update requires: No interruption

NumberOfBrokerNodes

The number of broker nodes in the cluster.

Required: Yes

Type: Integer

Update requires: No interruption

OpenMonitoring

The settings for open monitoring.

Required: No

Type: OpenMonitoring

Update requires: No interruption

StorageMode

This controls storage mode for supported storage tiers.

Required: No

Type: String

Allowed values: LOCAL | TIERED

Minimum: 5

Maximum: 6

Update requires: No interruption

Tags

Create tags when creating the cluster.

Required: No

Type: Object of String

Pattern: ^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$

Update requires: No interruption

Return values

Ref

Fn::GetAtt

Arn

Property description not available.