Amazon CloudFront 배포를 사용하여 정적 웹 사이트를 제공하십시오. - Amazon Route 53

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon CloudFront 배포를 사용하여 정적 웹 사이트를 제공하십시오.

이 시작하기 자습서는 다음 작업의 수행 방법을 보여줍니다.

  • example.com 등의 도메인 이름 등록

  • 도메인에 대한 인증서를 생성합니다.

  • 2개의 Amazon S3 버킷을 만들고 하나는 웹 사이트를 호스팅하고 다른 하나는 하위 도메인으로 리디렉션하도록 구성합니다.

  • 샘플 웹 사이트를 만들고 S3 버킷에 해당 파일을 저장합니다.

  • 두 S3 버킷에 대한 CloudFront 배포를 생성합니다.

  • 트래픽을 CloudFront 배포로 라우팅하도록 Amazon Route 53을 구성합니다.

완료되면 브라우저를 열고 도메인 이름을 입력하여 안전하게 웹 사이트를 볼 수 있습니다.

사전 조건

시작하기 전에 먼저 Amazon Route 53 설정의 단계를 완료해야 합니다.

1단계: 도메인 등록

example.com과 같은 도메인 이름을 사용하려면 사용되고 있지 않은 도메인 이름을 찾아 등록해야 합니다. 도메인 이름을 등록하면 일반적으로 1년 동안 인터넷 어디서나 도메인 이름을 독점적으로 사용할 수 있습니다. 기본적으로 매년 말에 도메인 이름이 자동으로 갱신되지만 자동 갱신은 꺼둘 수 있습니다. 자세한 내용은 새 도메인 등록 섹션을 참조하세요.

2단계: 공인 인증서 요청

Amazon CloudFront 배포에서 최종 사용자와 CloudFront 통신할 때 연결이 암호화되도록 최종 사용자가 HTTPS를 사용하도록 CloudFront 구성하려면 공개 인증서가 필요합니다.

AWS Certificate Manager(ACM) 공인 인증서(콘솔)를 요청하려면
  1. AWS 관리 콘솔에 로그인하여 https://console.aws.amazon.com/acm/home에서 ACM 콘솔을 엽니다.

    참고

    미국 동부(버지니아 북부) 리전에서 인증서를 생성하는지 확인합니다 이는 Amazon의 경우 CloudFront 필수입니다.

    왼쪽 탐색 창에서 인증서 요청을 선택하고 인증서 요청 페이지에서 공인 인증서 요청, 다음을 차례로 선택합니다.

  2. 도메인 이름 섹션에 도메인(예:example.com)을 입력합니다.

    이 인증서에 다른 이름 추가를 선택하고 도메인 이름 앞에 별표를 입력하여 모든 하위 도메인(예: *.example.com)에 대한 와일드카드 인증서를 요청합니다.

  3. 검증 방법 선택 섹션에서 DNS 검증을 선택합니다.

  4. 키 알고리즘 섹션에서 RSA 2048을 선택합니다.

  5. 태그 추가 섹션에서 선택 사항으로 인증서에 태그를 지정할 수 있습니다. 태그는 AWS 리소스를 식별하고 구성하기 위한 메타데이터 역할을 하는 키-값 페어입니다.

    요청을 선택하면 인증서 페이지로 이동합니다.

  6. 새 인증서가 보류 중 상태로 표시되면 인증서 ID를 선택하고 인증서 세부 정보 페이지에서 Route 53에서 레코드 생성을 선택하여 도메인에 대한 CNAME 레코드를 자동으로 추가한 다음 레코드 생성을 선택합니다.

    인증서 상태(Certificate status) 페이지가 DNS 레코드가 생성됨(Successfully created DNS records)이라고 표시되는 상태 배너와 함께 열립니다.

    새 인증서의 상태가 최대 30분 동안 계속 검증 보류 중(Pending validation)으로 표시될 수 있습니다.

3단계: S3 버킷 생성하여 하위 도메인 호스팅

www용 S3 버킷을 만들려면 your-domain-name

Amazon S3를 사용하면 어디서든 인터넷에 데이터를 저장하고 조회할 수 있습니다. 이 단계에서는 S3 버킷을 생성하여 웹 사이트의 모든 파일을 저장합니다.

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

  2. 버킷 만들기를 선택합니다.

  3. 다음 값을 입력합니다.

    버킷 이름

    www를 입력하세요. your-domain-name. 예를 들어 도메인 이름 example.com을 등록한 경우, www.example.com을 입력합니다.

    리전

    버킷에 대한 리전을 선택합니다.

  4. 기본 설정을 적용하고 버킷을 생성하려면 버킷 생성을 선택합니다.

    S3 버킷 설정에 대한 자세한 내용은 Amazon S3 사용 설명서버킷 속성 보기 섹션을 참조하세요.

