Seb*_*Gra 4 amazon-sns aws-cloudformation amazon-cloudwatch
我正在尝试使用 AWS CloudFormation 设置 SNS 主题。我能够启动并运行主题及其 SQS 订阅,但我找不到指定交付状态日志记录选项的方法(告诉主题将其日志写入 cloudwatch 的选项)。
该官方SNS / Cloudformation文档没有谈到这个能力。
我在这里发现显然它还没有实现。有没有人有这方面的最新状态?
以下是我拥有的模板(片段):
SNSBouncesTopic:
Type: AWS::SNS::Topic
Properties:
DisplayName: SNS-Bounces
Subscription:
- Endpoint: !GetAtt
- SQSBouncesQueue
- Arn
Protocol: sqs
TopicName: SNS-Bounces
Run Code Online (Sandbox Code Playgroud)
SQSBouncesQueue 是处理 SNS 消息的堆栈的另一个资源。
目前,CloudFormation 不支持启用 SNS 传递状态日志记录。
您需要使用控制台、SDK 或 CLI。如果您仍需要使用 CloudFormation 工作流程,请查看以下解决方法:
此解决方法涉及使用 Lambda 支持的自定义资源,通过将必要的属性添加到 SNS 主题来启用 SNS 传递状态日志记录。
一个自定义的资源基本上是触发时,创建你的CFN栈,更新或删除lambda函数。
要设置主题属性,您需要以下内容:
a)具有 SNS 服务承担该角色权限的 IAM 角色。它应该包括以下内容:
Permissions :
Actions :
"logs:CreateLogGroup"
"logs:CreateLogStream”
"logs:PutLogEvents”
"logs:PutMetricFilter"
"logs:PutRetentionPolicy"
Run Code Online (Sandbox Code Playgroud)
b)一个 SNS 话题
c)接受 IAM 角色 ARN 和 SNS 主题 ARN 并调用相应设置主题属性的 Lambda 函数的自定义资源。
在 Lambda 函数中,您需要指定 SNS TopicArn,使用 set_topic_attributes() 方法设置主题属性。对于 AttributeName,您必须将其指定为“LambdaSuccessFeedbackRoleArn”以设置成功交付的属性,并指定为“LambdaFailureFeedbackRoleArn”以设置失败交付的属性。
笔记:
成功和失败的 AttributeValue 都是具有修改 CloudWatch 日志权限的 IAM 角色的 ARN。
这个函数应该被调用两次,一次是设置成功交付的属性,另一个是设置失败交付的属性。
归档时间: |
|
查看次数: |
3536 次 |
最近记录: |