CloudFront 및 엣지 함수 지표 보기
CloudFront 콘솔에서 CloudFront 배포 및 엣지 함수
주제
기본 CloudFront 배포 지표 보기
다음 기본 지표는 모든 CloudFront 배포에 포함되며, 추가 비용은 들지 않습니다.
- 요청
-
모든 HTTP 메서드와 HTTP 및 HTTPS 요청에 대해 CloudFront에서 수신한 최종 사용자 요청의 총 수입니다.
- 다운로드된 바이트
-
GET
,HEAD
,OPTIONS
요청에 대해 최종 사용자가 다운로드한 총 바이트 수입니다. - 업로드된 바이트
-
뷰어가
POST
및PUT
요청을 사용하여 CloudFront에 업로드한 총 바이트 수입니다. - 4xx 오류 발생률
-
응답의 HTTP 상태 코드가
4xx
인 모든 최종 사용자 요청의 백분율입니다. - 5xx 오류 발생률
-
응답의 HTTP 상태 코드가
5xx
인 모든 최종 사용자 요청의 백분율입니다. - 총 오류 발생률
-
응답의 HTTP 상태 코드가
4xx
또는5xx
인 모든 최종 사용자 요청의 백분율입니다.
이러한 지표는 CloudFront 콘솔의 모니터링 페이지
다음을 수행하여 그래프를 사용자 지정할 수 있습니다.
-
그래프에 표시된 정보의 시간 범위를 변경하려면 1h(1시간), 3h(3시간) 또는 다른 범위를 선택하거나 사용자 지정 범위를 지정합니다.
-
CloudFront가 그래프의 정보를 업데이트하는 빈도를 변경하려면 새로 고침 아이콘 옆에 있는 아래쪽 화살표를 선택하고 새로 고침 속도를 선택합니다. 기본 새로 고침 빈도는 1분이지만 10초, 2분 또는 다른 옵션을 선택할 수 있습니다.
CloudFront 콘솔에서 CloudFront 그래프를 보려면 대시보드에 추가를 선택합니다.
추가 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 콘솔의 모니터링 페이지
-
5xx
Lambda@Edge의 오류 발생률 -
Lambda 실행 오류
-
잘못된 Lambda 응답
-
Lambda 제한
그래프에는 호출 수, 오류 수, 제한 수 등이 포함되어 있습니다. 각 그래프에서 합계는 1분 간격으로 표시되며 AWS 리전별로 그룹화됩니다.
조사할 오류가 급증할 경우 함수를 선택한 다음 AWS 리전별로 로그 파일을 확인하여, 어떤 함수가 문제를 야기했는지 및 어느 AWS 리전에서 발생했는지 파악할 수 있습니다. Lambda@Edge 오류 문제 해결에 대한 자세한 내용은 다음 단원을 참조하십시오.
-
AWS
에서 콘텐츠 전송 디버깅을 위한 4단계
다음을 수행하여 그래프를 사용자 지정할 수 있습니다.
-
그래프에 표시된 정보의 시간 범위를 변경하려면 1h(1시간), 3h(3시간) 또는 다른 범위를 선택하거나 사용자 지정 범위를 지정합니다.
-
CloudFront가 그래프의 정보를 업데이트하는 빈도를 변경하려면 새로 고침 아이콘 옆에 있는 아래쪽 화살표를 선택하고 새로 고침 속도를 선택합니다. 기본 새로 고침 빈도는 1분이지만 10초, 2분 또는 다른 옵션을 선택할 수 있습니다.
CloudFront 콘솔에서 그래프를 보려면 대시보드에 추가를 선택합니다. CloudWatch 콘솔에서 그래프를 보려면 미국 동부(버지니아 북부) 리전(us-east-1)을 사용해야 합니다.
기본 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
) - 지정된 기간 동안 함수가 키 값 저장소에서 읽지 못한 횟수입니다.
CloudFront 콘솔에서 이러한 지표를 보는 방법은 모니터링 페이지
이러한 모든 지표는 미국 동부(버지니아 북부) 리전(us-east-1
), CloudFront 네임스페이스의 CloudWatch에 게시됩니다. CloudWatch 콘솔에서 이러한 지표를 볼 수도 있습니다. CloudWatch 콘솔에서 함수별 또는 배포당 함수별 지표를 볼 수 있습니다.
CloudWatch를 사용하여 이러한 지표를 기반으로 경보를 설정할 수도 있습니다. 예를 들어 함수를 실행하는 데 걸린 사용 가능한 시간의 백분율을 나타내는 실행 시간(FunctionComputeUilization
) 지표를 기반으로 경보를 설정할 수 있습니다. 실행 시간이 특정 시간 동안 특정 값에 도달하면(예: 15 연속 분 동안 사용 가능한 시간의 70% 이상) 경보가 트리거됩니다. 경보를 만들 때 경보의 값과 시간 단위를 지정합니다.
참고
CloudFront Functions는 프로덕션 요청 및 응답에 대한 응답으로 실행되는 LIVE
스테이지의 함수에 대해서만 지표를 CloudWatch로 전송합니다. 함수를 테스트할 때 CloudFront는 지표를 CloudWatch로 보내지 않습니다. 테스트 출력에는 오류, 컴퓨팅 사용률 및 함수 로그(console.log()
명령문)에 대한 정보가 포함되지만 이 정보는 CloudWatch로 전송되지 않습니다.
CloudWatch API를 사용하여 이러한 지표를 얻는 방법에 대한 자세한 내용은 CloudWatch API를 사용하여 지표 가져오기 섹션을 참조하세요.