스테이징 배포 및 지속적 배포 정책 사용 - Amazon CloudFront

스테이징 배포 및 지속적 배포 정책 사용

AWS Command Line Interface(AWS CLI) 또는 CloudFront API를 사용하여 CloudFront 콘솔에서 스테이징 배포와 지속적 배포 정책을 생성, 업데이트 및 수정할 수 있습니다.

스테이징 배포 및 지속적 배포 정책 생성

다음 절차에서는 스테이징 배포 및 지속적 배포 정책을 생성하는 방법을 보여 줍니다.

Console

AWS Management Console을 사용하여 스테이징 배포 및 지속적 배포 정책을 생성할 수 있습니다.

스테이징 배포 및 연속 배포 정책 생성(콘솔)
  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 탐색 창에서 Distributions(배포)를 선택합니다.

  3. 기본 배포로 사용할 배포를 선택합니다. 기본 배포는 현재 프로덕션 트래픽을 제공하는 배포이며, 여기서 스테이징 배포를 만들게 됩니다.

  4. Continuous deployment(지속적 배포) 섹션에서 Create staging distribution(스테이징 배포 생성)을 선택합니다. 그러면 Create staging distribution(스테이징 배포 생성) 마법사가 열립니다.

  5. Create staging distribution(스테이징 배포 생성) 마법사에서 다음을 수행합니다.

    1. (선택 사항) 스테이징 배포에 대한 설명을 입력합니다.

    2. Next(다음)를 선택합니다.

    3. 스테이징 배포의 구성을 수정합니다. 업데이트할 수 있는 설정에 대한 자세한 내용은 기본 및 스테이징 배포 업데이트를 참조하십시오.

      스테이징 배포의 구성 수정을 마치면 Next(다음)을 선택합니다.

    4. 콘솔을 사용하여 Traffic configuration(트래픽 구성)을 지정합니다. 이에 따라 CloudFront가 스테이징 배포로 트래픽을 라우팅하는 방식이 결정됩니다. (CloudFront는 트래픽 구성을 지속적 배포 정책에 저장합니다.)

      트래픽 구성 옵션에 대한 자세한 내용은 요청을 스테이징 배포로 라우팅을 참조하세요.

      Traffic configuration(트래픽 구성)을 완료했으면 Next(다음)을 선택합니다.

    5. 트래픽 구성을 포함하여 스테이징 배포에 대한 구성을 검토한 다음 Create staging distribution(스테이징 배포 생성)을 선택합니다.

CloudFront 콘솔에서 Create staging distribution(스테이징 배포 생성) 마법사를 완료하면 CloudFront는 다음을 수행합니다.

  • 지정한 설정을 사용하여 스테이징 배포를 만듭니다(5c 단계).

  • 지정한 트래픽 구성을 사용하여 지속적 배포 정책을 생성합니다(5d단계).

  • 스테이징 배포를 만들 때 바탕이 된 기본 배포에 지속적 배포 정책을 연결합니다.

기본 배포의 구성이 연결된 지속적 배포 정책을 사용하여 엣지 로케이션에 배포되면 CloudFront는 트래픽 구성을 기반으로 지정된 트래픽 부분을 스테이징 배포로 전송하기 시작합니다.

CLI

AWS CLI에서 스테이징 배포와 지속적 배포 정책을 생성하려면 다음 절차를 사용합니다.

스테이징 배포 생성(CLI)
  1. aws cloudfront get-distributiongrep 명령을 함께 사용하면 기본 배포로 사용할 배포의 ETag 값을 얻을 수 있습니다. 기본 배포는 현재 프로덕션 트래픽을 제공하는 배포이며, 여기서 스테이징 배포를 만들게 됩니다.

    다음 명령은 예시를 나타냅니다. 다음 예에서는 primary_distribution_ID를 기본 배포의 ID로 바꿉니다.

    aws cloudfront get-distribution --id primary_distribution_ID | grep 'ETag'

    다음 단계에 필요하므로 ETag 값을 복사하십시오.

  2. aws cloudfront copy-distribution 명령을 사용하여 스테이징 배포를 만들 수 있습니다. 다음 예제 명령에서는 가독성을 높이기 위해 이스케이프 문자(\)와 줄 바꿈을 사용하지만 실제 명령에서는 이러한 문자를 생략해야 합니다. 이 예에서 다음과 같이 합니다.

    • primary_distribution_ID를 기본 배포의 ID로 바꿉니다.

    • primary_distribution_ETag를 기본 배포의 ETag 값(이전 단계에서 가져온 값)으로 바꿉니다.

    • (선택 사항) CLI_example을 원하는 호출자 참조 ID로 바꿉니다.

    aws cloudfront copy-distribution --primary-distribution-id primary_distribution_ID \ --if-match primary_distribution_ETag \ --staging \ --caller-reference 'CLI_example'

    명령의 출력에는 스테이징 배포와 해당 구성에 대한 정보가 표시됩니다. 스테이징 배포의 CloudFront 도메인 이름은 다음 단계에 필요하므로 복사합니다.

