返回顶部

阿里云MNS队列消息被大量消费

场景

  阿里云物联网平台数据流转至mns队列,发现mns队列扣费异常,发现消息队列一个月竟然消费了五千多万条消息(然而我们项目还没上线,实际业务根本没有达到这个数量级😱)。如图:

解决措施

补救措施:登入RAM控制台,禁用用户AccessKey,新建用户AccessKey
  

捣鼓一番,衍生出bug

 然后捣鼓一番,悲剧出现了ε(┬┬﹏┬┬)3,物联网平台流转数据至mns队列失败,错误代码9332。如图:

定位出报错原因

 一番苦思冥想之后,最后终于定位到原因MNS ServiceException:The request is denied by ram policy.。原因就是物联网平台服务订阅创建订阅之后会生成AliyunIOTAccessingMNSRole,可在RAM控制台-RANM角色管理查看。物联网平台数据流转至mns队列时,发现没有操作mns的权限,被ram拒绝了。(原来是我在移除原有权限的时候,一把小心把`AliyunIOTAccessingMNSRole`的操作mns权限也移除了,然后物联网平台自然就权限不够,被RAM无情的拒绝了🙈)
 定位出错误原因就好办了,找到`AliyunIOTAccessingMNSRole`,添加mns相关权限。添加后如图:

 修改之后观察数据流转(流转正常):
 
 服务器也能正常从队列拉取数据😎

异常消费问题

 至于mns队列换用用户AccessKey,是否还会出现异常大量消费,有待后续观察~🐷🐷🐷

posted @ 2020-09-03 16:00  搬砖的杰先生  阅读(1540)  评论(0编辑  收藏  举报