엣지 함수 로그 - 아마존 CloudFront

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

엣지 함수 로그

Amazon CloudWatch Logs를 사용하여 Lambda @Edge 및 함수 모두의 엣지 함수에 대한 로그를 가져올 수 있습니다. CloudFront CloudWatch콘솔 또는 Logs API를 사용하여 로그에 액세스할 수 있습니다 CloudWatch .

중요

모든 요청을 완벽하게 설명하는 것이 아니라 콘텐츠 요청의 특성을 파악하기 위해 로그를 사용하는 것이 좋습니다. CloudFront 최선의 노력을 다해 에지 함수 로그를 제공합니다. 요청에 따라서는 실제로 요청이 처리된 지 한참 후에 로그 레코드가 전송되거나 아예 전송되지 않을 수도 있습니다. 로그 항목이 엣지 함수 로그에서 생략되는 경우 엣지 함수 로그의 항목 수가 AWS 결제 및 사용 보고서에 표시되는 사용량과 일치하지 않습니다.

Lambda@Edge 로그

Lambda @Edge 는 자동으로 함수 로그를 Logs로 CloudWatch 전송하여 함수가 실행되는 위치에 로그 스트림을 생성합니다. AWS 리전 로그 그룹 이름은 /aws/lambda/us-east-1.function-name 형식으로 지정됩니다. 여기서 function-name은 함수를 생성할 때 지정한 이름이고 us-east-1은 함수가 실행된 AWS 리전의 리전 코드입니다.

참고

Lambda@Edge는 요청 볼륨과 로그 크기에 따라 로그를 제한합니다.

Lambda @Edge 함수 CloudWatch 로그 파일을 AWS 리전 보려면 올바른 형식의 로그 파일을 검토해야 합니다. Lambda @Edge 함수가 실행되는 지역을 확인하려면 콘솔에서 함수에 대한 측정치 그래프를 보십시오. CloudFront 지표는 각 AWS 리전별로 표시됩니다. 동일한 페이지에서 리전을 선택하고 해당 리전의 로그 파일을 확인하여 문제를 조사할 수 있습니다.

Lambda @Edge 함수와 함께 CloudWatch 로그를 사용하는 방법에 대해 자세히 알아보려면 다음을 참조하십시오.

CloudFront 함수 로그

CloudFront 함수 코드에 console.log() 명령문이 포함된 경우 CloudFront Functions는 이러한 로그 라인을 CloudWatch Logs에 자동으로 보냅니다. console.log()명령문이 없는 경우 CloudWatch Logs에는 아무 것도 전송되지 않습니다.

CloudFront 함수는 함수를 실행한 엣지 로케이션과 상관없이 항상 미국 동부 (버지니아 북부us-east-1) 지역 () 에 로그 스트림을 생성합니다. 로그 그룹 이름은 /aws/cloudfront/function/FunctionName 형식으로 되어 있습니다. 여기서 FunctionName은 함수를 생성할 때 함수에 부여한 이름입니다. 로그 스트림 이름은 YYYY/M/D/UUID 형식입니다.

다음은 CloudWatch Logs로 전송된 예제 로그 메시지입니다. 각 줄은 요청을 고유하게 식별하는 ID로 시작합니다. CloudFront 메시지는 CloudFront 배포 ID가 포함된 START 줄로 시작하고 한 줄로 끝납니다. END STARTEND 줄 사이에는 함수의 console.log() 명령문에 의해 생성된 로그 라인이 있습니다.

U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== START DistributionID: E3E5D42GADAXZZ U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== Example function log output U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== END
참고

CloudFront Functions는 프로덕션 요청 및 응답에 대한 응답으로 실행되는 LIVE 스테이지의 함수에 대한 CloudWatch 로그만 전송합니다. 함수를 테스트할 때 는 로그를 전송하지 CloudFront 않습니다 CloudWatch. 테스트 출력에는 오류, 컴퓨팅 사용률, 함수 로그 (console.log()명령문) 에 대한 정보가 포함되지만 이 정보는 전송되지 않습니다 CloudWatch.

CloudFront AWS Identity and Access ManagementFunctions는 (IAM) 서비스 연결 역할을 사용하여 계정의 로그에 CloudWatch 로그를 전송합니다. 서비스 연결 역할은 AWS 서비스에 직접 연결된 IAM 역할입니다. 서비스 연결 역할은 서비스에서 미리 정의하며 서비스가 사용자를 대신하여 다른 서비스를 호출하는 데 필요한 모든 권한을 포함합니다. AWS CloudFront 함수는 라는 서비스 연결 역할을 사용합니다. AWSServiceRoleForCloudFrontLogger 이 역할에 대한 자세한 내용은 Lambda@Edge의 서비스 연결 역할 (Lambda@Edge에서 동일한 서비스 연결 역할 사용) 단원을 참조하세요.

함수가 유효성 검사 오류 또는 실행 오류로 실패하면 정보가 표준 로그와 실시간 로그에 CloudFront 기록됩니다. 오류에 대한 정보는 x-edge-result-type, x-edge-response-result-typex-edge-detailed-result-type 필드에 기록됩니다.