지속적 배포 정책 생성(입력 파일이 있는 CLI)
  1. 다음 명령을 사용하여 continuous-deployment-policy.yaml 명령에 대한 모든 입력 파라미터가 포함된 create-continuous-deployment-policy이라는 파일을 만듭니다. 다음 명령에서는 가독성을 높이기 위해 이스케이프 문자(\)와 줄 바꿈을 사용하지만 실제 명령에서는 이러한 문자를 생략해야 합니다.

    aws cloudfront create-continuous-deployment-policy --generate-cli-skeleton yaml-input \ > continuous-deployment-policy.yaml
  2. 방금 생성한 continuous-deployment-policy.yaml이라는 파일을 엽니다. 파일을 편집하여 원하는 지속적 배포 정책 설정을 지정한 다음 파일을 저장합니다. 파일을 편집할 때:

    • StagingDistributionDnsNames 섹션:

      • Quantity의 값을 1로 변경합니다.

      • Items의 경우 스테이징 배포의 CloudFront 도메인 이름(이전 단계에서 저장한 이름)을 붙여 넣습니다.

    • TrafficConfig 섹션:

      • TypeSingleWeight 또는 SingleHeader로 선택합니다.

      • 다른 유형에 대한 설정을 제거합니다. 예를 들어, 가중치 기반 트래픽 구성을 원하는 경우 TypeSingleWeight로 설정한 다음 SingleHeaderConfig 설정을 제거합니다.

      • 가중치 기반 트래픽 구성을 사용하려면 Weight의 값을 .01(1%) 에서 .15(15%) 사이의 10진수로 설정합니다.

      TrafficConfig의 이러한 옵션에 대한 자세한 내용은 요청을 스테이징 배포로 라우팅가중치 기반 구성을 위한 세션 고정성을 참조하세요.

  3. 다음 명령을 사용하여 continuous-deployment-policy.yaml 파일의 입력 파라미터로 지속적 배포 정책을 만듭니다.

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

    명령 출력의 Id 값을 복사합니다. 이는 지속적 배포 정책 ID이며 다음 단계에서 필요합니다.

기본 배포에 지속적 배포 정책 연결(입력 파일이 있는 CLI)
  1. 다음 명령을 사용하여 기본 배포에 대한 구성을 이름이 primary-distribution.yaml인 파일에 저장합니다. primary_distribution_ID를 기본 배포의 ID로 바꿉니다.

    aws cloudfront get-distribution-config --id primary_distribution_ID --output yaml > primary-distribution.yaml
  2. 방금 생성한 primary-distribution.yaml이라는 파일을 엽니다. 파일을 편집하여 다음과 같이 변경합니다.

    • 지속적 배포 정책 ID(이전 단계에서 복사한 ID)를 ContinuousDeploymentPolicyId 필드에 붙여 넣습니다.

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

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

  3. 지속적 배포 정책을 사용하도록 기본 배포를 업데이트하려면 다음 명령을 사용합니다. primary_distribution_ID를 기본 배포의 ID로 바꿉니다.

    aws cloudfront update-distribution --id primary_distribution_ID --cli-input-yaml file://primary-distribution.yaml

기본 배포의 구성이 연결된 지속적 배포 정책을 사용하여 엣지 로케이션에 배포되면 CloudFront는 트래픽 구성을 기반으로 지정된 트래픽 부분을 스테이징 배포로 전송하기 시작합니다.

API

CloudFront API를 사용하여 스테이징 배포 및 지속적 배포 정책을 생성하려면 다음 API 작업을 사용합니다.

이러한 API 호출에서 지정하는 필드에 대한 자세한 내용은 다음을 참조하세요.

