我们有一个使用 CloudFormation 配置的 AWS Lambda(更广泛的 AWS 堆栈的一部分)。要求我们实施/配置X 射线在这个 Lambda 上。公司政策禁止我们(基于角色/账户)访问 AWS 控制台,这也是我们使用 CloudFormation 定义 AWS 堆栈的原因之一;但这意味着我们无法通过 AWS 控制台启用 X-Ray(这通常是这样做的方式)。
不幸的是,我们还没有找到关于使用 X-Ray 和 CloudFormation 的文档。查看CloudFormation 发布历史记录我们看到 X-Ray 确实没有列出。看来 CloudFormation 不支持以这种方式使用 X-Ray 配置 Lambda。
我们还发现了一种叫做追踪配置, 哪个能可通过 CloudFormation 启用。但是,没有太多文档说明它的作用,或者输出是什么样子/输出到哪里。我们发现与此相关的一丝希望是,关于两者的文档TracingConfig
都X-Ray
提到了他们称之为“主动跟踪”的东西。
因此,我的问题最终是,我们能从中获得多少信息,以及如果我们能够使用这些信息,TracingConfig
我们能获得的信息与原本可以提供的信息有多接近?X-Ray
或者
是否存在未记录的在 CloudFormation 中启用 X-Ray 的方法?
答案1
虽然不清楚,但TracingConfig
该设置是否可以启用 AWS X-Ray。
TracingConfig 是 AWS::Lambda::Function 资源的一个属性,用于配置 AWS Lambda (Lambda) 函数的跟踪设置。有关跟踪 Lambda 函数的更多信息,请参阅 AWS Lambda 开发人员指南中的使用 AWS X-Ray 跟踪基于 Lambda 的应用程序。-AWS Lambda 函数跟踪配置
您还必须为 lambda 的执行角色添加xray:PutTraceSegments
权限xray:PutTelemetryRecords
。
注意:当我执行此操作时,我发现我必须创建一个新的执行角色资源并将我的策略内联移动,否则 CloudFormation ChangeSet 将在创建 lambda 时失败,因为角色更新尚未完全传播到所有区域。
请查看此博客文章以获取更多信息:在 AWS Lambda 上启用 AWS X-Ray