CloudWatch 로그 보존 기간 점검

CloudWatch 로그 보존 기간을 운영·규정 요구에 맞게 정하고 필요한 기록의 손실과 과도한 보관을 방지하세요.

설명

CloudWatch 로그 그룹에 retention_in_days를 지정하지 않으면 기본적으로 로그가 만료되지 않습니다. Terraform에서 0을 지정해도 만료 없이 보관합니다. 반대로 보존 기간을 너무 짧게 정하면 조사에 필요한 로그가 없어질 수 있습니다.

로그는 많이 남기는 것만이 답이 아니라 운영 목적과 규정에 맞는 보존 기간을 정하는 것이 중요합니다. 장기 보관이 필요한 경우에도 그 이유와 접근·비용 관리 기준을 명확히 하세요.

잠재적 영향

  • 불필요한 로그 보관으로 저장 비용이 계속 증가할 수 있습니다.
  • 보존 기준이 리소스마다 달라져 운영 정책을 일관되게 적용하기 어려울 수 있습니다.
  • 필요한 로그가 먼저 삭제되거나 민감한 기록이 필요 이상으로 오래 남을 수 있습니다.

해결 방법

  • 조사와 감사 요구에 맞는 retention_in_days를 명시하고 신규 로그 그룹에도 같은 정책을 적용하세요.
  • 보존 기간을 줄이기 전에 기존 로그에 대한 영향을 확인하고 따로 보관해야 할 기록을 보존하세요. 만료된 로그의 삭제에는 시간이 걸릴 수 있습니다.
  • 로그 접근 권한, 저장 비용 및 보존 요구의 변화를 정기적으로 검토하세요.

예시

30일은 설명을 위한 값이며 모든 서비스나 규정에 맞는 공통 기준은 아닙니다.

변경 전

hcl
resource "aws_cloudwatch_log_group" "app" {
  name = "/aws/app/service"
}

변경 후

hcl
resource "aws_cloudwatch_log_group" "app" {
  name              = "/aws/app/service"
  retention_in_days = 30
}

설명:

  • 변경 전: 보존 기간을 생략하여 로그가 만료되지 않습니다.
  • 변경 후: 로그 보존 기간을 30일로 지정합니다. 변경으로 만료 대상이 되는 기존 기록도 검토해야 합니다.

참조