CloudFront 및 엣지 함수 지표 보기
CloudFront 콘솔에서 CloudFront 배포 및 엣지 함수
CloudFront에서 CloudFront 및 엣지 함수 지표를 보려면
AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home
에서 CloudFront 콘솔을 엽니다. -
탐색 창에서 모니터링을 선택합니다.
-
특정 CloudFront 배포 또는 엣지 함수의 활동에 대한 그래프를 보려면 그래프를 선택한 후 View distribution metrics(배포 지표 보기) 또는 View metrics(지표 보기)를 선택합니다.
-
다음을 수행하여 그래프를 사용자 지정할 수 있습니다.
-
그래프에 표시된 정보의 시간 범위를 변경하려면 1h(1시간), 3h(3시간) 또는 다른 범위를 선택하거나 사용자 지정 범위를 지정합니다.
-
CloudFront가 그래프의 정보를 업데이트하는 빈도를 변경하려면 새로 고침 아이콘 옆에 있는 아래쪽 화살표를 선택하고 새로 고침 속도를 선택합니다. 기본 새로 고침 빈도는 1분이지만 다른 옵션을 선택할 수 있습니다.
-
-
CloudFront 콘솔에서 CloudFront 그래프를 보려면 대시보드에 추가를 선택합니다. CloudWatch 콘솔에서 그래프를 보려면 미국 동부(버지니아 북부) 리전을 사용해야 합니다.
기본 CloudFront 배포 지표
다음 기본 지표는 모든 CloudFront 배포에 포함되며, 추가 비용은 들지 않습니다.
- 요청
-
모든 HTTP 메서드와 HTTP 및 HTTPS 요청에 대해 CloudFront에서 수신한 최종 사용자 요청의 총 수입니다.
- 다운로드된 바이트
-
GET
,HEAD
,OPTIONS
요청에 대해 최종 사용자가 다운로드한 총 바이트 수입니다. - 업로드된 바이트
-
뷰어가
POST
및PUT
요청을 사용하여 CloudFront에 업로드한 총 바이트 수입니다. - 4xx 오류 발생률
-
응답의 HTTP 상태 코드가
4xx
인 모든 최종 사용자 요청의 백분율입니다. - 5xx 오류 발생률
-
응답의 HTTP 상태 코드가
5xx
인 모든 최종 사용자 요청의 백분율입니다. - 총 오류 발생률
-
응답의 HTTP 상태 코드가
4xx
또는5xx
인 모든 최종 사용자 요청의 백분율입니다.
이러한 지표는 CloudFront 콘솔의 모니터링 페이지에서 각 CloudFront 배포에 대해 그래프로 표시됩니다. 각 그래프에서 합계는 1분 간격으로 표시됩니다. 그래프를 보는 것 외에도 지표 보고서를 CSV 파일로 다운로드할 수도 있습니다.
추가 CloudFront 배포 지표 활성화
기본 지표 외에도 추가 비용이 드는 추가 지표를 활성화할 수 있습니다. 비용에 관한 자세한 내용은 추가 CloudFront 지표에 대한 비용 추정 단원을 참조하십시오.
각 배포에 대해 다음 추가 지표를 개별적으로 활성화해야 합니다.
- 캐시 적중률
-
CloudFront가 캐시에서 콘텐츠를 제공하는 캐시 가능한 모든 요청의 비율입니다. HTTP
POST
및PUT
요청, 오류는 캐시 가능한 요청으로 간주되지 않습니다. - 오리진 지연 시간
-
CloudFront에서 요청을 수신한 시점부터 CloudFront 캐시가 아닌 오리진에서 제공되는 요청에 대해 네트워크(최종 사용자 아님)에 대한 응답을 제공하기 시작한 시점까지 소요되는 총 시간입니다. 이것을 첫 번째 바이트 대기 시간 또는 time-to-first-byte라고도 합니다.
- 상태 코드별 오류 발생률
-
응답의 HTTP 상태 코드가
4xx
또는5xx
범위의 특정 코드인 모든 최종 사용자 요청의 백분율입니다. 이 지표는 오류 코드401
,403
,404
,502
,503
,504
에 모두 사용할 수 있습니다.
AWS CloudFormation, AWS Command Line Interface(AWS CLI) 또는 CloudFront API를 사용하여 CloudFront 콘솔에서 추가 지표를 활성화할 수 있습니다.
추가 CloudFront 지표에 대한 비용 추정
배포에 대한 추가 지표를 활성화하면 CloudFront는 미국 동부(버지니아 북부) 리전의 CloudWatch에 최대 8개의 지표를 전송합니다. CloudWatch는 각 지표에 대해 낮은 정액제 요금을 부과합니다. 이 요금은 지표당 한 달에 한 번만 청구됩니다(배포당 최대 8개 지표). 이는 정액제 요금이므로 CloudFront 배포가 보내거나 받는 요청 또는 응답 수에 관계없이 비용이 동일하게 유지됩니다. 지표당 청구되는 요금은 Amazon CloudWatch 요금 페이지
기본 Lambda @Edge 함수 지표
CloudWatch 지표를 사용하여 Lambda@Edge 함수의 문제를 실시간으로 모니터링할 수 있습니다. 이러한 지표에 대한 추가 요금은 없습니다.
Lambda@Edge 함수를 CloudFront 배포의 캐시 동작에 연결하면 Lambda가 CloudWatch에 지표를 자동으로 전송하기 시작합니다. 지표는 모든 Lambda 리전에서 사용할 수 있지만 CloudWatch 콘솔에서 지표를 보거나 CloudWatch API에서 지표 데이터를 가져오려면 미국 동부(버지니아 북부) 리전(us-east-1
)을 사용해야 합니다. 지표 그룹 이름은 AWS/CloudFront/
형식으로 지정됩니다. 여기서 distribution-ID
distribution-ID
는 Lambda@Edge 함수에 연결된 CloudFront 배포의 ID입니다. CloudWatch 지표에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서를 참조하세요.
다음 기본 지표는 CloudFront 콘솔의 모니터링 페이지에서 각 Lambda@Edge 함수에 대해 그래프로 표시됩니다.
-
5xx
Lambda@Edge의 오류 발생률 -
Lambda 실행 오류
-
잘못된 Lambda 응답
-
Lambda 제한
그래프에는 호출 수, 오류 수, 제한 수 등이 포함되어 있습니다. 각 그래프에서 합계는 1분 간격으로 표시되며 AWS 리전별로 그룹화됩니다.
조사할 오류가 급증할 경우 함수를 선택한 다음 AWS 리전별로 로그 파일을 확인하여, 어떤 함수가 문제를 야기했는지 및 어느 AWS 리전에서 발생했는지 파악할 수 있습니다. Lambda@Edge 오류 문제 해결에 대한 자세한 내용은 다음 단원을 참조하십시오.
-
AWS
에서 콘텐츠 전송 디버깅을 위한 4단계
기본 CloudFront Functions 지표
CloudFront 함수는 사용자가 기능을 모니터링할 수 있도록 운영 지표를 Amazon CloudWatch로 전송합니다. 이러한 지표를 보면 문제 해결, 추적 및 디버깅에 도움이 될 수 있습니다. CloudFront 함수는 다음과 같은 지표를 CloudWatch에 게시합니다.
-
간접 호출 (
FunctionInvocations
) — 지정된 기간 동안 함수가 시작된(호출된) 횟수입니다. -
유효성 검사 오류 (
FunctionValidationErrors
) — 지정된 기간 동안 함수에서 생성된 유효성 검사 오류의 수입니다. 유효성 검사 오류는 함수가 성공적으로 실행되지만 잘못된 데이터(잘못된 이벤트 객체)를 반환할 때 발생합니다. -
실행 오류 (
FunctionExecutionErrors
) — 지정된 기간 동안 발생한 실행 오류의 수입니다. 함수가 성공적으로 완료되지 않을 때 실행 오류가 발생합니다. -
컴퓨팅 활용률 (
FunctionComputeUtilization
) — 함수가 실행되는 데 걸린 시간의 최대 허용 시간의 백분율입니다. 예를 들어, 값이 35이면 함수가 최대 허용 시간의 35%에서 완료되었음을 의미합니다. 이 측정 단위는 0에서 100 사이의 숫자입니다.이 값이 100에 도달하거나 100에 가까워지면 함수가 허용된 실행 시간을 사용했거나 거의 사용한 것이므로 후속 요청의 제한 현상이 발생할 수 있습니다. 함수가 80% 이상의 사용률로 실행되는 경우 함수를 검토하여 실행 시간을 줄이고 사용률을 높이는 것이 좋습니다. 예를 들어 오류만 기록하고, 복잡한 정규식 식을 단순화하거나, 복잡한 JSON 객체의 불필요한 구문 분석을 제거하고 싶을 수 있습니다.
-
제한(
FunctionThrottles
) - 지정된 기간 동안 함수가 제한된 횟수입니다. 함수는 다음과 같은 이유로 제한될 수 있습니다.-
함수가 실행에 허용된 최대 시간을 지속적으로 초과함
-
함수에서 컴파일 오류가 발생함
-
초당 요청 수가 비정상적으로 많음
-
또한 CloudFront KeyValueStore는 다음과 같은 운영 지표를 Amazon CloudWatch에 전송합니다.
-
읽기 요청(
KvsReadRequests
) - 지정된 기간 동안 함수가 키 값 저장소에서 성공적으로 읽은 횟수입니다. -
읽기 오류(
KvsReadErrors
) - 지정된 기간 동안 함수가 키 값 저장소에서 읽지 못한 횟수입니다.
이러한 모든 지표는 미국 동부(버지니아 북부) 리전(us-east-1
), CloudFront 네임스페이스의 CloudWatch에 게시됩니다. CloudWatch 콘솔에서 이러한 지표를 볼 수도 있습니다. CloudWatch 콘솔에서 함수별 또는 배포당 함수별 지표를 볼 수 있습니다.
CloudWatch를 사용하여 이러한 지표를 기반으로 경보를 설정할 수도 있습니다. 예를 들어 함수를 실행하는 데 걸린 사용 가능한 시간의 백분율을 나타내는 실행 시간(FunctionComputeUilization
) 지표를 기반으로 경보를 설정할 수 있습니다. 실행 시간이 특정 시간 동안 특정 값에 도달할 때. 예를 들어, 15분 연속 사용 가능한 시간의 70% 이상을 선택하면 경보가 트리거됩니다. 경보를 만들 때 경보의 값과 시간 단위를 지정합니다.
참고
CloudFront Functions는 프로덕션 요청 및 응답에 대한 응답으로 실행되는 LIVE
스테이지의 함수에 대해서만 지표를 CloudWatch로 전송합니다. 함수를 테스트할 때 CloudFront는 지표를 CloudWatch로 보내지 않습니다. 테스트 출력에는 오류, 컴퓨팅 사용률 및 함수 로그(console.log()
명령문)에 대한 정보가 포함되지만 이 정보는 CloudWatch로 전송되지 않습니다.
CloudWatch API를 사용하여 이러한 지표를 얻는 방법에 대한 자세한 내용은 Amazon CloudWatch API를 사용하여 지표 가져오기 섹션을 참조하세요.