使用 AWS CloudFormation 與 TracingConfig 在 Lambda 中配置 X-Ray
我們有一個使用 CloudFormation 配置的 AWS Lambda(更廣泛的 AWS 堆棧的一部分)。要求我們在此 Lambda 上實施/配置X-Ray 。公司政策禁止我們(按角色/帳戶按帳戶)訪問 AWS 控制台,這也是我們使用 CloudFormation 定義 AWS 堆棧的部分原因;但這意味著我們無法通過 AWS 控制台啟用 X-Ray(這通常是這樣做的方式)。
不幸的是,我們還沒有找到有關將 X-Ray 與 CloudFormation 結合使用的文件。查看CloudFormation 發布歷史記錄,我們發現 X-Ray 似乎確實沒有被列出。CloudFormation 似乎不支持以這種方式使用 X-Ray 配置 Lambda。
我們還發現了一個叫做TracingConfig的東西,它可以通過 CloudFormation 啟用。但是,關於它的作用或輸出的樣子/它的去向的文件並不多。我們發現的與此相關的有希望的資訊是關於兩者的文件,
TracingConfig
並且X-Ray
順便提到了他們稱之為“主動追踪”的東西。因此,我的問題最終是,我們可以從中獲得多少資訊
TracingConfig
,以及X-Ray
如果我們能夠使用這些資訊,我們可以獲得多少資訊?或者
是否有在 CloudFormation 中啟用 X-Ray 的未記錄方式?
雖然不清楚,
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