Deleting Stack Not deleting Lambda CloudWatch LogGroup

0

I am creating a Lambda function and a Log Group for it to control the retention days using Serverless Application Model (SAM), similar to Cloud Formation. Below is the code snippet. However, when I delete the stack, the Lambda function gets deleted, but the Log Group doesn't get deleted, instead it's retention changes to Never Expire.

MyLambdaLogGroup:
    Type: AWS::Logs::LogGroup
    Properties:
      RetentionInDays: 3
      LogGroupName: !Sub /aws/lambda/${MyLambdaFunction}

How can I ensure that the Cloud Watch Log Group associated with the Lambda also gets deleted on deleting the stack? Can anyone please help with this?

已提问 1 年前512 查看次数
2 回答
0
已接受的回答

There are some workarounds here but please pay attention to the race condition caveats mentioned in the thread.

AWS
已回答 1 年前
profile picture
专家
已审核 6 个月前
  • Thank you. What worked for me was to remove "CreateLogGroup" permission from the Lambda function in the SAM template. I am already creating the Cloud Watch Log Group for the Lambda anyways. This was mentioned in that link.

0

Have you tried setting a DeletionPolicy? If you have the Log Group defined in your template, I would expect setting the policy to delete would remove it.

profile picture
已回答 1 年前
  • As per the link you sent, it says the resource is deleted, if DeletionPolicy attribute not set. In my case, this attribute is not set. So, it should delete it by default, right?

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则