4단계: 루트 도메인에 대한 다른 S3 버킷 생성

또한 사용자가 루트 도메인을 사용할 수 있게 하려는 경우. your-domain-name샘플 웹 사이트에 액세스하려면 두 번째 S3 버킷을 생성하십시오 (예: example.com). 이 자습서에서는 두 번째 버킷(루트 도메인)을 구성하여 첫 번째 버킷으로 트래픽을 라우팅합니다.

에 대한 S3 버킷을 만들려면 your-domain-name
  1. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 버킷 만들기를 선택합니다.

  3. 다음 값을 입력합니다.

    버킷 이름

    your-domain-name을 입력합니다. 예를 들어 도메인 이름 example.com을 등록한 경우, example.com을 입력합니다.

    리전

    첫 번째 버킷을 생성한 리전과 동일한 리전을 선택합니다.

  4. 기본 설정을 적용하고 버킷을 생성하려면 버킷 생성을 선택합니다.

5단계: 하위 도메인 버킷에 웹 사이트 파일 업로드

이제 S3 버킷이 생겼으므로 웹 사이트 파일을 업로드할 수 있습니다. 이 자습서에서는 페이지에 텍스트를 표시하는 간단한 index.html 파일을 업로드합니다.

웹 사이트 호스팅에 대한 S3 버킷을 사용하려면
  1. https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 엽니다.

  2. 버킷 목록에서 웹 사이트 파일(예: www.example.com)을 업로드하려는 버킷의 연결된 이름을 선택합니다.

  3. 한 페이지의 간단한 웹 사이트를 만드는 예제 텍스트를 복사하여 텍스트 편집기에 붙여넣은 다음 해당 텍스트를 index.html로 저장합니다.

    <html> <head> <title>Amazon Route 53 Getting Started</title> </head> <body> <h1>Routing Internet traffic to Cloudfront distributions for your website stored in an S3 bucket</h1> <p>For more information, see <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting Started with Amazon Route 53</a> in the <emphasis>Amazon Route 53 Developer Guide</emphasis>.</p> </body> </html>
  4. 객체(Objects) 탭에서 업로드(Upload)를 선택합니다.

  5. 파일 및 폴더(Files and folders)에서 파일 추가(Add files)를 선택하고 웹 사이트 파일을 업로드합니다. 이 자습서에서는 3단계에서 저장한 index.html 파일을 업로드합니다.

6단계: 웹 사이트 호스팅에 대한 루트 도메인 버킷 설정

웹 사이트 호스팅용 루트 도메인 버킷을 구성하면 루트 도메인 버킷을 선택적으로 구성하여 모든 요청을 하위 도메인으로 리디렉션할 수 있습니다. 예를 들어, 모든 요청을 구성하여 example.comwww.example.com으로 리디렉션되게 할 수 있습니다.

리디렉션을 구성하려면
  1. Amazon S3 콘솔의 버킷(Buckets) 목록에서 버킷 이름(예: example.com)을 선택합니다.

  2. [속성(Properties)]을 선택합니다.

  3. 정적 웹 사이트 호스팅(Static website hosting)에서 편집(Edit)을 선택합니다.

  4. 정적 웹 사이트 호스팅(Static website hosting)에서 활성화(Enable)를 선택합니다.

  5. 객체에 대한 요청 리디렉션(Redirect requests for an object)을 선택합니다.

  6. 호스트 이름(Host name)상자에 하위 도메인(예: www.example.com)을 입력합니다.

  7. 프로토콜에서 HTTPS를 선택합니다.

  8. 변경 사항 저장을 선택합니다.

  9. 정적 웹 사이트 호스팅에서 엔드포인트를 기록합니다.

    엔드포인트는 버킷의 Amazon S3 웹 사이트 엔드포인트입니다. 이 엔드포인트를 사용하여 Amazon CloudFront 배포를 설정합니다.

7단계: 하위 도메인을 위한 Amazon CloudFront 배포 생성

이 단계에서는 사용자가 안전하게 보기 위해 웹 사이트에서 HTTPS를 사용할 수 있도록 www.example.com과 같은 하위 도메인에 대한 CloudFront 배포를 생성합니다.

