콘텐츠로 이동

AWS CloudFront

AWS CloudFront 메트릭, 로그 데이터 수집

구성

AWS CloudFront의 핵심 성능 지표에는 총 요청 수, 데이터 전송량, HTTP 오류율, 캐시 적중률, 지연 시간이 포함되며, 이는 사용자가 콘텐츠 전송 네트워크의 성능을 평가하고 최적화하는 데 도움이 됩니다.

Func 설치

추천: Guance 통합 - 확장 - 호스팅 버전 Func: 모든 사전 조건이 자동으로 설치되므로, 계속해서 스크립트를 설치하세요

Func를 직접 배포하는 경우 Func 직접 배포

설치 스크립트

안내: 요구 사항을 충족하는 Amazon AK를 미리 준비하세요(간단히 하려면 전역 읽기 전용 권한 ReadOnlyAccess를 직접 부여할 수 있습니다)

호스팅 버전 활성화 스크립트

  1. Guance 콘솔에 로그인
  2. 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택
  3. 【클라우드 계정 추가】를 클릭하고 【AWS】를 선택한 뒤, 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보를 구성한 적이 있다면 이 단계는 건너뜁니다
  4. 【테스트】를 클릭하고, 테스트가 성공하면 【저장】을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트하세요
  5. 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있으며, 해당 클라우드 계정을 클릭해 상세 페이지로 들어갑니다
  6. 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭한 뒤, 설치되지 않음 목록에서 AWS CloudFront를 찾아 【설치】 버튼을 클릭하고 팝업되는 설치 화면에서 설치하면 됩니다.

수동 활성화 스크립트

  1. Func 콘솔에 로그인하고 【스크립트 마켓】을 클릭해 Guance 스크립트 마켓으로 들어간 뒤, integration_aws_cloudfront를 검색합니다

  2. 【설치】를 클릭한 뒤, 다음 파라미터를 입력합니다: AWS AK ID, AK Secret, 계정명.

  3. 【시작 스크립트 배포】를 클릭하면 시스템이 자동으로 Startup 스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다.

  4. 활성화 후에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 볼 수 있습니다. 【실행】을 클릭하면 정기 실행을 기다리지 않고 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.

검증

  1. 「관리 / 자동 트리거 설정」에서 해당 작업에 대한 자동 트리거 설정이 존재하는지 확인하고, 동시에 작업 기록과 로그를 확인해 이상이 있는지 점검합니다
  2. Guance의 「인프라 / 사용자 정의」에서 자산 정보가 있는지 확인합니다
  3. Guance의 「메트릭」에서 해당 모니터링 데이터가 있는지 확인합니다

메트릭

Amazon CloudWatch를 구성하면 기본 메트릭 집합은 다음과 같으며, 설정을 통해 더 많은 메트릭을 수집할 수 있습니다 Amazon CloudWatch 메트릭 상세

모니터링 메트릭

메트릭 영문명 메트릭 한글명 의미
Requests 요청 수 CloudFront가 수신한 모든 HTTP 메서드 및 HTTP/HTTPS 요청의 뷰어 요청 총 수입니다.
Bytes downloaded 다운로드 바이트 수 뷰어가 GET, HEAD, OPTIONS 요청으로 다운로드한 총 바이트 수입니다.
Bytes uploaded 업로드 바이트 수 뷰어가 POST 및 PUT 요청을 사용하여 CloudFront를 통해 원본 위치로 업로드한 총 바이트 수입니다.
4xx error rate 4xx 오류율 응답의 HTTP 상태 코드가 4xx인 모든 뷰어 요청의 비율입니다.
5xx error rate 5xx 오류율 응답의 HTTP 상태 코드가 5xx인 모든 뷰어 요청의 비율입니다.
Total error rate 총 오류율 응답의 HTTP 상태 코드가 4xx 또는 5xx인 모든 뷰어 요청의 비율입니다.

로깅

CloudFront

로그 수집 방식

  • CloudFront가 로그 파일을 생성하도록 구성할 수 있으며, 여기에는 CloudFront가 수신한 각 사용자(뷰어) 요청의 세부 정보가 포함되고 S3 버킷에 저장됩니다. 이러한 로그는 표준 로그라고 하며, 액세스 로그라고도 합니다.
  • S3가 Event를 트리거하여 Lambda 함수를 호출하고, DataKit 또는 DataWay를 통해 데이터를 플랫폼에 보고합니다(직접 업로드는 DataWay를 사용하는 것을 권장)

CloudFront 로그를 S3 버킷에 쓰기

  1. 해당 CloudFront 배포를 선택해 상세 페이지로 들어갑니다
  2. 【Logging】 페이지에서 【설정】의 【편집】을 클릭합니다
  3. 【표준 로그 대상】 섹션을 선택하고 【Add】를 클릭한 뒤 Amazon S3를 선택합니다.
  4. 로그 파일을 생성할 S3 버킷을 선택하고, 필요한 로그 필드(예: DistrubtionId, c-country 등 필드를 추가할 수 있음)를 선택한 다음 출력 형식을 JSON으로 선택합니다.
  5. 【Submit】을 클릭해 구성을 저장합니다.

Lambda 설정

참조: Lambda가 S3 로그 데이터를 수집

로그 파싱

Guance에는 CloudFront 로그 파싱이 내장되어 있습니다. 【로그】 - 【Pipelines】 - 【Pipeline 공식 라이브러리】 - CloudFront를 선택한 뒤, 유형을 중앙 Pipeline으로 추가하고 저장하면 됩니다. 새로 전송되는 데이터에 적용됩니다.

오브젝트

전송되는 데이터 예시는 다음과 같습니다:

{
  "measurement": "aws_cloudfront",
  "tags": {
    "ARN": "arn:aws-cn:cloudfront::F",
    "DomainName": "d3q33pv83.cloudfront.cn",
    "Id": "E183FMUG1QDCZF",
    "Status": "Deployed",
    "name": "E183FMUG1ZF"
  },
  "fields": {
    "CreatedDate"              : "2022-03-09T06:13:31Z",
    "ApiKeySelectionExpression": "$request.header.",
    "DisableSchemaValidation"  : "xxxxx",
    "Description"              : "Created by AWS Lambda"
  }
}

주의: tags, fields의 필드는 후속 업데이트에 따라 변경될 수 있습니다

문서 평가

이 페이지가 도움이 되었나요?