【发布时间】:2023-01-15 18:27:12
【问题描述】:
预先感谢您的任何帮助!
我的公司使用多个 AWS 账户来分隔区域和“全球”功能/存储。我们最近改用 MQTT IoT 规则,并针对我们处理数据的方式对区域 Kafka 与全球 Kafka 实例进行了测试,确定全球 Kafka 最有意义。
我已经能够正确设置一个区域 Kafka,并将区域 IoT 推送数据(在同一个帐户中),但是当我尝试设置一个具有区域 IoT 推送数据的全局 Kafka 时,它失败了(单独的帐户)。
IoT 规则也不会将任何错误发布到 Cloudwatch Logs,尽管将日志组设置为错误操作。
我们已经设置了一切以使用对等连接并允许 CIDR 访问安全组,并且有许多其他服务从区域到全球运行都很好,但是这个让我们失望了。
我什至能够在与我分配给我的物联网规则相同的 VPC、子网和安全组下的区域中创建一个 EC2 实例,并且它可以很好地从 Kafka 生产和消费。
我唯一能想到的问题是引导程序 URL 在区域内无法访问,或者秘密用户名/密码无法正确访问。秘密已在全局帐户中设置。我正在使用的角色已获得在单独帐户中读取该机密的权限。
arn:aws:iam::12345:角色/测试角色:
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue",
"secretsmanager:DescribeSecret"
],
"Resource": "arn:aws:secretsmanager:region:9876:secret:AmazonMSK_TestSecret"
}
${get_secret('arn:aws:secretsmanager:region:9876:secret:AmazonMSK_TestSecret', 'SecretString', 'username', 'arn:aws:iam::12345:role/TestRole')}
如果有人熟悉跨帐户读取机密或跨帐户使用 MSK Bootstrap URL,我将不胜感激。
【问题讨论】:
标签: amazon-web-services apache-kafka aws-iot aws-secrets-manager aws-msk