gpt4 book ai didi

aws-cloudformation - 在 cloudformation 中启用 SNS 传递状态日志记录配置

转载 作者:行者123 更新时间:2023-12-03 22:02:14 25 4
gpt4 key购买 nike

我正在尝试使用 AWS CloudFormation 设置 SNS 主题。我能够启动并运行主题及其 SQS 订阅,但我找不到指定传递状态日志记录选项(告诉主题将其日志写入 cloudwatch 的选项)的方法。

official SNS/Cloudformation docs对这种能力只字不提。

I found here显然它还没有实现。有人知道这方面的最新情况吗?

下面是我的模板(片段):

SNSBouncesTopic:
Type: AWS::SNS::Topic
Properties:
DisplayName: SNS-Bounces
Subscription:
- Endpoint: !GetAtt
- SQSBouncesQueue
- Arn
Protocol: sqs
TopicName: SNS-Bounces

SQSBouncesQueue 是处理 SNS 消息的堆栈的另一个资源。

最佳答案

目前,CloudFormation 不支持启用 SNS 传送状态日志记录。

您需要使用控制台、SDK 或 CLI。如果您仍然需要使用 CloudFormation 工作流程,请查看以下解决方法:

此解决方法涉及使用 Lambda 支持的自定义资源,通过向 SNS 主题添加必要的属性来启用 SNS 传输状态日志记录。

A custom resource essentially triggers a Lambda function when your CFN stack is created, updated, or deleted.

要设置主题属性,您需要以下内容:

a) 具有 SNS 服务代入该角色权限的 IAM 角色。它应包括以下内容:

  Permissions : 
Actions :
"logs:CreateLogGroup"
"logs:CreateLogStream”
"logs:PutLogEvents”
"logs:PutMetricFilter"
"logs:PutRetentionPolicy"

b) SNS 主题

c) 自定义资源,接受 IAM 角色 ARN 和 SNS 主题 ARN 并调用相应设置主题属性的 Lambda 函数。

在 Lambda 函数中,您需要指定 SNS TopicArn,使用 set_topic_attributes() 方法设置主题属性。对于 AttributeName,您必须将其指定为 “LambdaSuccessFeedbackRoleArn” 以设置成功传递的属性,并将其指定为 “LambdaFailureFeedbackRoleArn” 以设置失败传递的属性。

注意:

  1. 成功和失败的 AttributeValue 都是有权修改 CloudWatch 日志的 IAM 角色的 ARN。

  2. 此函数应调用两次,一次为成功传递设置属性,另一次为失败传递设置属性。

关于aws-cloudformation - 在 cloudformation 中启用 SNS 传递状态日志记录配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59053854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com