대체 도메인 이름과 HTTPS 구성
파일의 URL에 대체 도메인 이름을 사용하고, 최종 사용자와 CloudFront 간에 HTTPS를 사용하려면 해당 절차를 수행합니다.
SSL/TLS 인증서 받기
SSL/TLS 인증서를 받습니다(아직 없는 경우). 자세한 내용은 다음과 같이 해당 문서를 참조하세요.
-
AWS Certificate Manager(ACM)에서 제공하는 인증서를 사용하려면 AWS Certificate Manager 사용 설명서를 참조하세요. CloudFront 배포 업데이트 단원을 참조하십시오.
참고 AWS 관리형 리소스에 대해 SSL/TLS 인증서를 프로비저닝 및 관리하고 배포할 때 ACM을 사용하는 것이 좋습니다. 미국 동부(버지니아 북부) 리전에서 ACM 인증서를 요청해야 합니다.
-
다른 인증 기관(CA)의 인증서를 받으려면 인증 기관에서 제공한 설명서를 참조하세요. 인증서가 있으면 다음 절차로 진행합니다.
SSL/TLS 인증서 가져오기
다른 인증 기관의 인증서를 받았을 경우 ACM으로 가져오거나 IAM 인증서 스토어에 업로드합니다.
- ACM(권장)
-
ACM에서 ACM 콘솔을 사용하거나 프로그래밍 방식으로 타사 인증서를 가져올 수 있습니다. 인증서를 ACM으로 가져오는 방법에 대한 자세한 내용은 AWS Certificate Manager 사용 설명서의 AWS Certificate Manager로 인증서 가져오기 섹션을 참조하세요. 미국 동부(버지니아 북부) 리전에서 인증서를 가져와야 합니다.
- IAM 인증서 스토어
-
(권장하지 않음) 다음 AWS CLI 명령을 사용하여 서드 파티 인증서를 IAM 인증서 스토어에 업로드합니다.
aws iam upload-server-certificate \ --server-certificate-name
CertificateName
\ --certificate-body file://public_key_certificate_file
\ --private-key file://privatekey.pem
\ --certificate-chain file://certificate_chain_file
\ --path /cloudfront/path
/다음을 참조하세요.
-
AWS 계정 – CloudFront 배포를 생성하는 데 사용한 것과 동일한 AWS 계정을 사용하여 인증서를 IAM 인증서 스토어로 업로드해야 합니다.
-
--path 파라미터 – 인증서를 IAM으로 업로드할 때
--path
파라미터(인증서 경로) 값은/cloudfront/
로 시작해야 합니다(예:/cloudfront/production/
또는/cloudfront/test/
). 경로는 /로 끝나야 합니다. -
기존 인증서 –
--server-certificate-name
및--path
파라미터에, 기존 인증서와 연결되어 있는 값과 다른 값을 지정해야 합니다. -
CloudFront 콘솔 사용 – AWS CLI에서
--server-certificate-name
파라미터에 지정하는 값(예:myServerCertificate
)은 CloudFront 콘솔의 SSL 인증서 목록에 나타납니다. -
CloudFront API 사용 – AWS CLI에서 반환하는 영숫자 문자열(예:
AS1A2M3P4L5E67SIIXR3J
)을 메모해 둡니다. 이 문자열은IAMCertificateId
요소에서 지정하는 값입니다. IAM ARN은 필요하지 않습니다. CLI에서도 반환되기 때문입니다.
AWS CLI에 대한 자세한 내용은 AWS Command Line Interface 사용 설명서 및 AWS CLI 명령 참조를 참조하세요.
-
CloudFront 배포 업데이트
배포의 설정을 업데이트하려면 다음과 같이 합니다.
대체 도메인 이름을 사용하도록 CloudFront 배포를 구성하려면
AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v3/home
에서 CloudFront 콘솔을 엽니다. -
업데이트하려는 배포의 ID를 선택합니다.
-
[General] 탭에서 [Edit]를 선택합니다.
-
다음 값을 업데이트합니다.
- Alternate Domain Names (CNAMEs)
-
해당 대체 도메인 이름을 추가합니다. 도메인 이름을 쉼표로 구분하거나 각각의 이름을 새 줄에 입력합니다.
- SSL 인증서
-
Custom SSL Certificate(사용자 지정 SSL 인증서)를 선택하고 목록에서 인증서를 선택합니다.
최대 100개의 인증서가 여기에 나열됩니다. 100개 이상의 인증서가 있고 추가할 인증서가 보이지 않는 경우에는 해당 필드에 인증서 ARN을 입력하여 선택할 수 있습니다.
IAM 인증서 스토어에 인증서를 업로드했는데 목록에 나타나지 않아서 필드에 이름을 입력하는 방법으로 선택을 할 수 없는 경우에는 SSL/TLS 인증서 가져오기 절차를 검토하여 인증서를 올바르게 업로드했는지 확인합니다.
중요 SSL/TLS 인증서를 CloudFront 배포와 연결한 후에 모든 배포에서 인증서를 제거하고 배포의 상태가 배포됨(Deployed)으로 변경될 때까지 ACM 또는 IAM 인증서 스토어에서 인증서를 삭제하지 마세요.
- Clients Supported
-
다음 중 해당 옵션을 선택합니다.
-
모든 클라이언트(All Clients): CloudFront가 전용 IP 주소를 사용하여 HTTPS 콘텐츠를 제공합니다. 이 옵션을 선택하면 SSL/TLS 인증서를 활성화된 배포와 연결할 때 추가 요금이 발생합니다. 자세한 내용은 Amazon CloudFront 요금
을 참조하세요. -
Only Clients that Support Server Name Indication (SNI)(서버 이름 표시(SNI)를 지원하는 클라이언트만): SNI를 지원하지 않는 이전 브라우저 또는 기타 클라이언트는 다른 방법을 사용하여 콘텐츠에 액세스해야 합니다.
자세한 내용은 CloudFront에서 HTTPS 요청을 제공하는 방식 선택 섹션을 참조하세요.
-
-
예, 편집합니다를 선택합니다.
-
CloudFront에서 최종 사용자와 CloudFront 간에 HTTPS를 요구하도록 구성:
-
동작 탭에서 업데이트할 캐시 동작을 선택하고 편집을 선택합니다.
-
Viewer Protocol Policy(최종 사용자 프로토콜 정책)에 다음 값 중 하나를 지정합니다.
- Redirect HTTP to HTTPS
-
최종 사용자가 두 프로토콜 모두 사용할 수 있지만, HTTP 요청은 자동으로 HTTPS 요청으로 리디렉션됩니다. CloudFront는 HTTP 상태 코드
301 (Moved Permanently)
을 새로운 HTTPS URL과 함께 반환합니다. 그러면 최종 사용자는 HTTPS URL을 사용하여 이 요청을 CloudFront에 다시 제출합니다.중요 CloudFront는 HTTP에서 HTTPS로
DELETE
,OPTIONS
,PATCH
,POST
또는PUT
요청을 리디렉션하지 않습니다. HTTPS에 리디렉션할 캐시 동작을 구성하는 경우, CloudFront는 해당 캐시 동작에 대한 HTTPDELETE
,OPTIONS
,PATCH
,POST
, 또는PUT
요청에 HTTP 상태 코드403 (Forbidden)
으로 응답합니다.최종 사용자가 HTTPS 요청으로 리디렉션되는 HTTP 요청을 만들 경우 CloudFront에서 두 요청 모두에 대해 요금을 부과합니다. HTTP 요청의 경우에는 CloudFront에서 최종 사용자에게 반환되는 요청 및 헤더에만 요금이 부과됩니다. HTTPS 요청의 경우에는 요청, 헤더, 그리고 오리진에 의해 반환된 파일을 모두 처리합니다.
- HTTPS Only
-
최종 사용자가 HTTPS를 사용할 경우에만 콘텐츠에 액세스할 수 있습니다. 최종 사용자가 HTTPS 요청 대신에 HTTP 요청을 보내면 CloudFront는 HTTP 상태 코드
403 (Forbidden)
을 반환하고 파일은 반환하지 않습니다.
-
예, 편집합니다를 선택합니다.
-
최종 사용자와 CloudFront 간에 HTTPS를 요구하려는 추가적인 캐시 동작 각각에 대해 단계 a부터 c까지 반복합니다.
-
-
업데이트한 구성을 프로덕션 환경에서 사용하기 전에 다음 사항을 확인합니다.
-
각 캐시 동작의 경로 패턴이 최종 사용자에 HTTPS를 사용하도록 지정한 요청에만 적용되는가.
-
캐시 동작이 CloudFront에서 평가하도록 할 순서대로 나열되었는가. 자세한 내용은 경로 패턴 섹션을 참조하세요.
-
캐시 동작이 올바른 오리진에 요청을 라우팅하는가.
-