오리진 서버의 파일을 업데이트했습니다. 하지만 Amazon CloudFront는 여전히 사용자에게 이전 콘텐츠를 제공하고 있습니다. 이 문제가 발생하는 이유는 무엇이며, 캐시를 지우려면 어떻게 해야 하나요?
간략한 설명
기본적으로 CloudFront는 오리진의 응답에 있는 캐시 제어 헤더와 CloudFront 배포의 캐시 동작에 있는 최소, 최대 및 기본 TTL 값을 기반으로 엣지 로케이션에서의 응답을 캐시합니다.
CloudFront는 구성한 값에 따라 캐시가 만료될 때까지 캐시된 파일을 제공합니다. 업데이트된 파일을 즉시 제공하려면 파일을 무효화하여 CloudFront의 캐시에서 객체를 제거합니다.
**참고:**응답을 다양화하도록 쿠키, 쿼리 문자열, 또는 헤더를 사용하는 객체의 특정 버전은 무효화할 수 없습니다. 무효화는 객체의 모든 버전을 제거합니다.
해결 방법
중요: 파일을 무효화하면 요금이 부과될 수 있습니다. 자세한 내용은 파일 무효화에 대한 지불을 참조하십시오.
AWS Console을 사용한 파일 무효화
AWS Console을 사용하여 파일을 무효화하려면 Console을 사용한 파일 무효화 문서를 참조하세요.
AWS CLI를 사용한 파일 무효화
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.
AWS CLI를 사용하여 파일을 무효화하려면, create-invalidation 명령을 사용하세요.
aws cloudfront create-invalidation --distribution-id EDFDVBD6EXAMPLE --paths "/example-path/index.html"
참고:EDFDVBD6EXAMPLE을 파일을 제공하는 배포판의 ID로 바꿉니다.
무효화의 현재 상태를 찾으려면, get-invalidation 명령을 사용합니다.
aws cloudfront get-invalidation --id I2J0I21PCUYOIK --distribution-id EDFDVBD6EXAMPLE
참고:EDFDVBD6EXAMPLE을 파일을 제공하는 배포판의 ID로 바꿉니다.
무효화가 완료될 때까지 진행 상태를 폴링하려면 다음 명령을 사용합니다.
aws cloudfront wait invalidation-completed --id I2J0I21PCUYOIK --distribution-id EDFDVBD6EXAMPLE
참고:EDFDVBD6EXAMPLE을 파일을 제공하는 배포판의 ID로 바꿉니다.
관련 정보
CloudFront가 Amazon S3에서 오래된 콘텐츠를 제공하는 이유는 무엇인가요?