CloudFront 배포에서 ‘X-Cache:Miss from CloudFront’ 응답을 반환하는 이유는 무엇입니까?

2분 분량
0

캐시 객체에 대한 Amazon CloudFront 배포 및 오리진을 구성했지만, 배포에서 ‘X-Cache:Miss from CloudFront’ 응답을 반환합니다. 왜 이런 현상이 발생합니까? 이 응답을 방지하려면 어떻게 해야 합니까?

해결 방법

‘X-Cache:Miss from CloudFront’ 응답을 진단하고 문제를 해결하려면 다음을 확인합니다.

요청을 수신하는 엣지 로케이션은 어디입니까?

CloudFront를 통해 객체를 요청한 후에 요청을 수신한 엣지 로케이션에서만 객체가 캐시됩니다. 다른 엣지 로케이션에 대한 후속 요청이 수행된 경우 다른 엣지 로케이션에는 객체의 캐시된 버전이 없습니다. 이 시나리오에서 ‘X-Cache:Miss from CloudFront’ 응답을 반환합니다.

응답이 하나의 엣지 로케이션에서 생성되는지, 아니면 여러 엣지 로케이션에서 생성되는지 확인하려면 동일한 클라이언트에서 동일한 객체로 여러 요청을 전송합니다. 그런 다음, 연결이 설정된 IP 주소를 확인합니다. IP 주소의 역방향 DNS 조회를 실행하여 요청이 전송되는 엣지 로케이션을 확인합니다.

CloudFront 배포에 요청을 전송한 후 ‘x-amz-cf-pop’ 응답 헤더를 확인하여 엣지 로케이션을 확인할 수도 있습니다.

객체가 요청되는 빈도는 어떠합니까?

엣지 로케이션의 객체가 자주 요청되지 않는다면 CloudFront에서 객체 만료 날짜 전에 객체를 제거할 수도 있습니다. CloudFront에서 객체를 삭제하는 시점에 대한 자세한 내용은 콘텐츠가 엣지 캐시에서 유지되는 기간(만료) 관리를 참조하세요.

간헐적으로 ‘X-Cache:Miss from CloudFront’ 응답이 나타나는 경우 CloudFront는 빈번하지 않은 요청 때문에 객체를 제거할 수도 있습니다.

CloudFront 배포가 헤더, 쿠키 또는 쿼리 문자열 파라미터를 전달하도록 구성되었습니까?

배포가 헤더, 쿠키 또는 쿼리 문자열 파라미터를 전달하도록 구성된 경우 배포는 해당 파라미터에 따라 요청을 캐시합니다. 파라미터는 캐시에서 처리되는 요청 수를 줄입니다.

예를 들어, 객체에 액세스하는 두 개의 요청에서 쿼리 문자열 파라미터의 값이 서로 다르면 두 번째 요청은 캐시에서 처리되지 않습니다. 이 경우 두 번째 요청에서 ‘X-Cache:Miss from CloudFront’ 응답을 반환합니다.

전달하는 헤더, 쿠키 또는 쿼리 문자열 파라미터로 인해 이러한 응답이 발생하는지 확인하려면 이러한 파라미터를 오리진으로 전달하지 않도록 CloudFront 배포를 구성합니다. 그리고 문제가 계속 발생하는지 확인합니다.

배포에서 해당 파라미터를 더 이상 전달하지 않은 후에 문제가 해결되면 해당 파라미터 중 하나 이상이 이러한 응답의 원인입니다. 다양한 파라미터를 전달하도록 CloudFront를 구성하는 대신, CloudFront에서 전달하려는 특정 파라미터만 허용 목록에 추가합니다.

응답이 브라우저 캐시에 저장됩니까?

요청에서 ‘X-Cache:Miss from CloudFront’ 응답을 반환한 후에는 이 응답이 브라우저 캐시에 저장되었으므로 브라우저가 후속 요청에 대해 동일한 응답을 생성할 수 있습니다.

응답이 브라우저 캐시에 저장되었는지 확인하려면 브라우저 캐시를 지우고 동일한 객체에 대한 새 요청을 수행합니다.

참고: 브라우저가 객체를 캐시하는 기간을 확인하려면 객체에 Cache-Control 또는 Expires 헤더가 설정되었는지 확인합니다.


AWS 공식
AWS 공식업데이트됨 2년 전