CloudFront 배포를 만들려면
  1. 에서 CloudFront https://console.aws.amazon.com/cloudfront/v4/home 콘솔을 엽니다.

  2. 배포 생성(Create Distribution)을 선택합니다.

  3. 원본 도메인에 대한 원본에서 이전에 생성한 Amazon S3 버킷을 선택합니다.

    원본 액세스에서 레거시 액세스 ID를 선택합니다. 오리진 액세스 ID(Origin access identity)의 경우 목록에서 선택하거나 새 OAI 생성(Create new OAI)을 선택할 수 있습니다(둘 다 작동함).

    버킷 정책(Bucket policy)에서 예, 버킷 정책을 업데이트합니다(Yes, update the bucket policy)를 선택합니다.

  4. 기본 캐시 동작 설정(Default Cache Behavior Settings)의 경우 뷰어(Viewer)에서 뷰어 프로토콜 정책(Viewer protocol policy)HTTP에서 HTTPS로 리디렉션(Redirect HTTP to HTTPS)으로 설정하고 나머지에 대해서는 기본값을 수락합니다.

    캐시 동작 옵션에 대한 자세한 내용은 Amazon CloudFront 개발자 안내서의 캐시 동작 설정을 참조하십시오.

  5. 웹 애플리케이션 방화벽(WAF) 섹션에서 AWS WAF 보안 보호를 활성화하거나 비활성화하도록 선택할 수 있습니다.

  6. 설정(Settings) 아래의 필드에서 다음을 수행합니다.

    • 대체 도메인 이름(CNAME) - 선택 사항에 대해 항목 추가(Add item)를 선택하고 하위 도메인(예: www.example.com)을 입력합니다.

    • 사용자 정의 SSL 인증서(Custom SSL Certificate)에서 이전에 생성한 인증서를 선택합니다.

    • 기본 루트 객체(Default root object) 텍스트 상자에 index.html을 입력합니다.

    • 나머지는 기본값을 그대로 사용하고 배포 생성을 선택합니다.

      배포 옵션에 대한 자세한 내용은 배포 설정을 참조하세요.

  7. 페이지 맨 아래에서 배포 생성(Create Distribution)을 선택합니다.

  8. 배포를 CloudFront 생성한 후에는 배포의 상태 열 값이 진행 중에서 배포됨으로 변경됩니다. 이 작업은 일반적으로 몇 분 정도 걸립니다.

    배포 목록에 나타나는 배포에 CloudFront 할당되는 도메인 이름을 기록해 두십시오. 이 도메인 이름을 사용하여 배포를 테스트할 수 있습니다.

8단계: 루트 도메인을 위한 Amazon CloudFront 배포 생성

이 단계에서는 URL이 하위 도메인으로 리디렉션될 때 HTTPS를 사용하도록 루트 도메인용 CloudFront 배포를 생성합니다.

CloudFront 배포를 만들려면
  1. 에서 콘솔을 엽니다. CloudFront https://console.aws.amazon.com/cloudfront/v4/home

  2. 배포 생성(Create Distribution)을 선택합니다.

  3. 오리진 설정(Origin Settings)에서 오리진 도메인 이름(Origin Domain Name)에 버킷 웹 사이트 엔드포인트를 입력합니다. 이전에 생성한 Amazon S3 버킷에 대한 속성(Properties)정적 웹 사이트 호스팅(Static website hosting) 섹션에서 이를 가져올 수 있습니다.

    나머지에 대해서는 기본값을 수락합니다.

  4. 기본 캐시 행동 설정(Default Cache Behavior Settings) 필드에서 다음을 수행합니다.

    • 뷰어(Viewer)에서 뷰어 프로토콜 정책(Viewer protocol policy)HTTP에서 HTTPS로 리디렉션(Redirect HTTP to HTTPS)으로 설정합니다.

    • 캐시 설정을 로 설정합니다 CachingDisabled.

    • 나머지에 대해서는 기본값을 수락합니다.

    캐시 동작 옵션에 대한 자세한 내용은 Amazon CloudFront 개발자 안내서의 캐시 동작 설정을 참조하십시오.

  5. 설정(Settings) 아래의 필드에서 다음을 수행합니다.

    • 대체 도메인 이름(CNAME) - 선택 사항에 대해 항목 추가를 선택하고 루트 도메인(예: example.com)을 입력합니다.

    • 사용자 정의 SSL 인증서(Custom SSL Certificate)에서 이전에 생성한 인증서를 선택합니다.

    • 나머지에 대해서는 기본값을 수락합니다.

    배포 옵션에 대한 자세한 내용은 배포 설정을 참조하세요.

  6. 페이지 맨 아래에서 배포 생성(Create Distribution)을 선택합니다.

  7. 배포를 CloudFront 생성한 후에는 배포의 상태 열 값이 진행 중에서 배포됨으로 변경됩니다. 이 작업은 일반적으로 몇 분 정도 걸립니다.

    배포 목록에 나타나는 배포에 CloudFront 할당되는 도메인 이름을 기록해 두십시오. 이 도메인 이름을 사용하여 배포를 테스트할 수 있습니다.

