

# 지속적 배포의 작동 방식 알아보기
<a name="understanding-continuous-deployment"></a>

다음 주제에서는 CloudFront 지속적 배포의 작동 방식을 설명합니다.

**Topics**
+ [요청을 스테이징 배포로 라우팅](#understanding-continuous-deployment-routing)
+ [가중치 기반 구성을 위한 세션 고정성](#understanding-continuous-deployment-sessions)
+ [기본 및 스테이징 배포 업데이트](#updating-staging-and-primary-distributions)
+ [캐시를 공유하지 않는 기본 배포와 스테이징 배포](#staging-and-primary-no-shared-cache)

## 요청을 스테이징 배포로 라우팅
<a name="understanding-continuous-deployment-routing"></a>

CloudFront 지속적 배포를 사용할 경우 최종 사용자 요청에 대한 내용을 변경할 필요가 없습니다. 최종 사용자는 DNS 이름, IP 주소 또는 CNAME을 사용하여 스테이징 배포에 직접 요청을 보낼 수 없습니다. 대신 최종 사용자는 기본 (프로덕션) 배포에 요청을 보내고 CloudFront는 지속적 배포 정책의 트래픽 구성 설정에 따라 이러한 요청 중 일부를 스테이징 배포로 라우팅합니다. 다음과 같은 두 가지 유형의 트래픽 구성이 있습니다.

**가중치 기반**  
가중치 기반 구성은 지정된 비율의 최종 사용자 요청을 스테이징 배포로 라우팅합니다. 가중치 기반 구성을 사용하는 경우 *세션 고정성*을 활성화하여 CloudFront가 동일한 사용자의 요청을 단일 세션의 일부로 처리하도록 할 수도 있습니다. 자세한 내용은 [가중치 기반 구성을 위한 세션 고정성](#understanding-continuous-deployment-sessions) 섹션을 참조하세요.

**헤더 기반**  
헤더 기반 구성은 최종 사용자 요청에 특정 HTTP 헤더(헤더 및 값 지정)가 포함된 경우 요청을 스테이징 배포로 라우팅합니다. 지정된 헤더와 값을 포함하지 않는 요청은 기본 배포로 라우팅됩니다. 이 구성은 로컬 테스트나 최종 사용자 요청을 제어할 수 있는 경우에 유용합니다.  
스테이징 배포로 라우팅되는 헤더에는 `aws-cf-cd-` 접두사가 포함되어야 합니다.

## 가중치 기반 구성을 위한 세션 고정성
<a name="understanding-continuous-deployment-sessions"></a>

트래픽을 스테이징 배포로 라우팅하기 위해 가중치 기반 구성을 사용하는 경우 *세션 고정성*을 활성화하여 CloudFront가 동일한 사용자의 요청을 단일 세션의 일부로 처리하도록 할 수도 있습니다. 세션 고정성을 활성화하면 CloudFront는 쿠키를 설정하여 단일 세션에서 동일한 사용자의 모든 요청이 기본 배포든 스테이징이든 하나의 배포에서 처리되도록 합니다.

세션 고정성을 활성화하면 *유휴 기간*도 지정할 수 있습니다. 이 시간 동안 사용자가 유휴 상태(요청을 보내지 않음)인 경우 세션이 만료되고 CloudFront는 이 사용자의 향후 요청을 새 세션으로 취급합니다. 유휴 지속 시간을 300(5분)에서 3600(1시간) 사이의 초 수로 지정합니다.

다음과 같은 경우 CloudFront는 모든 세션(활성 세션 포함)을 재설정하고 모든 요청을 새 세션으로 간주합니다.
+ 지속적 배포 정책 활성화 또는 비활성화
+ 세션 고정성 설정 활성화 또는 비활성화

## 기본 및 스테이징 배포 업데이트
<a name="updating-staging-and-primary-distributions"></a>

기본 배포에 연속 배포 정책이 연결된 경우 기본 배포와 스테이징 배포 모두에 대해 다음과 같은 구성 변경을 사용할 수 있습니다.
+ 기본 캐시 동작을 포함한 모든 캐시 동작 설정
+ 모든 오리진 설정(오리진 및 오리진 그룹)
+ 사용자 지정 오류 응답(오류 페이지)
+ 지리적 제한
+ 기본 루트 객체
+ 로깅 설정
+ 설명(댓글)

또한 캐시 정책, 응답 헤더 정책, CloudFront 함수 또는 Lambda@Edge 함수와 같이 배포 구성에서 참조되는 외부 리소스를 업데이트할 수 있습니다.

## 캐시를 공유하지 않는 기본 배포와 스테이징 배포
<a name="staging-and-primary-no-shared-cache"></a>

기본 배포와 스테이징 배포는 캐시를 공유하지 않습니다. CloudFront가 스테이징 배포에 첫 번째 요청을 보낼 때 해당 캐시는 비어 있습니다. 요청이 스테이징 배포에 도착하면 응답 캐싱을 시작합니다(그렇게 하도록 구성된 경우).