Amazon Route 53
개발자 안내서 (API 버전 2013-04-01)

인터넷 트래픽을 다른 도메인으로 리디렉션, HTTP 요청을 HTTPS로 리디렉션

AWS 서비스 여러 개를 조합하여 인터넷 트래픽을 한 도메인(예: example.com)에서 다른 도메인(예: example.net)으로 리디렉션하고 HTTP 요청을 HTTPS로 리디렉션할 수 있습니다. 운영 방식은 다음과 같습니다.

  1. 웹 브라우저 같은 뷰어가 도메인에 요청을 제출합니다(예: example.com).

  2. Amazon Route 53은 example.com에 대한 요청을 Amazon CloudFront 배포로 라우팅합니다.

  3. Amazon CloudFront는 이 요청을 배포에 대한 오리진으로 지정한 Amazon S3 버킷에 전달합니다. 버킷에는 콘텐츠가 포함되지 않습니다. 대신 버킷을 만들 때 다른 도메인 이름으로 요청을 리디렉션하도록 구성했습니다.

  4. Amazon S3은 HTTPS를 사용하여 HTTP 301/302 상태 코드와 더불어 트래픽을 리디렉션하려는 도메인 이름(예: example.net)을 CloudFront로 반환합니다.

  5. CloudFront가 뷰어에 리디렉션을 반환합니다.

    S3의 응답이 HTTPS를 사용하기 때문에, CloudFront는 HTTPS를 사용하여 이 응답을 뷰어에 반환합니다. AWS Certificate Manager(ACM)이 제공하는 SSL/TLS 인증서가 CloudFront와 뷰어 간 통신을 암호화합니다.

  6. 뷰어가 example.net 요청을 제출합니다.

  7. example.net의 DNS 서비스가 다른 S3 버킷 또는 웹 서버를 실행 중인 EC2 인스턴스 같은 해당 리소스로 이 요청을 라우팅합니다.

추정 비용

  • 도메인을 등록 연간 요금은 9 USD부터 시작하여 .com 등의 최상위 도메인(TLD)의 경우에는 수백 달러까지 다양합니다. 자세한 내용은 Route 53도메인 등록 요금을 참조하십시오. 이 요금은 환불되지 않습니다.

  • 도메인을 등록하면 도메인과 동일한 이름의 호스팅 영역이 자동으로 생성됩니다. 호스팅 영역을 사용하여 Route 53이 도메인의 트래픽을 라우팅할 곳을 지정할 수 있습니다. 호스팅 영역 요금은 월 0.50달러입니다.

  • AWS를 처음 사용하는 고객인 경우, 무료로 Amazon S3를 시작할 수 있습니다. 기존 AWS 고객인 경우, 저장하는 데이터 양, 데이터 요청 횟수, 전송되는 데이터 양에 따라 요금이 청구됩니다. 자세한 내용은 Amazon S3 요금을 참조하십시오.

1단계: Route 53 설정

이미 AWS 계정이 있고 AWS 콘솔로 리소스에 액세스하는 법을 알며 IAM 사용자를 이미 생성한 경우, 이 단계를 건너뛸 수 있습니다. 해당 단계를 아직 수행하지 않았다면 Amazon Route 53 설정 단원을 참조하십시오.

2단계: 도메인 등록

도메인을 등록하는 자세한 방법은 새 도메인 등록 단원을 참조하십시오.

3단계: ACM에서 SSL/TLS 인증서 받기

트래픽을 리디렉션하는 리소스와 뷰어 간의 트래픽이 암호화되도록 모든 HTTP 요청을 HTTPS로 변환할 수 있습니다. 그렇게 하려면 모든 HTTP 요청이 HTTPS로 리디렉션하도록 S3을 구성합니다. HTTPS를 사용하려면 SSL/TLS 인증서가 필요합니다.

트래픽을 리디렉션하려는 도메인에 이미 SSL/TLS 인증서가 있다면 이 단계를 건너뛰어도 됩니다.

인증서가 없다면 AWS Certificate Manager 사용 설명서시작하기 주제에서 다음 단계를 수행합니다.

  1. 인증서 요청.

  2. DNS 또는 이메일을 사용하여 도메인에 대한 사용자의 소유권을 검증합니다.

4단계: S3 버킷을 만들고 다른 도메인 이름으로 요청을 리디렉션하도록 구성

이 자습서에서는 S3 버킷을 CloudFront 배포의 오리진으로 사용하지만 이 버킷에는 콘텐츠가 포함되지 않습니다. 대신 한 도메인에서 다른 도메인으로 요청을 리디렉션하는 데에만 이 버킷을 사용합니다.