9단계: 도메인에 대한 DNS 트래픽을 CloudFront 배포로 라우팅

이제 S3 버킷에 배포를 사용하는 1페이지 웹 사이트가 생겼습니다. CloudFront 도메인의 인터넷 트래픽을 CloudFront 배포로 라우팅하려면 다음 절차를 수행하십시오.

CloudFront 배포로 트래픽을 라우팅하는 방법에 대한 자세한 내용은 을 참조하십시오도메인 이름을 사용하여 Amazon CloudFront 배포로 트래픽 라우팅.

트래픽을 웹 사이트로 라우팅하려면
  1. https://console.aws.amazon.com/route53/에서 Route 53 콘솔을 엽니다.

  2. 탐색 창에서 호스팅 영역(Hosted zones)을 선택합니다.

    참고

    도메인을 등록할 때 Amazon Route 53가 같은 이름의 호스팅 영역을 자동으로 생성했습니다. 호스팅 영역에는 Route 53로 도메인의 트래픽을 라우팅하는 방법에 관한 정보가 포함되어 있습니다.

  3. 호스팅 영역 목록에서 도메인의 이름을 선택합니다.

  4. Create Record Set(레코드 세트 생성)를 선택합니다.

    빠른 레코드 생성()Quick create record) 보기에 있는 경우 마법사로 전환(Switch to wizard)을 선택합니다.

    참고

    각각의 레코드에는 하나의 도메인(예: example.com) 또는 그 하위 도메인(예: www.example.com)의 트래픽을 라우팅하려는 방법에 관한 정보가 포함되어 있습니다. 레코드는 도메인의 호스팅 영역에 저장됩니다.

  5. 단순 라우팅(Simple routing)을 선택하고 다음(Next)을 선택합니다.

  6. Define simple record(단순 레코드 정의)를 선택합니다.

  7. 레코드 이름에 기본값(호스팅 영역과 도메인의 이름) 앞의 www를 입력합니다.

  8. 레코드 유형(Record type)에서 A ‐ IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅(A ‐ Routes traffic to an IPv4 address and some AWS resources)을 선택합니다.

  9. 값/트래픽 라우팅 대상에서 배포할 별칭을 선택합니다. CloudFront

  10. 배포를 선택합니다.

    배포 이름은 배포(Distributions) 목록의 도메인 이름(Domain name) 상자에 표시되는 이름과 일치해야 합니다(예: dddjjjkkk.cloudfront.net).

  11. 대상 상태 평가에서 아니요를 선택합니다.

  12. Define simple record(단순 레코드 정의)를 선택합니다.

루트 도메인(example.com)에 대한 별칭 레코드 추가

루트 도메인에 대한 별칭 레코드도 추가하여 트래픽을 www.example.com으로 리디렉션하는 S3 버킷을 가리킵니다. 트래픽을 CloudFront 배포로 라우팅하는 방법에 대한 자세한 내용은 을 참조하십시오. 도메인 이름을 사용하여 Amazon CloudFront 배포로 트래픽 라우팅

  1. 레코드 구성에서 단순 레코드 정의를 선택합니다.

  2. 레코드 이름(Record name)에서 기본값을 수락합니다.

  3. 레코드 유형(Record type)에서 A ‐ IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅(A ‐ Routes traffic to an IPv4 address and some AWS resources)을 선택합니다.

  4. 값/트래픽 라우팅 대상에서 배포할 별칭을 선택합니다. CloudFront

  5. 배포를 선택합니다.

    배포 이름은 배포(Distributions) 목록의 도메인 이름(Domain name) 상자에 표시되는 이름과 일치해야 합니다(예: dddjjjkkk.cloudfront.net).

  6. 대상 상태 평가에서 아니요를 선택합니다.

  7. Define simple record(단순 레코드 정의)를 선택합니다.

  8. 레코드 구성 페이지에서 레코드 생성을 선택합니다.

10단계: 웹 사이트 테스트

웹 사이트가 올바로 작동하는지 확인하려면 웹 브라우저를 열어 다음 URL로 이동합니다.

  • https://www. your-domain-name예를 들어, www.example.com — 색인 문서를 www에 표시합니다. your-domain-name버킷

  • https://your-domain-name예를 들어, example.com — 요청을 www로 리디렉션합니다. your-domain-name버킷

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

인터넷 트래픽 라우팅에 대한 자세한 내용은 Amazon Route 53을 DNS 서비스로 구성 단원을 참조하십시오. AWS 리소스로 인터넷 트래픽을 라우팅하는 방법에 대한 자세한 내용은 AWS 리소스로 인터넷 트래픽 라우팅 섹션을 참조하세요.