Heesung Yang

AWS CLI [CloudFront] - Cache 삭제 방법

S3에 원본 파일을 업데이트 할 경우, 일정 시간이 지나야만 CloudFront에 반영된다. (default 1시간) 이는 CloudFront Caching 알고리즘에 의한 동작이다. 만약, S3 원본 업데이트 즉시 Cache를 업데이트하고 싶다면 아래 방법으로 가능하다. 이를 Invalidation이라 부르는데 한 달에 1000회 까지 무료이고 그 이후에는 과금된다…! AWS 링크

Cache 삭제

  1. cloudfront distribution id 조회

    ~$ aws cloudfront list-distributions | jq '.DistributionList.Items[] | [.Id]'
    
    [
    "E31EWNEW64AS8D"
    ]
    
  2. invalidation task 생성

    # 모든 경로의 파일을 삭제한다.
    ~$ aws cloudfront create-invalidation --distribution-id E31EWNEW64AS8D --paths "/*"
    
  3. task 상태 확인

    ~$ aws cloudfront list-invalidations --distribution-id E31EWNEW64AS8D
    
    {
        "InvalidationList": {
            "Items": [
                {
                    "Id": "I2SMENDZS95RRB",
                    "CreateTime": "2022-02-27T13:46:24.934000+00:00",
                    "Status": "Completed"
                },
                {
                    "Id": "I1J3QY8GQU6069",
                    "CreateTime": "2022-02-27T13:39:28.753000+00:00",
                    "Status": "Completed"
                },
                {
                    "Id": "I2OWCA0O4K5W21",
                    "CreateTime": "2022-02-27T12:56:30.453000+00:00",
                    "Status": "Completed"
                }
            ]
        }
    }
    

References