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

최종 업데이트 날짜: 2019년 4월 3일

캐시 객체에 대한 CloudFront 배포 및 오리진을 구성했지만, 배포에서 "X-Cache:Miss from CloudFront" 응답을 반환합니다. 이 문제의 원인은 무엇입니까? 이 응답을 방지하려면 어떻게 해야 합니까?

​해결 방법

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

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

Amazon CloudFront를 통해 객체를 요청하면 객체는 요청을 수신한 엣지 로케이션에만 캐시됩니다. 후속 요청이 다른 엣지 로케이션으로 수행된 경우 다른 엣지 로케이션에는 객체의 캐시된 버전이 없으므로 "X-Cache: Miss CloudFront" 응답을 반환합니다.

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

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

엣지 로케이션의 객체가 자주 요청되지 않는다면 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에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?