You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS ElastiCache SNS通知处于Inactive状态无法接收问题排查

问题诊断与解决方案

核心遗漏配置:KMS密钥策略未授权SNS服务使用密钥

当SNS主题使用自定义KMS密钥加密时,SNS服务本身需要具备该KMS密钥的权限来加密ElastiCache发送的消息。你的当前KMS密钥策略仅授权了ElastiCache服务,缺少对SNS服务的权限配置,这会导致SNS无法完成消息加密,进而让ElastiCache的通知状态持续变为Inactive。

需要在KMS密钥策略中添加以下Statement:

{
  "Effect": "Allow",
  "Principal": {
    "Service": "sns.amazonaws.com"
  },
  "Action": [
    "kms:GenerateDataKey*",
    "kms:Encrypt"
  ],
  "Resource": "*"
}

更新后的完整KMS密钥策略示例:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Default",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<account_id>:root"
      },
      "Action": "kms:*",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "elasticache.amazonaws.com"
      },
      "Action": [
        "kms:GenerateDataKey*",
        "kms:Decrypt"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sns.amazonaws.com"
      },
      "Action": [
        "kms:GenerateDataKey*",
        "kms:Encrypt"
      ],
      "Resource": "*"
    }
  ]
}

其他需要验证的配置点

  • 区域一致性:确保ElastiCache复制组与SNS主题处于同一AWS区域,ElastiCache不支持跨区域发送通知到SNS。
  • KMS密钥状态:确认KMS密钥处于Enabled状态,若密钥被禁用或删除,会导致加密操作失败。
  • SNS主题订阅有效性:检查SNS主题的订阅是否已确认(比如邮箱订阅需要点击确认链接),未确认的订阅会导致消息无法送达,但这不会直接导致ElastiCache通知状态变为Inactive。

内容的提问来源于stack exchange,提问作者Marco Caberletti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 22:34:52