오리진 설정
CloudFront 콘솔을 사용하여 배포를 생성 또는 업데이트할 경우, 원래 버전의 웹 콘텐츠를 저장하는 하나 이상의 위치(오리진이라고도 함)에 대한 정보를 제공합니다. CloudFront는 오리진에서 웹 콘텐츠를 가져와 이를 엣지 서버의 전 세계 네트워크를 통해 최종 사용자에게 제공합니다.
현재 하나의 배포에 대해 생성할 수 있는 오리진의 최대 수를 살펴보고 더 높은 할당량을 요청하려면, 배포의 일반 할당량 섹션을 참조하세요.
오리진을 삭제하려는 경우 먼저 해당 오리진에 연결된 캐시 동작을 편집하거나 삭제해야 합니다.
중요
오리진을 삭제할 경우 이전에 해당 오리진에서 제공된 파일이 다른 오리진에서 사용 가능하고 캐시 동작이 현재 그러한 파일에 대한 요청을 새 오리진에 라우팅하는지 확인합니다.
배포를 생성 또는 업데이트할 경우 각 오리진에 대해 다음 값을 지정합니다.
주제
오리진 도메인
오리진 도메인은 CloudFront가 오리진(예: Amazon S3 버킷 또는 HTTP 서버)에 대한 객체를 가져올 리소스의 DNS 도메인 이름입니다. 예시:
-
Amazon S3 버킷 –
amzn-s3-demo-bucket
.s3.us-west-2
.amazonaws.com참고
최근에 S3 버킷을 만든 경우 CloudFront 배포에서 최대 24시간 동안
HTTP 307 Temporary Redirect
응답을 반환할 수 있습니다. S3 버킷 이름이 모든 AWS 리전에 전파되는 데 최대 24시간이 걸릴 수 있습니다. 전파가 완료되면, 배포에서는 이러한 리디렉션 응답 전송을 자동으로 중지하므로 별도로 조치를 취할 필요가 없습니다. 자세한 내용은 Amazon S3에서 HTTP 307 임시 리디렉션 응답을 받는 이유는 무엇입니까?및 임시 요청 리디렉션을 참조하십시오. -
웹 사이트로 구성된 Amazon S3 버킷 -
amzn-s3-demo-bucket
.s3-website.us-west-2
.amazonaws.com -
MediaStore 컨테이너 -
examplemediastore
.data.mediastore.us-west-1
.amazonaws.com -
MediaPackage 엔드포인트 –
examplemediapackage
.mediapackage.us-west-1
.amazonaws.com -
Amazon EC2 인스턴스 –
ec2-203-0-113-25
.compute-1.amazonaws.com -
Elastic Load Balancing 로드 밸런서 –
example-load-balancer-1234567890
.us-west-2
.elb.amazonaws.com -
자체 웹 서버 -
www.example.com
오리진 도메인(Origin domain) 필드에서 도메인 이름을 선택하거나, 이름을 입력합니다. 옵트인 리전의 리소스는 수동으로 입력해야 합니다. 도메인 이름은 대소문자를 구분하지 않습니다. 오리진 도메인은 인터넷을 통해 클라이언트의 요청을 대상으로 라우팅하는 공개적으로 확인 가능한 DNS 이름을 포함해야 합니다.
CloudFront가 HTTPS를 통해 오리진에 연결하도록 구성하는 경우, 인증서의 도메인 이름 중 하나는 오리진 도메인 이름으로 지정하는 도메인 이름과 일치해야 합니다. 일치하는 도메인 이름이 없는 경우 CloudFront는 최종 사용자에게 HTTP 상태 코드 502(잘못된 게이트웨이)를 반환합니다. 자세한 내용은 CloudFront 배포 및 인증서의 도메인 이름 및 CloudFront와 사용자 지정 원본 서버 간의 SSL/TLS 협상 실패(을)를 참조하세요.
참고
최종 사용자 호스트 헤더를 오리진으로 전달하는 오리진 요청 정책을 사용하는 경우, 오리진은 최종 사용자 호스트 헤더와 일치하는 인증서로 응답해야 합니다. 자세한 내용은 CloudFront 요청 헤더 추가 섹션을 참조하세요.
오리진이 Amazon S3 버킷인 경우 다음에 유의하세요.
-
버킷이 웹 사이트로 구성된 경우, 버킷에 대한 Amazon S3 정적 웹 사이트 호스팅 엔드포인트를 입력합니다. 오리진 도메인(Origin domain) 필드의 목록에서 버킷 이름을 선택하지 마세요. 정적 웹 사이트 호스팅 엔드포인트는 Amazon S3 콘솔에서 속성(Properties) 페이지의 정적 웹 사이트 호스팅(Static website hosting) 아래에 나타납니다. 자세한 내용은 웹 사이트 엔드포인트로 구성된 Amazon S3 버킷 사용 섹션을 참조하세요.
-
버킷에 Amazon S3 Transfer Acceleration을 구성한 경우, 오리진 도메인(Origin domain)에
s3-accelerate
엔드포인트를 지정하지 마세요. -
다른 AWS 계정에서 버킷을 사용하려는 경우 버킷이 웹 사이트로 구성되어 있지 않으면 다음 형식을 사용하여 이름을 입력합니다.
bucket-name
.s3.region
.amazonaws.com버킷이 미국 리전에 있고 Amazon S3에서 요청을 버지니아 북부의 시설로 라우팅하려는 경우, 다음 형식을 사용합니다.
bucket-name
.s3.us-east-1.amazonaws.com -
CloudFront 오리진 액세스 제어를 사용하여 Amazon S3의 콘텐츠에 보안을 적용하지 않는 한, 파일은 공개적으로 읽기 가능해야 합니다. 액세스 제어에 대한 자세한 내용은 Amazon S3 오리진에 대한 액세스 제한 섹션을 참조하세요.
중요
오리진이 Amazon S3 버킷인 경우, DNS 명명 요구 사항을 준수하는 버킷 이름을 사용해야 합니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 버킷 규제 및 제한을 참조하세요.
오리진에 대한 오리진 도메인(Origin domain)의 값을 변경하면 CloudFront에서는 CloudFront 엣지 로케이션에 대한 변경 사항 복제를 즉시 시작합니다. 배포 구성이 지정된 엣지 로케이션에서 업데이트될 때까지 CloudFront는 계속해서 요청을 이전 오리진으로 전달합니다. 배포 구성이 해당 엣지 로케이션에서 업데이트되는 즉시 CloudFront에서는 요청을 새 오리진으로 전달하기 시작합니다.
버킷을 변경하더라도 CloudFront에서는 엣지 캐시를 새 오리진의 객체로 다시 채울 필요가 없습니다. 애플리케이션의 최종 사용자 요청이 변경되지 않는 한, CloudFront에서는 각 객체의 TTL이 만료되거나 자주 요청되지 않는 객체가 제거될 때까지는 계속해서 엣지 캐시에 이미 존재하는 객체를 제공합니다.
프로토콜(사용자 지정 오리진만 해당)
참고
이는 사용자 지정 오리진에만 적용됩니다.
오리진에서 객체를 가져올 때 CloudFront에서 사용하려는 프로토콜 정책입니다.
다음 값 중 하나를 선택합니다.
-
HTTP만(HTTP only): CloudFront에서 HTTPS만 사용하여 오리진에 액세스합니다.
중요
Amazon S3가 정적 웹 사이트 호스팅 엔드포인트에 대한 HTTPS 연결을 지원하지 않으므로 오리진이 Amazon S3 정적 웹 사이트 호스팅 엔드포인트인 경우 HTTP만(HTTP only)이 기본 설정입니다. CloudFront 콘솔에서는 Amazon S3 정적 웹 사이트 호스팅 엔드포인트에 대해 이 설정을 변경할 수 없습니다.
-
HTTPS만(HTTPS only): CloudFront에서 HTTPS만 사용하여 오리진에 액세스합니다.
-
최종 사용자와 일치(Match viewer) - CloudFront에서 최종 사용자 요청의 프로토콜에 따라 HTTP 또는 HTTPS를 사용하여 오리진과 통신합니다. 최종 사용자가 HTTP 및 HTTPS 프로토콜 모두를 사용하여 요청하더라도 CloudFront에서는 한 번만 객체를 캐싱합니다.
중요
CloudFront에서 이 오리진에 전달하는 HTTPS 최종 사용자 요청의 경우, 원본 서버의 SSL/TLS 인증서에 있는 도메인 이름 중 하나가 오리진 도메인(Origin domain)으로 지정한 도메인 이름과 일치해야 합니다. 그렇지 않은 경우 CloudFront는 최종 사용자 요청에 대해 요청된 객체를 반환하는 대신 HTTP 상태 코드 502(잘못된 게이트웨이)로 응답합니다. 자세한 내용은 CloudFront에서 SSL/TLS 인증서를 사용하기 위한 요구 사항 단원을 참조합니다.
HTTP 포트
참고
이는 사용자 지정 오리진에만 적용됩니다.
(선택 사항) 사용자 지정 오리진이 수신 대기하는 HTTP 포트를 지정할 수 있습니다. 유효한 값에는 포트 80, 443 및 1024~65535가 포함됩니다. 기본값은 포트 80입니다.
중요
Amazon S3가 정적 웹 사이트 호스팅 엔드포인트에 대해 포트 80만 지원하므로 오리진이 Amazon S3 정적 웹 사이트 호스팅 엔드포인트인 경우 포트 80이 기본 설정입니다. CloudFront 콘솔에서는 Amazon S3 정적 웹 사이트 호스팅 엔드포인트에 대해 이 설정을 변경할 수 없습니다.
HTTPS 포트
참고
이는 사용자 지정 오리진에만 적용됩니다.
(선택 사항) 사용자 지정 오리진이 수신 대기하는 HTTPS 포트를 지정할 수 있습니다. 유효한 값에는 포트 80, 443 및 1024~65535가 포함됩니다. 기본값은 포트 443입니다. 프로토콜(Protocol)이 HTTP만(HTTP only)으로 설정된 경우 HTTPS 포트(HTTPS port)에 값을 지정할 수 없습니다.
최소 오리진 SSL 프로토콜
참고
이는 사용자 지정 오리진에만 적용됩니다.
오리진에 대한 HTTPS 연결을 설정할 때 CloudFront가 사용할 수 있는 최소 TLS/SSL 프로토콜을 선택합니다. TLS 프로토콜이 낮을수록 보안이 낮으므로, 오리진이 지원하는 최신 TLS 프로토콜을 선택하는 것이 좋습니다. 프로토콜(Protocol)이 HTTP만(HTTP only)으로 설정된 경우 최소 오리진 SSL 프로토콜(Minimum origin SSL protocol)에 값을 지정할 수 없습니다.
CloudFront API를 사용하여 CloudFront에 사용할 TLS/SSL 프로토콜을 설정하는 경우 최소 프로토콜을 설정할 수 없습니다. 대신, CloudFront에서 오리진과 함께 사용할 수 있는 모든 TLS/SSL 프로토콜을 지정합니다. 자세한 내용은 Amazon CloudFront API 참조의 OriginSslProtocols를 참조하세요.
오리진 경로
CloudFront가 해당 오리진에 있는 디렉터리에서 콘텐츠를 요청하게 하려면 슬래시(/) 뒤에 디렉터리 경로를 입력합니다. CloudFront는 오리진 도메인(Origin domain)의 값에 디렉터리 이름을 추가합니다(예: cf-origin.example.com/production/images
). 경로 끝에는 슬래시(/)를 추가하지 마십시오.
예를 들어, 배포에 대해 다음 값을 지정했다고 가정해 보겠습니다.
-
오리진 도메인(Origin domain) - 이름이
amzn-s3-demo-bucket
인 Amazon S3 버킷 -
오리진 경로(Origin path) -
/production
-
대체 도메인 이름(CNAME)(Alternate domain names(CNAME)) –
example.com
한편, 사용자가 브라우저에 example.com/index.html
을 입력하면 CloudFront는 Amazon S3에 amzn-s3-demo-bucket/production/index.html
에 대한 요청을 보냅니다.
한편, 사용자가 브라우저에 example.com/acme/index.html
을 입력하면 CloudFront는 Amazon S3에 amzn-s3-demo-bucket/production/acme/index.html
에 대한 요청을 보냅니다.
명칭
이름은 이 배포 내의 이 오리진을 고유하게 식별하는 문자열입니다. 기본 캐시 동작에 추가로 캐시 동작을 만들 경우, 여기에서 지정한 이름을 사용하여 요청이 해당 캐시 동작의 경로 패턴과 일치할 때 CloudFront에서 요청을 라우팅하려는 오리진을 식별합니다.
오리진 액세스(Amazon S3 오리진에만 해당)
참고
이는 Amazon S3 버킷 오리진(S3 정적 웹 사이트 엔드포인트를 사용하지 않는 오리진)에만 적용됩니다.
Amazon S3 버킷 오리진에 대한 액세스를 특정 CloudFront 배포로만 제한할 수 있도록 하려면 Origin access control settings(recommended)(원본 액세스 제어 설정(권장))를 선택합니다.
Amazon S3 버킷 오리진에 공개적으로 액세스할 수 있는 경우 Public(공개)을 선택합니다.
자세한 내용은 Amazon S3 오리진에 대한 액세스 제한 단원을 참조합니다.
사용자가 CloudFront URL만 사용하여 사용자 지정 오리진의 객체에 액세스할 수 있도록 요구하는 방법에 대한 자세한 내용은 사용자 지정 오리진의 파일에 대한 액세스 제한 단원을 참조하세요.
사용자 지정 헤더 추가
CloudFront가 오리진에 요청을 보낼 때마다 사용자 지정 헤더를 추가하도록 하려면 헤더 이름과 값을 지정합니다. 자세한 내용은 사용자 지정 헤더를 오리진 요청에 추가 단원을 참조합니다.
현재 추가할 수 있는 사용자 지정 헤더의 최대 수, 사용자 지정 헤더 이름과 값의 최대 길이 및 모든 헤더 이름 및 값의 최대 총 길이는 할당량 단원을 참조하세요.
Origin Shield 사용
CloudFront Origin Shield를 사용하려면 예(Yes)를 선택합니다. Origin Shield에 대한 자세한 내용은 Amazon CloudFront Origin Shield 사용 단원을 참조하세요.
연결 시도
CloudFront가 오리진에 연결을 시도하는 횟수를 설정할 수 있습니다. 시도 횟수로 1, 2 또는 3을 지정할 수 있습니다. 기본 숫자는 3입니다(달리 지정하지 않은 경우).
이 설정을 연결 제한 시간(Connection timeout)과 함께 사용하여 CloudFront가 보조 오리진에 연결하려고 시도하거나 최종 사용자에게 오류 응답을 반환하기 전에 대기하는 시간을 지정합니다. 기본적으로 CloudFront는 보조 오리진에 연결하거나 오류 응답을 반환하기 전에 30초(각각 10초 동안 3회 시도)까지 기다립니다. 더 적은 시도 횟수, 더 짧은 연결 제한 시간 또는 둘 다를 지정하여 이 시간을 줄일 수 있습니다.
지정된 수의 연결 시도가 실패하면 CloudFront에서 다음 중 하나를 수행합니다.
-
오리진이 오리진 그룹의 일부인 경우 CloudFront는 보조 오리진에 연결을 시도합니다. 보조 오리진에 대한 지정된 수의 연결 시도가 실패하면 CloudFront는 최종 사용자에게 오류 응답을 반환합니다.
-
오리진이 오리진 그룹의 일부가 아닌 경우 CloudFront가 최종 사용자에게 오류 응답을 반환합니다.
사용자 지정 오리진(정적 웹 사이트 호스팅으로 구성된 Amazon S3 버킷 포함)의 경우 이 설정은 CloudFront가 오리진에서 응답을 받으려고 시도하는 횟수도 지정합니다. 자세한 내용은 응답 제한 시간(사용자 지정 및 VPC 오리진만 해당) 단원을 참조합니다.
연결 제한 시간
오리진 연결 제한 시간은 CloudFront가 오리진에 대한 연결을 설정하려고 할 때 기다리는 시간(초)입니다. 1초에서 10초까지 시간을 지정할 수 있습니다. 기본 제한 시간은 10초입니다(달리 지정하지 않은 경우).
이 설정을 연결 시도 횟수(Connection attempts)와 함께 사용하여 CloudFront가 보조 오리진에 연결하려고 시도하거나 최종 사용자에게 오류 응답을 반환하기 전에 대기하는 시간을 지정합니다. 기본적으로 CloudFront는 보조 오리진에 연결하거나 오류 응답을 반환하기 전에 30초(각각 10초 동안 3회 시도)까지 기다립니다. 더 적은 시도 횟수, 더 짧은 연결 제한 시간 또는 둘 다를 지정하여 이 시간을 줄일 수 있습니다.
CloudFront에서 지정된 시간(초) 내에 오리진에 대한 연결을 설정하지 않으면 CloudFront에서 다음 중 하나를 수행합니다.
-
지정된 연결 시도 횟수(Connection attempts)가 1보다 많으면 CloudFront가 다시 연결을 설정하려고 시도합니다. CloudFront는 연결 시도 횟수(Connection attempts) 값에 따라 최대 3회까지 시도합니다.
-
연결 시도가 실패하고 오리진이 오리진 그룹의 일부인 경우 CloudFront는 보조 오리진에 연결을 시도합니다. 보조 오리진에 대한 지정된 수의 연결 시도가 실패하면 CloudFront는 최종 사용자에게 오류 응답을 반환합니다.
-
모든 연결 시도가 실패하고 오리진이 오리진 그룹의 일부가 아닌 경우 CloudFront가 최종 사용자에게 오류 응답을 반환합니다.
응답 제한 시간(사용자 지정 및 VPC 오리진만 해당)
오리진 응답 제한 시간(오리진 읽기 제한 시간 또는 오리진 요청 제한 시간이라고도 함)은 다음 두 값에 모두 적용됩니다.
-
CloudFront가 오리진에 요청을 전달한 후 응답을 기다리는 시간(초).
-
CloudFront가 오리진으로부터 응답 패킷을 수신한 후 다음 패킷을 수신할 때까지 대기하는 시간(초).
작은 정보
최종 사용자가 HTTP 504 상태 코드 오류를 경험하고 있기 때문에 오리진 응답 제한 시간 값을 늘리고 싶은 경우에는 제한 시간 값을 변경하기 앞서 이러한 오류를 제거할 수 있는 다른 방법들을 시도해 봅니다. HTTP 504 상태 코드(게이트웨이 제한 시간)에서 문제 해결 주제를 참조합니다.
CloudFront 동작은 최종 사용자 요청 내 HTTP 메서드에 따라 달라집니다.
-
GET
및HEAD
요청 - 오리진에서 응답 제한 시간 내에 응답하지 않거나 응답이 중지된 경우, CloudFront에서는 연결을 끊습니다. CloudFront는 연결 시도의 값에 따라 연결을 다시 시도합니다. -
DELETE
,OPTIONS
,PATCH
,PUT
및POST
요청 - 오리진이 읽기 제한 시간 동안 응답하지 않는 경우, CloudFront는 연결을 끊고 오리진에 다시 연결을 시도하지 않습니다. 필요한 경우 클라이언트는 요청을 다시 제출할 수 있습니다.
연결 유지 제한 시간(사용자 지정 및 VPC 오리진만 해당)
연결 유지 제한 시간은 CloudFront가 응답의 마지막 패킷을 가져온 후 연결을 유지하기 위해 시도하는 시간(초)입니다. 지속적인 연결을 유지하면 TCP 연결 재설정 및 이후 요청에 대한 별도의 TLS 핸드쉐이크 수행에 필요한 시간이 절약됩니다. 연결 유지 제한 시간을 늘리면 배포에서 연결당 요청 지표를 개선할 수 있습니다.
참고
연결 유지 제한 시간(Keep-alive timeout) 값이 유효하려면 오리진이 지속적 연결을 허용하도록 구성되어야 합니다.
응답 및 연결 유지 제한 시간 할당량
참고
이는 사용자 지정 오리진에만 적용됩니다.
-
응답 시간 제한의 경우 기본값은 30초입니다.
-
연결 유지 제한 시간의 경우 기본값은 5초입니다.
AWS 계정에 대한 제한 시간 증가를 요청하는 경우 배포 오리진을 업데이트하여 원하는 응답 제한 시간 및 연결 유지 제한 시간 값을 갖도록 합니다. 계정 할당량을 늘려도 오리진이 자동으로 업데이트되지는 않습니다. 예를 들어 Lambda@Edge 함수를 사용하여 연결 유지 제한 시간을 90초로 설정하는 경우 오리진의 연결 유지 제한 시간이 이미 90초 이상으로 설정되어 있어야 합니다. 그렇지 않으면 Lambda@Edge 함수가 실행되지 않을 수 있습니다.
증가 요청 방법을 비롯한 배포 할당량에 대한 자세한 내용은 배포의 일반 할당량 섹션을 참조하세요.