内容提要
亚马逊云科技推荐企业客户采用Amazon MSK + Lambda的无服务器事件驱动处理架构,提供云原生优势。该架构支持Kafka API导入实时数据流到数据湖仓,具有资源弹性、数据流处理时效性和高并发波峰响应处理能力。同时提供后处理扩展能力,包括数据存储服务、安全控制、数据加密存储传输、监控告警日志以及机器学习和大数据分析应用。在中国大陆的北京/宁夏区域,暂未发布Lambda ESM for MSK功能,需采用Apache Kafka URL作为跨账号Lambda触发源实现跨账号的数据流处理架构。
延伸解读
区域功能差异带来的架构调整
在中国大陆的北京和宁夏区域,Lambda ESM for MSK 功能尚未发布,直接配置基于 MSK 的 Lambda 触发器会提示“Feature not support in the current region”。因此,文章提出改用 Apache Kafka URL 作为 Lambda 触发器源,并配合 SASL/SCRAM 认证和 Kafka ACL 来实现跨账号消息消费。这一差异意味着海外区域的部署方案不能直接照搬,需要针对中国区域进行适配。
跨账号访问的安全与网络配置要点
跨账号访问 MSK 集群时,必须采用 SASL/SCRAM 认证方式,并开启 Kafka ACL 功能以控制客户端权限。同时,通过 Amazon PrivateLink 在消费者账号创建托管 VPC 连接,构建跨账号私有网络通道。配置时需注意生产者与消费者账号的 VPC 子网和可用区一一对应,并为安全组开放 14001、14002、14003 端口,否则连接可能失败。
部署前的模板适配与资源清理
使用提供的 CloudFormation 模板部署时,需将 yaml 文件中的“arn:aws”替换为“arn:aws-cn”,以符合中国区域的 ARN 格式。部署完成后,可通过生产者账号发送消息,并在消费者账号的 S3 桶中验证数据写入。实验结束后,应及时清理生产者账号的 VPC endpoint 以及两个账号中由 CloudFormation 创建的堆栈,避免产生不必要的 MSK、Lambda、EC2 等费用。
Q&A
如何在北京/宁夏区域部署跨账号的MSK集群和Lambda函数?
在北京/宁夏区域,需利用Lambda触发器调用Apache Kafka URL实现跨账号的Lambda函数触发,并配置SASL/SCRAM认证和Kafka ACL功能。
Amazon MSK + Lambda架构的主要优势是什么?
该架构提供云原生优势,支持实时数据流处理,具备资源弹性和高并发响应能力,同时提供多种后处理扩展能力。
在中国大陆使用MSK时需要注意哪些限制?
在中国大陆的北京/宁夏区域,Lambda ESM for MSK功能尚未发布,需使用Apache Kafka URL作为跨账号触发源。
如何确保跨账号MSK集群的安全访问?
需采用SASL/SCRAM认证方式,并开启Kafka ACL功能,以确保客户端访问的安全控制。
如何快速部署MSK生产者和消费者应用?
用户可以通过AWS CloudFormation模板快速部署生产者和消费者应用,源代码托管在GitHub。
实验结束后如何清理云计算资源?
需登录生产者和消费者账号,清理手动创建的VPC endpoint和CloudFormation堆栈,以避免不必要的费用。