캐시 정책 생성 - Amazon CloudFront

캐시 정책 생성

캐시 정책을 사용하면 캐시 키에 포함된 값(URL 쿼리 문자열, HTTP 헤더 및 쿠키)을 제어하여 캐시 적중률을 향상시킬 수 있습니다. AWS Command Line Interface(AWS CLI) 또는 CloudFront API를 사용하여 CloudFront 콘솔에서 캐시 정책을 생성할 수 있습니다.

캐시 정책을 생성한 후 CloudFront 배포의 하나 이상의 캐시 동작에 연결합니다.

Console
캐시 정책을 생성하는 방법(콘솔)
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/cloudfront/v4/home?#/policies의 CloudFront 콘솔에서 [정책(Policies)] 페이지를 엽니다.

  2. Create cache policy(캐시 정책 생성)를 선택합니다.

  3. 이 캐시 정책에 대해 원하는 설정을 선택합니다. 자세한 내용은 캐시 정책 이해 섹션을 참조하세요.

  4. 마친 후에는 Create(생성)를 선택합니다.

캐시 정책을 생성한 후 캐시 동작에 연결할 수 있습니다.

캐시 정책을 기존 배포에 연결하는 방법(콘솔)
  1. https://console.aws.amazon.com/cloudfront/v4/home#/distributions의 CloudFront 콘솔에서 [Distributions(배포)] 페이지를 엽니다.

  2. 업데이트할 배포를 선택한 다음 Behaviors(동작) 탭을 선택합니다.

  3. 업데이트할 캐시 동작을 선택한 다음 Edit(편집)를 선택합니다.

    또는 새 캐시 동작을 생성하려면 Create Behavior(동작 생성)를 선택합니다.

  4. Cache key and origin request(캐시 키 및 오리진 요청) 섹션에서 Cache policy and origin request policy(캐시 정책 및 오리진 요청 정책)가 선택되어 있는지 확인합니다.

  5. Cache Policy(캐시 정책)의 경우 이 캐시 동작에 연결할 캐시 정책을 선택합니다.

  6. 페이지 하단에서 Save changes(변경 사항 저장)를 선택합니다.

캐시 정책을 새 배포에 연결하는 방법(콘솔)
  1. https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 배포 생성을 선택합니다.

  3. Cache key and origin request(캐시 키 및 오리진 요청) 섹션에서 Cache policy and origin request policy(캐시 정책 및 오리진 요청 정책)가 선택되어 있는지 확인합니다.

  4. Cache Policy(캐시 정책)의 경우 이 배포의 기본 캐시 동작에 연결할 캐시 정책을 선택합니다.

  5. 오리진, 기본 캐시 동작 및 기타 배포 설정에 대해 원하는 설정을 선택합니다. 자세한 내용은 배포 설정 참조 섹션을 참조하세요.

  6. 완료되면 Create Distribution(배포 생성)을 선택합니다.

CLI

AWS Command Line Interface(AWS CLI)를 사용하여 캐시 정책을 생성하려면 aws cloudfront create-cache-policy 명령을 사용합니다. 각 개별 파라미터를 명령줄 입력으로 지정하는 대신 입력 파일을 사용하여 명령의 입력 파라미터를 제공할 수 있습니다.

캐시 정책을 생성하는 방법(입력 파일이 있는 CLI)
  1. 다음 명령을 사용하여 cache-policy.yaml 명령에 대한 모든 입력 파라미터가 포함된 create-cache-policy이라는 파일을 만듭니다.

    aws cloudfront create-cache-policy --generate-cli-skeleton yaml-input > cache-policy.yaml
  2. 방금 생성한 cache-policy.yaml이라는 파일을 엽니다. 파일을 편집하여 원하는 캐시 정책 설정을 지정한 다음 파일을 저장합니다. 파일에서 선택적 필드를 제거할 수 있지만 필수 필드는 제거하지 마세요.

    캐시 정책 설정에 대한 자세한 내용은 캐시 정책 이해 단원을 참조합니다.

  3. 다음 명령을 사용하여 cache-policy.yaml 파일의 입력 파라미터로 캐시 정책을 만듭니다.

    aws cloudfront create-cache-policy --cli-input-yaml file://cache-policy.yaml

    명령의 출력에 있는 Id 값을 기록해 둡니다. 캐시 정책 ID인 이 값은 캐시 정책을 CloudFront 배포의 캐시 동작에 연결하는 데 필요합니다.

캐시 정책을 기존 배포에 연결하는 방법(입력 파일이 있는 CLI)
  1. 다음 명령을 사용하여 업데이트할 CloudFront 배포에 대한 배포 구성을 저장합니다. distribution_ID를 배포 ID로 바꿉니다.

    aws cloudfront get-distribution-config --id distribution_ID --output yaml > dist-config.yaml
  2. 방금 생성한 dist-config.yaml이라는 파일을 엽니다. 캐시 정책을 사용하도록 업데이트하려는 각 캐시 동작을 다음과 같이 변경하여 파일을 편집합니다.

    • 캐시 동작에서 CachePolicyId이라는 필드를 추가합니다. 필드 값에는 정책을 만든 후 기록한 캐시 정책 ID를 사용합니다.

    • 캐시 동작에서 MinTTL, MaxTTL, DefaultTTLForwardedValues 필드를 제거합니다. 이러한 설정은 캐시 정책에 지정되므로 이러한 필드와 캐시 정책을 동일한 캐시 동작에 포함할 수 없습니다.

    • ETag 필드의 이름을 IfMatch로 바꾸지만 필드 값은 변경하지 마세요.

    완료되면 파일을 저장합니다.

  3. 캐시 정책을 사용하도록 배포를 업데이트하려면 다음 명령을 사용합니다. distribution_ID를 배포 ID로 바꿉니다.

    aws cloudfront update-distribution --id distribution_ID --cli-input-yaml file://dist-config.yaml
캐시 정책을 새 배포에 연결하는 방법(입력 파일이 있는 CLI)
  1. 다음 명령을 사용하여 distribution.yaml 명령에 대한 모든 입력 파라미터가 포함된 create-distribution이라는 파일을 만듭니다.

    aws cloudfront create-distribution --generate-cli-skeleton yaml-input > distribution.yaml
  2. 방금 생성한 distribution.yaml이라는 파일을 엽니다. 기본 캐시 동작의 CachePolicyId 필드에 정책을 생성한 후 기록한 캐시 정책 ID를 입력합니다. 파일을 계속 편집하여 원하는 배포 설정을 지정한 다음 완료되면 파일을 저장합니다.

    배포 설정에 대한 자세한 내용은 배포 설정 참조 단원을 참조하세요.

  3. 다음 명령을 사용하여 distribution.yaml 파일의 입력 파라미터로 배포를 만듭니다.

    aws cloudfront create-distribution --cli-input-yaml file://distribution.yaml
API

CloudFront API를 사용하여 캐시 정책을 생성하려면 CreateCachePolicy를 사용합니다. 이 API 호출에서 지정하는 필드에 대한 자세한 내용은 캐시 정책 이해 및 AWS SDK 또는 기타 API 클라이언트에 대한 API 참조 설명서를 참조하세요.

캐시 정책을 생성한 후 다음 API 호출 중 하나를 사용하여 캐시 동작에 연결할 수 있습니다.

이 두 API 호출에 대해 캐시 동작 내의 CachePolicyId 필드에 캐시 정책의 ID를 제공합니다. 이러한 API 호출에서 지정하는 다른 필드에 대한 자세한 내용은 배포 설정 참조와 AWS SDK 또는 기타 API 클라이언트에 대한 API 참조 설명서를 참조하세요.