将RDS的CloudWatch告警加入CloudFormation是否需要配置RDS IAM角色?
问题解答
1. 不需要为目标RDS实例创建额外IAM角色
- RDS的
FreeStorageSpace属于AWS托管的服务指标,由AWS RDS服务默认自动采集并上报到CloudWatch,不需要RDS实例本身配置任何权限做指标推送。 - CloudWatch告警触发SNS动作是CloudWatch服务自身的行为,权限逻辑由AWS服务内部承担,和RDS实例的IAM角色没有关联。
2. 现有SNS访问策略完全满足需求
你提供的SNS默认策略已经配置了同账号下的访问权限:
- 策略中
Condition限制仅账号ID为333333333333的同账号主体可执行包括SNS:Publish在内的操作,CloudWatch告警属于同账号下的AWS服务调用,完全符合权限要求。 - 只要你已经为该SNS主题配置了邮箱订阅端点,告警触发后就能正常推送通知邮件到指定邮箱。
额外注意事项
你提供的CloudWatch告警配置存在缩进错误:ActionsEnabled字段属于Properties的子属性,当前缩进层级和Properties平级,会导致CloudFormation部署失败,修正后的配置如下:
Type: AWS::CloudWatch::Alarm Properties: AlarmName: RDS Low Storage Alarm AlarmDescription: This alarm is triggered when RDS storage is lower than or equal to 5GB ActionsEnabled: true OKActions: [] AlarmActions: - arn:aws:sns:ap-northeast-1:1234567890:stg1-init-AlertTopic-1WPRQT95IHBJZ InsufficientDataActions: [] MetricName: FreeStorageSpace Namespace: AWS/RDS Statistic: Average Dimensions: - Name: DBInstanceIdentifier Value: xxx1blsxxxxel Period: 60 EvaluationPeriods: 1 DatapointsToAlarm: 1 Threshold: 5368709120 ComparisonOperator: LessThanOrEqualToThreshold TreatMissingData: missing
内容的提问来源于stack exchange,提问作者Mahbub Rahman
相关产品推荐
相关产品推荐

