aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)

1.使用控制台创建即可

根据实例类型创建需要至少15分以上,可以提前创建好ec2实例和Secrets Manager,一会会使用到
aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)_第1张图片

2. 创建Secrets Manager (使用无认证时请跳过)

官方文档:https://docs.aws.amazon.com/zh_cn/msk/latest/developerguide/msk-password.html
必须以AmazonMSK_前缀,并且不能使用默认加密方式,需要去kms创建一个新的
aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)_第2张图片
kms 详情 截图
注意授权给当前用户,否则不能选择
aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)_第3张图片

3.修改初始的验证方式

确认等待完成
aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)_第4张图片

4.登录ec2测试

按照文档准备环境
https://docs.aws.amazon.com/zh_cn/msk/latest/developerguide/mkc-create-topic.html
以下是我个人总结的,实际参数按自己情况修改

sudo yum -y install java-11
wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.13-2.8.1.tgz
tar -xzf kafka_2.13-2.8.1.tgz
cd ./kafka_2.13-2.8.1/libs/
wget https://github.com/aws/aws-msk-iam-auth/releases/download/v1.1.1/aws-msk-iam-auth-1.1.1-all.jar

sasl认证相关
https://docs.aws.amazon.com/zh_cn/msk/latest/developerguide/msk-password.html

##配置认证文件
touch /data/users_jaas.conf
vim /data/users_jaas.conf
	KafkaClient {
	   org.apache.kafka.common.security.scram.ScramLoginModule required
	   username="alice"
	   password="alice-secret";
	};

cp /usr/lib/jvm/java-11-amazon-corretto.x86_64/lib/security/cacerts /tmp/kafka.client.truststore.jks
cd /root/kafka_2.13-2.8.1/bin 
touch client_sasl.properties
vim client_sasl.properties
	security.protocol=SASL_SSL
	sasl.mechanism=SCRAM-SHA-512
	ssl.truststore.location=/tmp/kafka.client.truststore.jks


##配置用户密钥文件环境变量(新加的ssh窗口 需要再次申明)
export KAFKA_OPTS=-Djava.security.auth.login.config=/data/users_jaas.conf
##配置地址方便使用(不同的认证方式端点不同,可能需要添加多个变量)
export KAFKA1=b-3.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9092,b-2.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9092,b-1.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9092
export KAFKA2=b-3.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9096,b-2.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9096,b-1.democlusterht.xa7css.c2.kafka.ap-northeast-1.amazonaws.com:9096

上述的端点地址:在控制台客户端信息查看
aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)_第5张图片
aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)_第6张图片
测试连接集群和操作集群

(以下命令明文传输时,直接不带 ‘--command-config client_sasl.properties’ 即可)
##列出topic
./kafka-topics.sh --bootstrap-server $KAFKA1 --list --command-config client_sasl.properties

##创建topic
./kafka-topics.sh --bootstrap-server $KAFKA2 --create --topic <topic-name> --command-config client_sasl.properties --replication-factor 2 --partitions 1 

##发送消息
./kafka-console-producer.sh --broker-list $KAFKA2 --topic topic-ht --producer.config client_sasl.properties
##接收消息
./kafka-console-consumer.sh --bootstrap-server $KAFKA2 --topic topic-ht --from-beginning --consumer.config client_sasl.properties

测试效果打开2个会话(新会话需要重新声明环境变量)
1.创建topic 2.生产 3.消费

可以看到我1会话使用的无验证方式,产生消息(只支持vpc下开启)
aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)_第7张图片
2会话窗口使用sasl验证连接集群,消费消息
aws-msk-托管kafka集群的简单使用(VPC内部访问:无验证和SASL认证)_第8张图片

你可能感兴趣的:(AWS使用日记,aws,kafka,云计算)