Experimental
@aws-cdk/aws-msk-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.
ClusterProps Struct
Properties for a MSK Cluster.
Example
declare const vpc: ec2.Vpc;
const cluster = new msk.Cluster(this, 'cluster', {
clusterName: 'myCluster',
kafkaVersion: msk.KafkaVersion.V4_1_X_KRAFT,
vpc,
encryptionInTransit: {
clientBroker: msk.ClientBrokerEncryption.TLS,
},
clientAuthentication: msk.ClientAuthentication.sasl({
scram: true,
}),
});
Properties
brokerTypeBrokerTypebroker_typeBrokerTypebrokerTypeBrokerTypeBrokerTypeBrokerTypeBrokerTypeBrokerType= BrokerType.STANDARD#When set to EXPRESS, the cluster will be created with Express Brokers. When this is set to EXPRESS, instanceType must also be specified.
clientAuthenticationClientAuthenticationclient_authenticationClientAuthenticationclientAuthenticationClientAuthenticationClientAuthenticationClientAuthenticationClientAuthenticationClientAuthentication= disabled#MSK supports using private TLS certificates or SASL/SCRAM to authenticate the identity of clients.
configurationInfoClusterConfigurationInfoconfiguration_infoClusterConfigurationInfoconfigurationInfoClusterConfigurationInfoConfigurationInfoClusterConfigurationInfoConfigurationInfoClusterConfigurationInfo= none#ebsStorageInfoEbsStorageInfoebs_storage_infoEbsStorageInfoebsStorageInfoEbsStorageInfoEbsStorageInfoEbsStorageInfoEbsStorageInfoEbsStorageInfo#Default: 1000 GiB EBS volume
encryptionInTransitEncryptionInTransitConfigencryption_in_transitEncryptionInTransitConfigencryptionInTransitEncryptionInTransitConfigEncryptionInTransitEncryptionInTransitConfigEncryptionInTransitEncryptionInTransitConfig= enabled#instanceTypeInstanceTypeinstance_typeInstanceTypeinstanceTypeInstanceTypeInstanceTypeInstanceTypeInstanceTypeInstanceType= kafka.m5.large#kafkaVersionKafkaVersionkafka_versionKafkaVersionkafkaVersionKafkaVersionKafkaVersionKafkaVersionKafkaVersionKafkaVersionrequired#loggingBrokerLoggingloggingBrokerLoggingloggingBrokerLoggingLoggingBrokerLoggingLoggingBrokerLogging= disabled#monitoringMonitoringConfigurationmonitoringMonitoringConfigurationmonitoringMonitoringConfigurationMonitoringMonitoringConfigurationMonitoringMonitoringConfiguration#Default: DEFAULT monitoring level
numberOfBrokerNodesnumbernumber_of_broker_nodesint | floatnumberOfBrokerNodesNumberNumberOfBrokerNodesdoubleNumberOfBrokerNodes*float64= 1#removalPolicyRemovalPolicyremoval_policyRemovalPolicyremovalPolicyRemovalPolicyRemovalPolicyRemovalPolicyRemovalPolicyRemovalPolicy= RemovalPolicy.RETAIN#securityGroupsISecurityGroup[]security_groupstyping.List[ISecurityGroup]securityGroupsList<ISecurityGroup>SecurityGroupsISecurityGroup[]SecurityGroups*[]ISecurityGroup#Default: create new security group
storageModeStorageModestorage_modeStorageModestorageModeStorageModeStorageModeStorageModeStorageModeStorageMode= StorageMode.LOCAL#Must have at least 2 subnets in two different AZs.
vpcSubnetsSubnetSelectionvpc_subnetsSubnetSelectionvpcSubnetsSubnetSelectionVpcSubnetsSubnetSelectionVpcSubnetsSubnetSelection#Default: the Vpc default strategy if not specified.
Amazon MSK distributes the broker nodes evenly across the subnets that you specify. The subnets that you specify must be in distinct Availability Zones. Client subnets can't be in Availability Zone us-east-1e.