스테이징 배포와 지속적 배포 정책을 만든 후에는 UpdateDistribution(기본 배포에서)을 사용하여 지속적 배포 정책을 기본 배포에 연결합니다.

스테이징 배포 업데이트

다음 절차에서는 스테이징 배포 및 지속적 배포 정책을 업데이트하는 방법을 보여 줍니다.

Console

기본 배포와 스테이징 배포 모두에 대해 특정 구성을 업데이트할 수 있습니다. 자세한 내용은 기본 및 스테이징 배포 업데이트 단원을 참조하십시오.

스테이징 배포 업데이트(콘솔)
  1. https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 탐색 창에서 Distributions(배포)를 선택합니다.

  3. 기본 배포를 선택합니다. 현재 프로덕션 트래픽을 제공하는 배포이며, 여기서 스테이징 배포를 만들게 됩니다.

  4. View staging distribution(스테이징 배포 보기)를 선택합니다.

  5. 콘솔을 사용하여 스테이징 배포의 구성을 수정합니다. 업데이트할 수 있는 설정에 대한 자세한 내용은 기본 및 스테이징 배포 업데이트를 참조하십시오.

스테이징 배포의 구성이 엣지 로케이션에 배포되는 즉시 스테이징 배포로 라우팅되는 수신 트래픽에 적용됩니다.

CLI
스테이징 배포 업데이트(입력 파일이 있는 CLI)
  1. 다음 명령을 사용하여 스테이징 배포에 대한 구성을 이름이 staging-distribution.yaml인 파일에 저장합니다. staging_distribution_ID를 스테이징 배포 ID로 바꿉니다.

    aws cloudfront get-distribution-config --id staging_distribution_ID --output yaml > staging-distribution.yaml
  2. 방금 생성한 staging-distribution.yaml이라는 파일을 엽니다. 파일을 편집하여 다음과 같이 변경합니다.

    • 스테이징 배포의 구성을 수정합니다. 업데이트할 수 있는 설정에 대한 자세한 내용은 기본 및 스테이징 배포 업데이트를 참조하십시오.

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

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

  3. 다음 명령을 사용하여 스테이징 배포의 구성을 업데이트합니다. staging_distribution_ID를 스테이징 배포 ID로 바꿉니다.

    aws cloudfront update-distribution --id staging_distribution_ID --cli-input-yaml file://staging-distribution.yaml

스테이징 배포의 구성이 엣지 로케이션에 배포되는 즉시 스테이징 배포로 라우팅되는 수신 트래픽에 적용됩니다.

API

스테이징 배포의 구성을 업데이트하려면 UpdateDistribution(스테이징 배포에서)을 사용하여 스테이징 배포의 구성을 수정합니다. 업데이트할 수 있는 설정에 대한 자세한 내용은 기본 및 스테이징 배포 업데이트를 참조하십시오.

지속적 배포 정책 업데이트

다음 절차에서는 지속적 배포 정책을 업데이트하는 방법을 보여 줍니다.

Console

지속적 배포 정책을 업데이트하여 배포의 트래픽 구성을 업데이트할 수 있습니다.

지속적 배포 정책 업데이트(콘솔)
  1. https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 탐색 창에서 Distributions(배포)를 선택합니다.

  3. 기본 배포를 선택합니다. 현재 프로덕션 트래픽을 제공하는 배포로, 스테이징 배포를 만들 때 바탕이 된 배포입니다.

  4. Continuous deployment(지속적 배포) 섹션에서 Edit policy(정책 편집)을 선택합니다.

  5. 지속적 배포 정책에서 트래픽 구성을 수정합니다. 작업을 마쳤으면 변경 사항 저장을 선택합니다.

기본 배포의 구성이 업데이트된 지속적 배포 정책을 사용하여 엣지 로케이션에 배포되면 CloudFront는 업데이트된 트래픽 구성을 기반으로 지정된 트래픽 부분을 스테이징 배포로 전송하기 시작합니다.

