내용으로 건너뛰기

CloudFront 무효화 요청의 ‘TooManyInvalidationsInProgress’ 오류를 해결하려면 어떻게 해야 합니까?

2분 분량
0

콘텐츠를 제거하기 위해 Amazon CloudFront 배포용 파일을 무효화하려고 했는데 ‘TooManyInvalidationsInProgress’ 오류가 발생했습니다.

간략한 설명

개별 파일의 경우 각 배포에 대해 최대 3,000개의 무효화 요청을 수행할 수 있습니다.

이 할당량을 초과하면 다음과 비슷한 오류 메시지가 표시될 수 있습니다.

"An error occurred (TooManyInvalidationsInProgress) when calling the CreateInvalidation operation: Processing your request will cause you to exceed the maximum number of in-progress invalidations."

이 문제를 해결하려면 버전이 지정된 파일 이름 또는 와일드카드를 사용하거나, 캐시 파일 시간을 제어하거나, 지수 백오프를 통해 재시도 메커니즘을 구현하십시오.

해결 방법

버전이 지정된 파일 이름 사용

배포판에서 파일을 자주 업데이트하는 경우 버전이 지정된 파일 이름을 사용하는 것이 가장 좋습니다. 버전이 지정된 파일을 사용하면 과도하게 캐싱된 파일을 보다 효과적으로 제어할 수 있으며 파일 무효화보다 비용이 적게 듭니다. 자세한 내용은 파일 무효화와 버전이 지정된 파일 이름 사용 중에서 선택을 참조하십시오.

와일드카드 사용

파일 할당량 없이 동시에 최대 15개의 무효화 경로가 진행 중인 무효화 경로에 와일드카드를 사용할 수 있습니다. 무효화 경로 끝에 와일드카드(*)를 넣어야 합니다(예: /images/image.jpg*).

CloudFront에서 파일을 캐싱하는 시간 제어

오리진 또는 배포의 구성을 변경하여 CloudFront에서 객체를 캐싱하는 시간을 지정할 수 있습니다. 캐시 정책오리진 요청 정책을 사용하여 캐시 키와 오리진 요청을 제어하는 것이 가장 좋습니다.

콘텐츠를 캐싱할 필요가 없는 경우 CachingDisabled 정책을 사용하여 캐싱을 비활성화하십시오. 자세한 내용은 CloudFront가 특정 파일을 캐싱하지 않도록 구성을 변경하려면 어떻게 해야 합니까?를 참조하십시오.

지수 백오프를 통해 재시도 메커니즘 구현

오류를 반환하는 요청을 재시도하도록 애플리케이션에 재시도 로직을 구축하는 것이 가장 좋습니다. 모든 AWS SDK에는 지수 백오프를 사용하는 알고리즘을 갖춘 재시도 메커니즘이 내장되어 있습니다. 이 알고리즘은 연속적인 오류 응답에 대한 재시도 사이의 대기 시간을 점점 더 연장합니다. 많은 지수 백오프 알고리즘은 연속적인 충돌을 방지하기 위해 지터를 사용합니다. 자세한 내용은 재시도 동작을 참조하십시오.

관련 정보

파일 무효화 시 알아야 할 사항

무효화에 대한 할당량

CreateInvalidation

AWS 공식업데이트됨 3달 전