S3 버킷을 만들어 다른 도메인 이름으로 요청을 리디렉션하도록 구성하려면

  1. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. [Create bucket]을 선택합니다.

  3. 버킷 이름에 원하는 값을 지정합니다. 버킷 이름이 인터넷 트래픽을 리디렉션하려는 도메인이나 트래픽을 라우팅하려는 도메인과 같은 이름일 필요는 없습니다.

  4. 리전에서 대부분의 사용자와 가까운 리전을 선택합니다.

  5. [Next]를 선택합니다.

  6. 버킷 만들기속성 설정 페이지에서 다음을 선택합니다.

  7. [Next]를 선택합니다.

  8. [Create bucket]을 선택합니다.

  9. 버킷 목록에서 새 버킷의 이름을 선택합니다.

  10. [Properties] 탭을 선택합니다.

  11. [Static website hosting]을 선택합니다.

  12. 정적 웹 사이트 호스팅 상자에서 Endpoint URL(엔드포인트 URL)을 기록해 둡니다(예: http://example.com.s3-website-us-west-2.amazonaws.com). 다음 절차에서 CloudFront 배포를 생성하거나 업데이트할 때 이 값이 필요합니다.

  13. [Redirect requests]를 선택합니다.

  14. 대상 버킷 또는 도메인에 요청을 리디렉션할 도메인 이름(example.com) 또는 하위 도메인 이름(www.example.com)을 입력합니다.

  15. 프로토콜https를 모두 소문자로 입력합니다.

  16. Save를 선택합니다.

5단계: CloudFront 배포 생성 또는 업데이트

새 CloudFront 웹 배포를 생성하거나 기존 배포를 업데이트할 수 있습니다. 해당하는 절차를 수행하세요.

CloudFront 웹 배포를 만드는 방법

  1. https://console.aws.amazon.com/cloudfront/에서 CloudFront 콘솔을 엽니다.

  2. [Create Distribution]을 선택합니다.

  3. [Select a delivery method for your content]의 [Web] 섹션에서 [Get Started]를 선택합니다.

  4. Create Distribution(배포 생성) 페이지의 Origin Domain Name(오리진 도메인 이름)에서 버킷 생성 시 얻은 Endpoint URL(엔드포인트 URL)을 입력하거나 붙여넣습니다. 예:

    http://example.com.s3-website-us-west-2.amazonaws.com

    참고

    버킷 이름을 Origin Domain Name(오리진 도메인 이름) 목록에서 선택하지 마십시오. 버킷 이름의 형식은 다르며, 목록에서 버킷을 선택할 경우 리디렉션이 작동하지 않습니다.

  5. Origin Settings(오리진 설정) 섹션의 다른 설정은 기본값을 수락하십시오.

  6. Default Cache Behavior Settings(기본 캐시 동작 설정) 아래의 Viewer Protocol Policy(뷰어 프로토콜 정책)에서 HTTP and HTTPS(HTTP 및 HTTPS)를 선택합니다.

  7. Default Cache Behavior Settings(기본 캐시 동작 설정) 섹션의 다른 설정은 기본값을 수락하십시오.

  8. Distribution Settings(배포 설정) 섹션에서 다음을 제외한 모든 설정은 기본값을 수락하십시오.

    대체 도메인 이름(CNAME)

    사용자들이 콘텐츠 액세스에 사용할 두 도메인 이름을 입력하십시오. 예를 들면 example.com과 example.net, 혹은 www.example.com과 example.com과 같이 입력합니다.

    SSL Certificate

    Custom SSL Certificate(사용자 정의 SSL 인증서)를 선택합니다. 그런 다음 3단계: ACM에서 SSL/TLS 인증서 받기에서 얻은 인증서를 선택합니다.

  9. Distribution Settings(배포 설정) 섹션의 Custom SSL Client Support(사용자 지정 SSL 클라이언트 지원)에서는 기본값 Only Clients that Support Server Name Indication(SNI)(서버 이름 표시(SNI)를 지원하는 클라이언트만)을 수락합니다. 다른 옵션을 선택할 경우 HTTPS 요청을 제공하는 전용 IP 주소의 요금을 지불해야 합니다. 자세한 내용은 Amazon CloudFront 개발자 안내서CloudFront에서 HTTPS 요청을 제공하는 방식 선택 단원을 참조하십시오.

  10. [Create Distribution]을 선택합니다.

  11. CloudFront 배포 페이지에서 방금 생성한 배포를 찾고 상태 열의 값이 진행 중에서 배포 완료로 바뀌도록 기다립니다.

기존 CloudFront 웹 배포를 업데이트하려면

  1. https://console.aws.amazon.com/cloudfront/에서 CloudFront 콘솔을 엽니다.

  2. 업데이트하려는 배포의 ID를 선택합니다.

  3. [General] 탭에서 [Edit]를 선택합니다.

  4. 다음 값을 업데이트합니다.

    대체 도메인 이름(CNAME)

    사용자들이 콘텐츠 액세스에 사용할 두 도메인 이름을 입력하십시오. 예를 들면 example.com과 example.net, 혹은 www.example.com과 example.com과 같이 입력합니다.

    SSL Certificate

    Custom SSL Certificate(사용자 정의 SSL 인증서)를 선택합니다. 그런 다음 3단계: ACM에서 SSL/TLS 인증서 받기에서 얻은 인증서를 선택합니다.

  5. Distribution Settings(배포 설정) 섹션의 Custom SSL Client Support(사용자 지정 SSL 클라이언트 지원)에서는 기본값 Only Clients that Support Server Name Indication(SNI)(서버 이름 표시(SNI)를 지원하는 클라이언트만)을 수락합니다. 다른 옵션을 선택할 경우 HTTPS 요청을 제공하는 전용 IP 주소의 요금을 지불해야 합니다. 자세한 내용은 Amazon CloudFront 개발자 안내서CloudFront에서 HTTPS 요청을 제공하는 방식 선택 단원을 참조하십시오.

  6. 오리진 탭을 선택합니다.

  7. Create Origin(오리진 생성)을 선택합니다.

  8. Origin Domain Name(오리진 도메인 이름)에 버킷 생성 시 얻은 Endpoint URL(엔드포인트 URL)을 입력하거나 붙여넣습니다. 예:

    http://example.com.s3-website-us-west-2.amazonaws.com

    참고

    버킷 이름을 Origin Domain Name(오리진 도메인 이름) 목록에서 선택하지 마십시오. 버킷 이름의 형식은 다르며, 목록에서 버킷을 선택할 경우 리디렉션이 작동하지 않습니다.

  9. Create를 선택합니다.

  10. [Behaviors] 탭을 선택합니다.

  11. 경로 패턴 열에서 기본값(*)인 캐시 동작을 선택하고 편집을 선택합니다.

  12. Origin(오리진) 목록에서 7, 8단계에서 만든 오리진을 선택합니다.

  13. HTTP and HTTPS(HTTP 및 HTTPS)Viewer Protocol Policy(뷰어 프로토콜 정책)을 선택합니다.

  14. [Yes, Edit]를 선택합니다.

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

  16. 방금 업데이트한 배포를 찾고 상태 열의 값이 진행 중에서 배포 완료로 바뀌도록 기다립니다.

6단계: CloudFront 배포로 트래픽을 라우팅하는 Route 53 레코드 생성

구성을 테스트하기 전의 마지막 단계는 CloudFront 배포로 트래픽을 라우팅하는 Route 53에 레코드를 추가하는 것입니다. 다음 절차를 수행하십시오.

CloudFront 배포로 트래픽을 라우팅하는 Route 53 레코드를 생성하려면

  1. https://console.aws.amazon.com/route53/에서 Route 53 콘솔을 엽니다.

  2. 탐색 창에서 [Hosted zones]를 선택합니다.

  3. 트래픽을 리디렉션할 도메인의 이름과 일치하는 호스팅 영역 이름을 선택합니다.

  4. [Create Record Set]를 선택합니다.

  5. 다음 값을 지정합니다.

    이름

    인터넷 트래픽을 리디렉션할 도메인 또는 하위 도메인의 이름을 지정합니다. 기본값은 도메인 이름입니다.

    하위 도메인으로 트래픽을 리디렉션하려는 경우, 도메인 이름 앞에 있는 값을 입력합니다. 예를 들어 www.example.com으로 트래픽을 리디렉션하려면 www를 입력합니다.

    형식

    기본값 A – IPv4 address(A – IPv4 주소)를 수락합니다.

    별칭

    를 선택합니다.

    별칭 대상

    목록의 CloudFront 배포 섹션에서는 5단계: CloudFront 배포 생성 또는 업데이트에서 생성 또는 업데이트한 배포를 선택합니다. 배포 목록에는 대체 도메인 이름이 포함되어 있습니다.

    참고

    하나의 AWS 계정을 사용하여 현재 호스팅 영역을 생성하고 다른 계정을 사용하여 배포를 생성한 경우에는 Alias Targets(별칭 대상) 목록에 배포가 표시되지 않습니다. 배포의 CloudFront 도메인 이름(예: d111111abcdef8.cloudfront.net)을 입력합니다.

    라우팅 정책

    기본값인 [Simple]을 수락합니다.

    대상 상태 평가

    기본값인 [No]를 수락합니다.

  6. Create를 선택합니다.

7단계: 구성 테스트

웹 사이트가 올바로 작동하는지 확인하려면 웹 브라우저를 열어 다음 URL로 이동합니다. 두 경우 모두 DNS 쿼리를 리디렉션하는 도메인의 콘텐츠가 보입니다.

  • http://domain-name-that-you're-redirecting-from

  • https://domain-name-that-you're-redirecting-from

예상 동작을 확인하기 위해 캐시를 지워야 하는 경우도 있습니다.