로깅 설정 점검이 필요한 CloudFront 배포

CloudFront 액세스 로그가 없으면 요청 추적과 이상 행위 분석이 어려워질 수 있습니다.

설명

CloudFront 액세스 로그에는 요청 경로, 응답 상태와 처리 시간 등이 기록됩니다. 적절한 요청 로그가 없으면 비정상적인 트래픽과 CDN 계층의 오류를 조사하기 어렵습니다. 로그는 공격을 직접 차단하는 기능은 아닙니다.

잠재적 영향

  • 비정상 요청과 대량 접근 패턴을 늦게 발견할 수 있습니다.
  • 사고 조사와 운영 장애 분석에 필요한 요청 이력이 부족해질 수 있습니다.

해결 방법

  • 배포에 필요한 표준 로그나 실시간 로그를 구성하세요. 아래 S3 전송 방식에서는 logging.enabled: true, 로그 버킷과 prefix를 지정하세요.
  • 선택한 로깅 방식의 전송 권한, 저장소 접근 제한과 보존 정책을 설정하고 실제 수신을 확인하세요.
  • 표준 로그는 최선형 방식으로 전달되므로 모든 요청이 빠짐없이 기록된다고 가정하지 마세요.

예시

로깅 설정을 비교하는 부분 예제입니다. 캐시 동작 등 나머지 필수 설정은 생략했습니다. 두 예제 모두 enabled: false이므로 배포가 콘텐츠를 제공하도록 활성화된 상태는 아닙니다.

변경 전

yaml
- name: create a CloudFront distribution
  community.aws.cloudfront_distribution:
    state: present
    caller_reference: unique test distribution ID
    origins:
      - id: my test origin-000111
        domain_name: www.example.com
    enabled: false

이 구성에는 로그 전송 설정이 없습니다. 운영 배포에서는 별도로 구성된 로깅 경로도 함께 확인하세요.

변경 후

yaml
- name: create a CloudFront distribution
  community.aws.cloudfront_distribution:
    state: present
    caller_reference: unique test distribution ID
    origins:
      - id: my test origin-000111
        domain_name: www.example.com
    logging:
      enabled: true
      include_cookies: false
      bucket: mylogbucket.s3.amazonaws.com
      prefix: myprefix/
    enabled: false

S3 로그 전송을 활성화합니다. 버킷 이름과 prefix를 실제 대상에 맞추고 해당 로깅 방식에 필요한 권한을 준비하세요.

참조