Lambda@Edge (Node) 함수 작성 시 npm module을 사용하는 방법. esbuild를 사용하면 편하다.

{
  "scripts": {
    "build": "esbuild --bundle --minify --platform=node --target=node12 --outdir=build main.js",
    "export": "cd build && zip main.js.zip main.js"
  }
}

#208

Clear CloudFront Cache with AWS CLI | bobbyhadz

/**
 * CloudFront 배포에 대한 캐시를 무효화하려면 경로와 함께 명령을 실행합니다
 * 
 * @param {object} params
 * @param {string} params.distributionId
 * @param {string} params.paths
 * @returns {CreateInvalidationResult}
 */
function createInvalidation({
  distributionId,
  paths = `"/*"`
}) {
  const result = $`aws cloudfront create-invalidation --distribution-id ${distributionId} --paths ${paths}`
  return result
}
#209

Next.js SSG + S3 + CloudFront 캐시 정책

SSG로 옮긴 뒤 "배포해도 구버전 HTML이 서빙되는" 문제를 헤더 설계로 해결하는 레시피 모음.

#582