AWS CloudFront¶
AWS CloudFront 메트릭, 로그 데이터 수집
구성¶
AWS CloudFront의 핵심 성능 지표에는 총 요청 수, 데이터 전송량, HTTP 오류율, 캐시 적중률, 지연 시간이 포함되며, 이는 사용자가 콘텐츠 전송 네트워크의 성능을 평가하고 최적화하는 데 도움이 됩니다.
Func 설치¶
추천: Guance 통합 - 확장 - 호스팅 버전 Func: 모든 사전 조건이 자동으로 설치되므로, 계속해서 스크립트를 설치하세요
Func를 직접 배포하는 경우 Func 직접 배포
설치 스크립트¶
안내: 요구 사항을 충족하는 Amazon AK를 미리 준비하세요(간단히 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여할 수 있습니다)
호스팅 버전 활성화 스크립트¶
- Guance 콘솔에 로그인
- 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택
- 【클라우드 계정 추가】를 클릭하고 【AWS】를 선택한 뒤, 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보를 구성한 적이 있다면 이 단계는 건너뜁니다
- 【테스트】를 클릭하고, 테스트가 성공하면 【저장】을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트하세요
- 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있으며, 해당 클라우드 계정을 클릭해 상세 페이지로 들어갑니다
- 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭한 뒤,
설치되지 않음목록에서AWS CloudFront를 찾아 【설치】 버튼을 클릭하고 팝업되는 설치 화면에서 설치하면 됩니다.
수동 활성화 스크립트¶
-
Func 콘솔에 로그인하고 【스크립트 마켓】을 클릭해 Guance 스크립트 마켓으로 들어간 뒤,
integration_aws_cloudfront를 검색합니다 -
【설치】를 클릭한 뒤, 다음 파라미터를 입력합니다: AWS AK ID, AK Secret, 계정명.
-
【시작 스크립트 배포】를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다. -
활성화 후에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 볼 수 있습니다. 【실행】을 클릭하면 정기 실행을 기다리지 않고 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다.
검증¶
- 「관리 / 자동 트리거 설정」에서 해당 작업에 대한 자동 트리거 설정이 존재하는지 확인하고, 동시에 작업 기록과 로그를 확인해 이상이 있는지 점검합니다
- Guance의 「인프라 / 사용자 정의」에서 자산 정보가 있는지 확인합니다
- 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 버킷에 쓰기¶
- 해당
CloudFront배포를 선택해 상세 페이지로 들어갑니다 - 【Logging】 페이지에서 【설정】의 【편집】을 클릭합니다
- 【표준 로그 대상】 섹션을 선택하고 【Add】를 클릭한 뒤
Amazon S3를 선택합니다. - 로그 파일을 생성할 S3 버킷을 선택하고, 필요한 로그 필드(예:
DistrubtionId,c-country등 필드를 추가할 수 있음)를 선택한 다음 출력 형식을JSON으로 선택합니다. - 【Submit】을 클릭해 구성을 저장합니다.
Lambda 설정¶
로그 파싱¶
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의 필드는 후속 업데이트에 따라 변경될 수 있습니다