CLI
지속적 배포 정책 업데이트(입력 파일이 있는 CLI)
  1. 다음 명령을 사용하여 지속적 배포 정책의 구성을 이름이 continuous-deployment-policy.yaml인 파일로 저장합니다. continuous_deployment_policy_ID를 지속적 배포 정책의 ID로 바꾸십시오. 다음 명령에서는 가독성을 높이기 위해 이스케이프 문자(\)와 줄 바꿈을 사용하지만 실제 명령에서는 이러한 문자를 생략해야 합니다.

    aws cloudfront get-continuous-deployment-policy-config --id continuous_deployment_policy_ID \ --output yaml > continuous-deployment-policy.yaml
  2. 방금 생성한 continuous-deployment-policy.yaml이라는 파일을 엽니다. 파일을 편집하여 다음과 같이 변경합니다.

    • 지속적 배포 정책에서 구성을 원하는 대로 수정합니다. 예를 들어 헤더 기반 트래픽 구성에서 가중치 기반 트래픽 구성으로 변경하거나 가중치 기반 구성의 트래픽 비율(가중치)을 변경할 수 있습니다. 자세한 내용은 요청을 스테이징 배포로 라우팅가중치 기반 구성을 위한 세션 고정성 단원을 참조하세요.

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

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

  3. 지속적 배포 정책을 업데이트하려면 다음 명령을 사용합니다. continuous_deployment_policy_ID를 지속적 배포 정책의 ID로 바꾸십시오. 다음 명령에서는 가독성을 높이기 위해 이스케이프 문자(\)와 줄 바꿈을 사용하지만 실제 명령에서는 이러한 문자를 생략해야 합니다.

    aws cloudfront update-continuous-deployment-policy --id continuous_deployment_policy_ID \ --cli-input-yaml file://continuous-deployment-policy.yaml

기본 배포의 구성이 업데이트된 지속적 배포 정책을 사용하여 엣지 로케이션에 배포되면 CloudFront는 업데이트된 트래픽 구성을 기반으로 지정된 트래픽 부분을 스테이징 배포로 전송하기 시작합니다.

API

지속적 배포 정책을 업데이트하려면 UpdateContinuousDeploymentPolicy를 사용합니다.

스테이징 배포 구성 승격

다음 절차에서는 스테이징 배포 구성을 승격하는 방법을 보여 줍니다.

Console

스테이징 배포를 승격하면 CloudFront는 스테이징 배포의 구성을 기본 배포로 복사합니다. CloudFront는 지속적 배포 정책도 비활성화하며 모든 트래픽을 기본 배포로 라우팅합니다.

구성을 승격시킨 후 다음에 구성 변경을 테스트할 때 동일한 스테이징 배포를 재사용할 수 있습니다.

스테이징 배포의 구성 승격(콘솔)
  1. https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 탐색 창에서 Distributions(배포)를 선택합니다.

  3. 기본 배포를 선택합니다. 현재 프로덕션 트래픽을 제공하는 배포로, 스테이징 배포를 만들 때 바탕이 된 배포입니다.

  4. 지속적 배포 섹션에서 승격을 선택합니다.

  5. confirm을 입력한 다음 Promote(승격)을 선택합니다.

CLI

스테이징 배포를 승격하면 CloudFront는 스테이징 배포의 구성을 기본 배포로 복사합니다. CloudFront는 지속적 배포 정책도 비활성화하며 모든 트래픽을 기본 배포로 라우팅합니다.

구성을 승격시킨 후 다음에 구성 변경을 테스트할 때 동일한 스테이징 배포를 재사용할 수 있습니다.

스테이징 배포의 구성 승격(CLI)
  • aws cloudfront update-distribution-with-staging-config 명령을 사용하여 스테이징 배포의 구성을 기본 배포로 승격시킵니다. 다음 예제 명령에서는 가독성을 높이기 위해 이스케이프 문자(\)와 줄 바꿈을 사용하지만 실제 명령에서는 이러한 문자를 생략해야 합니다. 이 예에서 다음과 같이 합니다.

    • primary_distribution_ID를 기본 배포의 ID로 바꿉니다.

    • staging_distribution_ID를 스테이징 배포 ID로 바꿉니다.

    • primary_distribution_ETagstaging_distribution_ETag를 기본 및 스테이징 배포의 ETag 값으로 바꿉니다. 예와 같이 기본 분포의 값이 첫 번째인지 확인하십시오.

    aws cloudfront update-distribution-with-staging-config --id primary_distribution_ID \ --staging-distribution-id staging_distribution_ID \ --if-match 'primary_distribution_ETag,staging_distribution_ETag'
API

스테이징 배포의 구성을 기본 배포로 승격시키려면 UpdateDistributionWithStagingConfig를 사용합니다.