AccessLogs
1 AWS CloudFront Access Logs 소개
- AWS CloudFront Access Logs는 CloudFront 배포(distribution)를 통해 전달된 모든 사용자 요청에 대한 상세한 정보를 제공합니다.
- 이 로그를 통해 웹사이트나 애플리케이션의 사용 패턴을 분석하고, 성능을 최적화하며, 보안 문제를 탐지할 수 있습니다.
- Access Logs는 콘텐츠에 대한 요청, 클라이 언트 IP 주소, 응답 상태, 참조자 등 다양한 정보를 포함합니다.
2 CloudFront Access Logs의 주요 특징
- CloudFront Access Logs는 선택적 기능으로, 필요에 따라 활성화할 수 있습니다.
- 로그 파일은 사용자가 지정한 Amazon S3 버킷에 저장됩니다.
- 로그는 일반적으로 요청 처리 후 약 24시간 이내에 전달됩니다.
- 로그 파일은 gzip 형식으로 압축되어 저장 공간을 절약합니다.
- 로그 데이터는 무료로 제공되지만, S3에 저장된 로그 파일에 대해 일반적인 S3 요금이 부과됩니다.
3 CloudFront Access Logs 활성화 방법
- CloudFront Access Logs를 활성화하려면 다음 단계를 따릅니다:
- AWS Management Console에 로그인합니다.
- CloudFront 콘솔로 이동합니다.
- 로그를 활성화할 배포를 선택합니다.
- '편집' 버튼을 클릭합니다.
- '로그' 섹션에서 '로그 활성화'를 선택합니다.
- 로그 파일을 저장할 S3 버킷을 지정합니다.
- 필요한 경우 로그 접두사를 설정합니다.
- 변경 사항을 저장합니다.
AWS CLI를 사용한 Access Logs 활성화 예시
aws cloudfront update-distribution --id EXXXXXXXXXXXXX --distribution-config file://dist-config.json
- AWS CLI를 사용하여 Access Logs를 활성화할 수도 있습니다.
- 이 명령어에서
EXXXXXXXXXXXXX
는 CloudFront 배포 ID이며,dist-config.json
은 배포 설정을 포함한 JSON 파일입니다.
4 CloudFront Access Logs의 구조
- CloudFront Access Logs는 탭으로 구분된 텍스트 파일 형식입니다.
- 각 로그 엔트리는 하나의 사용자 요청을 나타냅니다.
- 로그 파일에는 다음과 같은 필드가 포함될 수 있습니다:
- 날짜
- 시간
- 엣지 로케이션
- 클라이언트 IP
- 요청 방법 (GET, POST 등)
- 요청된 URL
- HTTP 상태 코드
- 리퍼러
- 사용자 에이전트
- 쿼리 문자열
- 쿠키
- 결과 유형
- 요청 ID
- 호스트 헤더
- 프로토콜 (HTTP, HTTPS)
- 전송된 바이트
- 소요 시간
- 이 외에도 더 많은 필드가 있으며, CloudFront의 버전에 따라 추가되거나 변경될 수 있습니다.
5 CloudFront Access Logs 분석 방법
- CloudFront Access Logs를 분석하여 다양한 인사이트를 얻을 수 있습니다:
- 트래픽 패턴 분석:
- 시간대별, 지역별 트래픽 볼륨을 확인할 수 있습니다.
- 인기 있는 콘텐츠를 식별할 수 있습니다.
- 성능 모니터링:
- 응답 시간과 전송된 바이트를 분석하여 성능 병목 현상을 찾을 수 있습니다.
- 캐시 적중률을 계산하여 캐싱 전략을 최적화할 수 있습니다.
- 오류 진단:
- HTTP 상태 코드를 확인하여 오류 발생 빈도와 유형을 파악할 수 있습니다.
- 특정 URL이나 사용자 에이전트와 관련된 오류를 식별할 수 있습니다.
- 보안 분석:
- 비정상적인 트래픽 패턴이나 의심스러운 IP 주소를 탐지할 수 있습니다.
- 잠재적인 DDoS 공격을 식별할 수 있습니다.
- 로그 분석을 위해 다음과 같은 도구를 사용할 수 있습니다:
- Amazon Athena: S3에 저장된 로그 파 일을 SQL 쿼리로 분석할 수 있습니다.
- Amazon QuickSight: 로그 데이터를 시각화하여 인사이트를 얻을 수 있습니다.
- AWS Glue: 로그 데이터를 추출, 변환, 로드(ETL)하여 분석하기 쉬운 형태로 만들 수 있습니다.
- 서드파티 로그 분석 도구: ELK 스택(Elasticsearch, Logstash, Kibana) 등을 사용할 수 있습니다.
6 CloudFront Access Logs 사용 시 주의사항
- 개인정보 보호:
- Access Logs에는 개인 식별 정보(PII)가 포함될 수 있으므로, 적절한 보안 조치를 취해야 합니다.
- 필요한 경우 로그 데이터를 암호화하거나 익명화해야 합니다.
- 비용 관리:
- 대규모 트래픽을 처리하는 경우 로그 파일의 크기가 매우 커질 수 있습니다.
- S3 수명 주기 정책을 설정하여 오래된 로그 파일을 자동으로 삭제하거나 저렴한 스토리지 클래스로 이동시킬 수 있습니다.
- 성능 고려사항:
- 로그 분석은 리소스 집약적일 수 있으므로, 분석 작업을 프로덕션 환경과 분리된 별도의 환경에서 수행하는 것이 좋습니다.
- 규정 준수:
- 일부 산업이나 지역에서는 로그 데이터의 보관 및 처리에 대한 특정 규정이 있을 수 있습니다.
- 관련 규정을 확인하고 준수해야 합니다.