CloudFront와 Amazon S3 오리진 간의 통신에 HTTPS 요구 - Amazon CloudFront

CloudFront와 Amazon S3 오리진 간의 통신에 HTTPS 요구

오리진이 Amazon S3 버킷인 경우 CloudFront와 통신을 위해 HTTPS를 사용하는 옵션은 버킷을 사용하는 방식에 따라 달라집니다. 웹 사이트 엔드포인트로 Amazon S3 버킷이 구성되어 있는 경우, Amazon S3에서 해당 구성으로 HTTPS 연결을 지원하지 않으므로 HTTPS를 사용하여 오리진과 통신하도록 CloudFront를 구성할 수 없습니다.

오리진이 HTTPS 통신을 지원하는 Amazon S3 버킷일 경우 CloudFront는 항상 최종 사용자가 요청을 전송하는 데 사용된 프로토콜을 사용하여 S3로 요청을 전송합니다. 프로토콜(사용자 지정 오리진만 해당) 설정의 기본 설정은 최종 사용자와 일치(Match Viewer)이며 변경할 수 없습니다.

CloudFront와 Amazon S3 간의 통신에 HTTPS를 요구하려면, 최종 사용자 프로토콜 정책(Viewer Protocol Policy) 값을 Redirect HTTP to HTTPS(HTTP를 HTTPS로 재지정) 또는 HTTPS Only(HTTPS만)로 변경해야 합니다. 이 단원의 나머지 절차에서는 CloudFront 콘솔을 사용하여 최종 사용자 프로토콜 정책(Viewer Protocol Policy) 값을 변경하는 방법을 설명합니다. CloudFront API를 사용하여 배포용 ViewerProtocolPolicy 요소를 업데이트하는 자세한 내용은 Amazon CloudFront API 참조UpdateDistribution을 참조하세요.

HTTPS 통신을 지원하는 Amazon S3 버킷과 함께 HTTPS를 사용하면 Amazon S3가 SSL/TLS 인증서를 제공하므로 사용자가 제공할 필요가 없습니다.

Amazon S3 오리진에 대해 HTTPS 요구

다음 절차에서는 CloudFront에서 Amazon S3 오리진에 대해 HTTPS를 요구하도록 구성하는 방법을 알아봅니다.

CloudFront에서 Amazon S3 오리진에 대해 HTTPS를 요구하도록 구성하려면
  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. CloudFront 콘솔의 상단 창에서 업데이트할 배포의 ID를 선택합니다.

  3. 동작 탭에서 업데이트할 캐시 동작을 선택한 후 편집을 선택합니다.

  4. 최종 사용자 프로토콜 정책에 다음 값 중 하나를 지정합니다.

    Redirect HTTP to HTTPS

    최종 사용자가 두 프로토콜 모두 사용할 수 있지만, HTTP 요청은 자동으로 HTTPS 요청으로 리디렉션됩니다. CloudFront는 HTTP 상태 코드 301(영구 이동됨)을 새로운 HTTPS URL과 함께 반환합니다. 그러면 최종 사용자는 HTTPS URL을 사용하여 이 요청을 CloudFront에 다시 제출합니다.

    중요

    CloudFront는 HTTP에서 HTTPS로 DELETE, OPTIONS, PATCH, POST 또는 PUT 요청을 리디렉션하지 않습니다. HTTPS에 리디렉션할 캐시 동작을 구성하는 경우, CloudFront는 해당 캐시 동작에 대한 HTTP DELETE, OPTIONS, PATCH, POST, 또는 PUT 요청에 HTTP 상태 코드 403(금지됨)으로 응답합니다.

    최종 사용자가 HTTPS 요청으로 리디렉션되는 HTTP 요청을 만들 경우 CloudFront에서 두 요청 모두에 대해 요금을 부과합니다. HTTP 요청의 경우에는 CloudFront에서 최종 사용자에게 반환되는 요청 및 헤더에만 요금이 부과됩니다. HTTPS 요청의 경우에는 요청, 헤더, 그리고 오리진에 의해 반환된 객체 모두에 요금이 부과됩니다.

    HTTPS Only

    최종 사용자가 HTTPS를 사용할 경우에만 콘텐츠에 액세스할 수 있습니다. 최종 사용자가 HTTPS 요청 대신에 HTTP 요청을 보내면 CloudFront는 HTTP 상태 코드 403(금지됨)을 반환하고 객체는 반환하지 않습니다.

  5. 예, 편집합니다를 선택합니다.

  6. 최종 사용자와 CloudFront 간에 그리고 CloudFront와 S3 간에 HTTPS를 요구하려는 캐시 동작에 대해 3~5단계를 반복합니다.

  7. 업데이트한 구성을 프로덕션 환경에서 사용하기 전에 다음 사항을 확인합니다.

    • 각 캐시 동작의 경로 패턴이 최종 사용자에 HTTPS를 사용하도록 지정한 요청에만 적용되는가.

    • 캐시 동작이 CloudFront에서 평가하도록 할 순서대로 나열되었는가. 자세한 내용은 경로 패턴 단원을 참조하십시오.

    • 캐시 동작이 올바른 오리진에 요청을 라우팅하는가.