Проблема записи журналов Lambda в CloudWatch, что может быть не так?
У меня проблемы с записью журналов функций Lambda в CloudWatch Logs. Кажется, это не проблема авторизации, как вы можете видеть ниже:
PolicyDocument:
Version: 2012-10-17
Statement:
-
Effect: Allow
Action:
- logs:CreateLogGroup
Resource: !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:*
- Effect: Allow
Action:
- logs:CreateLogStream
- logs:PutLogEvent
Resource: !Sub arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/lambda/${FunctionName}:*
Я пробовал более широкую политику с arn:aws:logs:*:*:*
как ресурс, как некоторые примеры, которые я нашел.
Шаблон отлично работает в CloudFormation и ресурсы создаются соответствующим образом, когда я выполняю лямбда-функцию в качестве теста, все работает нормально, но логи не записываются. Он создает группу журналов и поток журналов, но внутри потока журналов ничего нет.
Это не проблема с лямбда-функцией. Я развернул функцию вручную перед созданием шаблона, и в этом случае CloudWatch Logs работает нормально. Я скопировал роль и политику именно так, как написано в ручном подходе для создания шаблона.
Это какая-то известная ошибка в CloudFormation/SAM/Lambda? Или я что-то делаю не так, как не заметил?
Пожалуйста, скажите мне, если вам нужно больше информации, чтобы понять контекст. Спасибо!
1 ответ
В конце концов я смог решить проблему, но, удалив разрешения CloudWatch Logs из написанной мною политики и используя политику управления из AWS:
ManagedPolicyArns:
- "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
При этом логи записывались в LogGroup нормально.