Подтвердить что ты не робот

Установить срок действия группы журналов CloudWatch для функции лямбда

По умолчанию при создании лямбда-функции для группы журналов CloudWatch устанавливается значение Никогда не истекает. Можно ли установить срок действия (скажем, 14 дней), чтобы мне не пришлось устанавливать его вручную с консоли после создания?


Обновление # 1

Благодаря ответу @jens Walter это фрагмент кода о том, как решить проблему

Resources:
  LambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: index.handler
      Runtime: nodejs6.10
      CodeUri: <your code uri>
      Policies: <your policies> 


  LambdaFunctionLogGroup:
    Type: "AWS::Logs::LogGroup"
    DependsOn: "LambdaFunction"
    Properties: 
      RetentionInDays: 14
      LogGroupName: !Join ["", ["/aws/lambda/", !Ref LambdaFunction]]
4b9b3361

Ответ 1

Если вы создаете Лямбду через консоль, невозможно установить сохранение журнала. Также невозможно установить сохранение по умолчанию для всех журналов CloudWatch.

Единственный способ повлиять на сохранение журнала - через CloudFormation. В этом случае вам нужно развернуть Lambda через CloudFormation, а затем вы можете определить соответствующую LogGroup с пользовательским сохранением в этом шаблоне.

Ответ 2

Фактически вы можете изменить время хранения журнала после создания Lambda в консоли, но вам нужно сделать это с консоли CloudWatch.

Если вы перейдете на консоль CloudWatch и просмотрите журналы (CloudWatch> Группы журналов), вы заметите, что данные в столбце Expire Events After являются ссылками. Нажимая на один из них, вы можете изменить срок действия.

Ответ 3

Вы можете использовать Depends On в CloudFormation. Сделайте что-то вроде этого:

Resources:
LambdaFunction:
    Type: AWS::Serverless::Function
    DependsOn: LambdaLogGroup
    Properties:
      FunctionName: 'LambdaName'
      Handler: <handlerPath>
      Runtime: java8
      MemorySize: 512
LambdaLogGroup:
       Type: AWS::Logs::LogGroup
       Properties:
             LogGroupName: '/aws/lambda/LambdaLogGroup'
             RetentionInDays: 30