Назад | Перейти на главную страницу

Настройка X-Ray в Lambda с помощью AWS CloudFormation vs TracingConfig

У нас есть AWS Lambda (часть более широкого стека AWS), который настраивается с помощью CloudFormation. Требуется реализовать / настроить Рентгеновский на этой лямбде. Политика компании запрещает нам (для каждой роли / учетной записи на основе учетной записи) доступ к консоли AWS, что является частью того, почему мы используем CloudFormation для определения нашего стека AWS; но это означает, что мы не можем включить X-Ray через консоль AWS (что обычно является способом сделать это).

К сожалению, мы не нашли документации по использованию X-Ray с CloudFormation. Обзор История выпусков CloudFormation мы видим, что X-Ray действительно не указан. Похоже, CloudFormation не поддерживает настройку Lambda с помощью X-Ray таким образом.

Мы также обнаружили нечто под названием TracingConfig, который жестяная банка можно включить через CloudFormation. Тем не менее, не так много документации о том, что это делает, или как выглядит результат / куда он идет. Обнадеживающим лакомым кусочком информации, который мы нашли по этому поводу, является то, что документация по обоим TracingConfig и X-Ray попутно упоминает то, что они называют «активным отслеживанием».

Таким образом, мой вопрос, в конечном счете, заключается в том, сколько информации мы можем извлечь из TracingConfig, и насколько это приблизит нас к информации, которая в противном случае была бы предоставлена X-Ray если бы мы могли это использовать?

или

Есть ли недокументированный способ включения X-Ray в CloudFormation?

Хотя это не ясно, TracingConfig - это параметр для включения AWS X-Ray.

TracingConfig - это свойство ресурса AWS :: Lambda :: Function, которое настраивает параметры трассировки для вашей функции AWS Lambda (Lambda). Дополнительные сведения о трассировке Lambda-функций см. В разделе Трассировка приложений на основе Lambda с помощью AWS X-Ray в Руководстве разработчика AWS Lambda. - AWS Lambda Function TracingConfig

Вам также нужно будет добавить разрешение для xray: PutTraceSegments и xray: PutTelemetryRecords в роль выполнения вашей лямбды.

Примечание. Когда я это сделал, я обнаружил, что мне нужно создать новый ресурс роли выполнения и переместить мою политику в строку, иначе CloudFormation ChangeSet не сможет создать лямбду, поскольку обновление роли еще не было полностью распространено на все регионы.

Взгляните на это сообщение в блоге с дополнительной информацией: Включение AWS X-Ray на AWS Lambda