

# 정적 웹 사이트 자습서
<a name="static-website-tutorials"></a>

다음 튜토리얼 또는 연습에서는 정적 웹 사이트 호스팅 및 온디맨드 비디오 스트리밍 호스팅을 위한 Amazon S3 범용 버킷을 만들고 구성하는 방법에 대한 절차 전체를 안내합니다. 이 자습서 목적은 일반적인 지침을 제공하는 것입니다. 이러한 자습서는 예제 버킷 이름 및 사용자 이름 등을 통해 랩 유형의 환경에 맞게 고안되었습니다. 조직의 고유한 요구 사항에 맞는지 주의 깊은 검토 및 조정 없이 프로덕션 환경에 바로 사용할 수 있도록 고안된 것이 아닙니다.
+ [Amazon S3, Amazon CloudFront 및 Amazon Route 53로 온디맨드 스트리밍 비디오 호스팅](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tutorial-s3-cloudfront-route53-video-streaming) – Amazon S3를 Amazon CloudFront와 함께 사용하여 안전하고 확장 가능한 방식으로 온디맨드 보기 용도의 비디오를 호스팅할 수 있습니다. 비디오를 올바른 포맷으로 패키징했으면 서버나 S3 범용 버킷에 저장한 후 최종 사용자들이 요청할 때 CloudFront를 사용하여 제공할 수 있습니다. 이 자습서에서는 전송을 위한 CloudFront와 도메인 이름 시스템(DNS) 및 사용자 지정 도메인 관리를 위한 Amazon Route 53를 사용하여 온디맨드 비디오 스트리밍을 호스팅하도록 범용 버킷을 구성하는 방법을 배울 수 있습니다. CloudFront는 해당 캐시에서 비디오를 제공하고, 아직 캐싱되지 않은 경우에만 범용 버킷에서 비디오를 검색합니다. 이 캐싱 관리 기능은 짧은 대기 시간, 높은 처리량, 빠른 전송 속도로 전 세계 뷰어에게 비디오를 빠르게 제공할 수 있습니다. CloudFront 캐싱 관리에 대한 자세한 내용은 *Amazon CloudFront 개발자 가이드*의 [캐싱 및 가용성 최적화](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ConfiguringCaching.html)를 참조하십시오.
+ [정적 웹 사이트 구성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html) – 웹 사이트처럼 작동하도록 범용 버킷을 구성할 수 있습니다. 이 자습서에서는 버킷 만들기, S3 콘솔에서의 정적 웹 사이트 호스팅 활성화, 인덱스 문서 만들기, 오류 문서 만들기 등 Amazon S3에 웹 사이트를 호스팅하는 단계를 안내합니다. 자세한 내용은 [Amazon S3를 사용하여 정적 웹 사이트 호스팅](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html)을 참조하세요.
+ [Route 53에 등록된 사용자 지정 도메인을 사용하여 정적 웹 사이트 구성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html) - 정적 웹 사이트를 호스팅하는 범용 버킷을 생성 및 구성하고 S3에서 Amazon Route 53에 등록된 사용자 지정 도메인 이름의 웹 사이트에 대한 리디렉션을 만들 수 있습니다. Route 53를 사용하여 도메인을 등록하고 도메인의 인터넷 트래픽을 라우팅할 위치를 정의합니다. 이 자습서에서는 도메인 및 하위 도메인의 트래픽을 HTML 파일이 포함된 범용 버킷으로 라우팅하는 Route 53 별칭 레코드를 만드는 방법을 보여줍니다. 자세한 내용은 **Amazon Route 53 개발자 안내서의 [Amazon S3 버킷의 정적 웹 사이트에 대한 도메인 사용](https://docs.aws.amazon.com//Route53/latest/DeveloperGuide/getting-started-s3.html)을 참조하세요. 이 자습서를 완료한 후에는 필요에 따라 CloudFront를 사용하여 웹 사이트의 성능을 향상시킬 수 있습니다. 자세한 내용은 [Amazon CloudFront로 웹 사이트 속도 향상](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-cloudfront-walkthrough.html)을 참조하세요.
+ [S3 범용 버킷에서 AWS Amplify Hosting에 정적 웹 사이트 배포](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-amplify) - [AWS Amplify Hosting](https://docs.aws.amazon.com//amplify/latest/userguide/welcome.html.html)을 사용하여 S3에 저장된 정적 웹 사이트 콘텐츠를 호스팅하는 것이 좋습니다. Amplify Hosting은 Amazon CloudFront로 구동되는 전 세계적으로 사용 가능한 콘텐츠 전송 네트워크(CDN)에 웹 사이트를 쉽게 배포할 수 있도록 하는 완전 관리형 서비스이므로 광범위한 설정을 하지 않아도 안전한 정적 웹 사이트 호스팅이 가능합니다. AWS Amplify Hosting을 사용하면 범용 버킷 내에서 객체의 위치를 선택하고, 관리형 CDN에 콘텐츠를 배포하고, 어디서나 웹 사이트에 액세스할 수 있는 퍼블릭 HTTPS URL을 생성할 수 있습니다. 자세한 내용은 *AWS Amplify Hosting 사용 설명서*의 [Amplify 콘솔을 사용하여 S3에서 정적 웹 사이트 배포](https://docs.aws.amazon.com//amplify/latest/userguide/deploy--from-amplify-console.html)를 참조하세요.

# 자습서: Amazon S3, Amazon CloudFront 및 Amazon Route 53로 온디맨드 스트리밍 비디오 호스팅
<a name="tutorial-s3-cloudfront-route53-video-streaming"></a>

Amazon S3를 Amazon CloudFront와 함께 사용하여 보안 및 확장성이 있는 방식의 온디맨드 보기 용도로 비디오를 호스팅할 수 있습니다. 온디맨드 비디오(VOD) 스트리밍은 비디오 콘텐츠가 서버에 저장되고 뷰어가 언제든지 비디오 콘텐츠를 볼 수 있음을 의미합니다.

CloudFront는 빠르고 안전하며 프로그래밍 가능한 콘텐츠 전송 네트워크(CDN) 서비스입니다. CloudFront는 전세계적으로 모든 CloudFront의 엣지 로케이션에서 HTTPS를 통해 콘텐츠를 안전하게 전송할 수 있습니다. CloudFront 에 대한 자세한 내용은 *Amazon CloudFront 개발자 가이드*의 [Amazon CloudFront란 무엇입니까?](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) 단원을 참조하십시오.

CloudFront 캐싱은 오리진 서버에서 직접 응답해야 하는 요청의 수를 줄입니다. 뷰어(최종 사용자)의 경우 CloudFront에서 제공하는 비디오를 요청하면 해당 요청은 뷰어의 위치와 가까운 엣지 로케이션으로 라우팅됩니다. CloudFront는 해당 캐시에서 비디오를 제공하고, 아직 캐싱되지 않은 경우에만 S3 버킷에서 비디오를 검색합니다. 이 캐싱 관리 기능은 짧은 대기 시간, 높은 처리량, 빠른 전송 속도로 전 세계 뷰어에게 비디오를 빠르게 제공할 수 있습니다. CloudFront 캐싱 관리에 대한 자세한 내용은 *Amazon CloudFront 개발자 가이드*의 [캐싱 및 가용성 최적화](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ConfiguringCaching.html)를 참조하십시오.

![\[CloudFront 캐싱 메커니즘의 작동 방식을 보여 주는 다이어그램.\]](http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/images/cf-example-image-global.png)


**목표**  
이 자습서에서는 전송을 위해 CloudFront를 사용하고 도메인 이름 시스템(DNS) 및 사용자 지정 도메인 관리를 위해 Amazon Route 53를 사용하여 온디맨드 비디오 스트리밍을 호스팅하도록 S3 버킷을 구성합니다.

**Topics**
+ [사전 조건: Route 53에 사용자 지정 도메인 등록 및 구성](#cf-s3-prerequisites)
+ [1단계: S3 버킷 생성](#cf-s3-step1)
+ [2단계: S3 버킷에 파일 업로드](#cf-s3-step2)
+ [3단계: CloudFront 원본 액세스 자격 증명 생성](#cf-s3-step3)
+ [4단계: CloudFront 배포 생성](#cf-s3-step4)
+ [5단계: CloudFront 배포를 통해 비디오에 액세스](#cf-s3-step5)
+ [6단계: 사용자 지정 도메인 이름을 사용하도록 CloudFront 배포 구성](#cf-s3-step6)
+ [7단계: 사용자 지정 도메인 이름을 사용하여 CloudFront 배포를 통해 S3 비디오에 액세스](#cf-s3-step7)
+ [8단계: CloudFront 배포에서 수신한 요청에 대한 데이터 보기(선택 사항)](#cf-s3-step8)
+ [9단계: 정리](#cf-s3-step9)
+ [다음 단계](#cf-s3-next-steps)

## 사전 조건: Route 53에 사용자 지정 도메인 등록 및 구성
<a name="cf-s3-prerequisites"></a>

이 자습서를 시작하기 전에, 나중에 사용자 지정 도메인 이름을 사용하도록 CloudFront 배포를 구성하려면 Route 53에 사용자 지정 도메인(예: **example.com**)을 등록하고 구성해야 합니다.

사용자 지정 도메인 이름이 없으면 S3 비디오가 다음과 유사한 URL에서 CloudFront를 통해 공개적으로 액세스되고 호스팅됩니다.

```
https://CloudFront distribution domain name/Path to an S3 video
```

예를 들어 **https://d111111abcdef8.cloudfront.net/sample.mp4**입니다.

Route 53으로 구성된 사용자 지정 도메인 이름을 사용하도록 CloudFront 배포를 구성하면 S3 비디오가 다음과 유사한 URL에서 CloudFront를 통해 공개적으로 액세스되고 호스팅됩니다.

```
https://CloudFront distribution alternate domain name/Path to an S3 video
```

예를 들어 **https://www.example.com/sample.mp4**입니다. 사용자 지정 도메인 이름은 뷰어가 보다 간단하고 직관적으로 사용할 수 있습니다.

****  
사용자 지정 도메인을 등록하려면 *Amazon Route 53 개발자 안내서*의 [Route 53을 사용하여 새 도메인 이름 등록](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)을 참조하십시오.

Route 53을 사용하여 도메인 이름을 등록하면 Route 53은 이 자습서의 뒷부분에서 사용할 호스팅 영역을 생성합니다. 이 호스팅 영역은 트래픽을 도메인(예: Amazon EC2 인스턴스 또는 CloudFront 배포)으로 라우팅하는 방법에 대한 정보를 저장하는 곳입니다.

도메인 등록, 호스팅 영역 및 도메인에서 수신한 DNS 쿼리와 관련된 요금이 있습니다. 자세한 내용은 [Amazon Route 53 요금](https://aws.amazon.com/route53/pricing/)을 참조하세요.

**참고**  
도메인을 등록하면 즉시 비용이 청구되며, 이는 취소할 수 없습니다. 도메인을 자동 갱신하지 않도록 선택할 수 있지만, 선불로 비용을 지불하며 1년 동안 소유합니다. 자세한 내용은 *Amazon Route 53 개발자 안내서*의 [새 도메인 등록](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)을 참조하십시오.

## 1단계: S3 버킷 생성
<a name="cf-s3-step1"></a>

스트리밍하려는 원본 비디오를 저장할 버킷을 생성합니다.

**버킷을 생성하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 페이지 상단의 탐색 모음에서 현재 표시된 AWS 리전의 이름을 선택합니다. 그런 다음 버킷을 생성하려는 리전을 선택합니다.
**참고**  
지연 시간과 요금을 최소화하고 규제 요건을 충족하려면 가장 가까운 리전을 선택하십시오. 특정 리전에 저장된 객체는 사용자가 명시적으로 객체를 다른 리전으로 전송하지 않는 한 해당 리전을 벗어나지 않습니다. Amazon S3 AWS 리전 목록은 **Amazon Web Services 일반 참조의 [AWS 서비스 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)를 참조하십시오.

1. 왼쪽 탐색 창에서 **범용 버킷**을 선택합니다.

1. **버킷 만들기**를 선택합니다. **버킷 만들기** 페이지가 열립니다.

1. **버킷 이름**에 버킷 이름을 입력합니다(예: **tutorial-bucket**).

   Amazon S3의 버킷 이름 지정 규칙에 대한 자세한 내용은 [범용 버킷 이름 지정 규칙](bucketnamingrules.md) 섹션을 참조하십시오.

1. **리전(Region)**에서 버킷이 속할 AWS 리전을 선택합니다.

   가능하면 뷰어의 대다수와 가장 가까운 리전을 선택해야 합니다. 버킷 리전에 대한 자세한 내용은 [범용 버킷 개요](UsingBucket.md) 섹션을 참조하십시오.

1. **이 버킷에 대한 퍼블릭 액세스 차단 설정(Block Public Access settings for this bucket)**에서 해당 설정을 기본값으로 유지합니다(***모든* 퍼블릭 액세스 차단(Block all public access)**이 활성화됨).

   ***모든* 퍼블릭 액세스 차단**을 활성화한 경우에도 뷰어는 CloudFront를 통해 업로드된 비디오에 계속 액세스할 수 있습니다. 이 기능은 CloudFront를 사용하여 S3에 저장된 비디오를 호스팅할 때의 주요 이점입니다.

   해당 사용 사례에 대해 하나 이상의 설정을 해제해야 하는 경우가 아니라면 모든 설정을 활성화 상태로 유지하는 것이 좋습니다. 퍼블릭 액세스 차단에 대한 자세한 내용은 [Amazon S3 스토리지에 대한 퍼블릭 액세스 차단](access-control-block-public-access.md) 섹션을 참조하세요.

1. 나머지 설정은 기본값으로 유지합니다.

   특정 사용 사례에 대한 추가 버킷 설정을 구성하려면 [범용 버킷 생성](create-bucket-overview.md) 섹션을 참조하십시오(선택 사항).

1. **버킷 생성**을 선택합니다.

## 2단계: S3 버킷에 파일 업로드
<a name="cf-s3-step2"></a>

다음 절차에서는 콘솔을 사용하여 S3 버킷에 비디오 파일을 업로드하는 방법을 설명합니다. S3에 많은 대용량 비디오파일을 업로드하는 경우 [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration)을 사용하여 빠르고 안전한 파일 전송을 구성할 수 있습니다. Transfer Acceleration을 사용하면 S3 버킷에 비디오를 빠르게 업로드하여 대용량의 비디오를 장거리 전송할 수 있습니다. 자세한 내용은 [Amazon S3 Transfer Acceleration을 사용하여 빠르고 안전한 파일 전송 구성](transfer-acceleration.md) 섹션을 참조하세요.

**버킷에 파일을 업로드하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **범용 버킷**을 선택합니다.

1. **범용 버킷** 목록에서 [1단계](#cf-s3-step1)에서 생성한 버킷의 이름(예: **tutorial-bucket**)을 선택하여 파일을 업로드합니다.

1. 버킷의 **객체(Objects)** 탭에서 **업로드(Upload)**를 선택합니다.

1. **업로드(Upload)** 페이지의 **파일 및 폴더(Files and Folders)**에서 **파일 추가(Add Files)**를 선택합니다.

1. 업로드할 파일을 선택한 후 **열기**를 선택합니다.

   예를 들어 `sample.mp4` 비디오 파일을 업로드할 수 있습니다.

1. **업로드**를 선택합니다.

## 3단계: CloudFront 원본 액세스 자격 증명 생성
<a name="cf-s3-step3"></a>

S3 버킷에서 비디오에 대한 직접 액세스를 제한하려면, 원본 액세스 ID(OAI)라는 특별한 CloudFront 사용자를 생성합니다. 이 자습서의 후반에서는 OAI를 배포와 연결합니다. OAI를 사용하면 CloudFront를 우회하여 S3 버킷에서 직접 비디오를 가져올 수 없도록 할 수 있습니다. CloudFront OAI만 S3 버킷의 파일에 액세스할 수 있습니다. 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [Amazon S3 오리진에 대한 액세스 제한](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) 섹션을 참조하세요.



**중요**  
정적 웹사이트를 호스팅하는 데 사용하는 버킷이 AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS)로 암호화된 경우, 오리진을 보호하기 위해 오리진 액세스 ID(OAI) 대신 오리진 액세스 제어(OAC)를 사용해야 합니다. OAI는 SSE-KMS를 지원하지 않으므로 OAC를 사용해야 합니다. OAC에 대한 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [Amazon S3 오리진에 대한 액세스 제한](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) 섹션을 참조하세요.

**CloudFront OAI를 생성하려면**

1. AWS Management Console에 로그인한 다음 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)에서 CloudFront 콘솔을 엽니다.

1. 왼쪽 탐색 창의 **보안** 섹션에서 **오리진 액세스**를 선택합니다.

1. **자격 증명** 탭에서 **오리진 액세스 ID 생성**을 선택합니다.

1. 새로운 원본 액세스 ID에 이름을 입력합니다(예: **S3-OAI**).

1. **생성(Create)**을 선택합니다.

## 4단계: CloudFront 배포 생성
<a name="cf-s3-step4"></a>

CloudFront를 사용하여 S3 버킷에서 비디오를 제공하고 배포하려면 CloudFront 배포를 생성해야 합니다.

**Topics**
+ [CloudFront 배포를 생성합니다.](#cf-s3-step4-create-cloudfront)
+ [버킷 정책 검토](#cf-s3-step4-review-bucket-policy)

### CloudFront 배포를 생성합니다.
<a name="cf-s3-step4-create-cloudfront"></a>

1. AWS Management Console에 로그인한 다음 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)에서 CloudFront 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **배포**를 선택합니다.

1. **배포 생성**을 선택합니다.

1. **원본** 섹션의 **원본 도메인**에서, [1단계](#cf-s3-step1)에서 생성한 S3 버킷의 이름으로 시작하는 S3 원본의 도메인 이름을 선택합니다(예: **tutorial-bucket**).

1. **원본 액세스**에서 **레거시 액세스 ID**를 선택합니다.

1. **원본 액세스 ID**에서, [3단계](#cf-s3-step3)에서 생성한 원본 액세스 ID를 선택합니다(예: **S3-OAI**).

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

1. **기본 캐시 동작** 섹션의 **뷰어 프로토콜 정책**에서 **HTTP를 HTTPS로 리디렉션**을 선택합니다.

   이 기능을 선택하는 경우, 웹 사이트를 보호하고 뷰어의 데이터를 보호하기 위해 HTTP 요청이 자동으로 HTTPS로 리디렉션됩니다.

1. **기본 캐시 동작** 섹션의 기타 설정은 기본값을 유지하십시오.

   (선택 사항) CloudFront에서 다른 요청을 원본에 전달하기 전에 파일을 CloudFront 캐시에 보관하는 기간을 제어할 수 있습니다. 이 기간을 단축함으로써 동적 콘텐츠를 제공할 수 있습니다. 이 기간이 늘어나면 파일이 엣지 캐시에서 바로 제공될 가능성이 높으므로 뷰어에게 제공되는 성능이 향상됩니다. 보관 기간이 늘어나면 오리진에 걸리는 부하 역시 줄어듭니다. 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [콘텐츠가 엣지 캐시에 유지되는 기간 관리(만료)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html)를 참조하십시오.

1. 다른 섹션의 경우 나머지 설정을 기본값으로 유지합니다.

   다양한 옵션에 대한 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [배포의 생성 또는 업데이트 시 지정하는 값](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html)을 참조하십시오.

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

1. CloudFront 배포에 대한 **일반** 탭의 **세부 정보**에서, 배포에 대한 **마지막 수정 날짜** 열 값이 **배포 중**에서 배포가 마지막으로 수정된 타임스탬프로 변경됩니다. 이 작업은 일반적으로 몇 분 정도 걸립니다.

### 버킷 정책 검토
<a name="cf-s3-step4-review-bucket-policy"></a>

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **버킷(Buckets)**을 선택합니다.

1. **버킷**목록에서, 이전에 CloudFront 배포의 원본으로 사용한 버킷의 이름을 선택합니다(예: **tutorial-bucket**).

1. **권한** 탭을 선택합니다.

1. **버킷 정책** 섹션에서 버킷 정책 텍스트 상자에 다음과 비슷한 문이 표시되는지 확인합니다.

   ```
   {
       "Version": "2008-10-17",		 	 	 
       "Id": "PolicyForCloudFrontPrivateContent",
       "Statement": [
           {
               "Sid": "1",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity EH1HDMB1FH2TC"
               },
               "Action": "s3:GetObject",
               "Resource": "arn:aws:s3:::tutorial-bucket/*"
           }
       ]
   }
   ```

   이는 이전에 **예, 버킷 정책을 업데이트합니다**를 선택했을 때CloudFront 배포가 버킷 정책에 추가한 문입니다.

   이 버킷 정책 업데이트는 S3 버킷에 대한 액세스를 제한하도록 CloudFront 배포를 성공적으로 구성했음을 나타냅니다. 이러한 제한으로 인해 CloudFront 배포를 통해서만 버킷의 객체에 액세스할 수 있습니다.

## 5단계: CloudFront 배포를 통해 비디오에 액세스
<a name="cf-s3-step5"></a>

이제 CloudFront는 S3 버킷에 저장된 비디오를 제공할 수 있습니다. CloudFront를 통해 비디오에 액세스하려면 CloudFront 배포 도메인 이름을 S3 버킷의 비디오 경로와 결합해야 합니다.

**CloudFront 배포 도메인 이름을 사용하여 S3 비디오에 대한 URL을 생성하려면**

1. AWS Management Console에 로그인한 다음 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)에서 CloudFront 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **배포**를 선택합니다.

1. 배포 도메인 이름을 가져오려면 다음을 수행합니다.

   1. **원본** 열에서, [1단계](#cf-s3-step1)에서 생성한 S3 버킷으로 시작되는 원본 이름을 찾아 올바른 CloudFront 배포를 찾습니다(예: **tutorial-bucket**).

   1. 목록에서 배포를 찾은 후 **도메인 이름** 열을 확장하여 CloudFront 배포의 도메인 이름 값을 복사합니다.

1. 새 브라우저 탭에서, 복사한 배포 도메인 이름을 붙여 넣습니다.

1. 이전 브라우저 탭으로 돌아가 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **버킷**을 선택합니다.

1. **버킷(Buckets)** 목록에서, [1단계](#cf-s3-step1)에서 생성한 버킷의 이름을 선택합니다(예: **tutorial-bucket**).

1. **객체** 목록에서, [2단계](#cf-s3-step2)에서 업로드한 비디오의 이름을 선택합니다(예: `sample.mp4`).

1. 객체 세부 정보 페이지의 **객체 개요** 섹션에서 **키** 값을 복사합니다. 이 값은 S3 버킷에서 업로드된 비디오 객체로의 경로입니다.

1. 이전에 배포 도메인 이름을 붙여 넣은 브라우저 탭으로 돌아가서 배포 도메인 이름 뒤에 사선(**/**)을 입력한 다음, 앞서 복사한 비디오로의 경로를 붙여 넣습니다(예: `sample.mp4`).

   이제 S3 비디오가 다음과 유사한 URL에서 CloudFront를 통해 공개적으로 액세스되고 호스팅됩니다.

   ```
   https://CloudFront distribution domain name/Path to the S3 video
   ```

   *CloudFront 배포 도메인 이름* 및 *S3 비디오로의 경로*를 적절한 값으로 바꿉니다. 예제 URL은 **https://d111111abcdef8.cloudfront.net/sample.mp4**입니다.

## 6단계: 사용자 지정 도메인 이름을 사용하도록 CloudFront 배포 구성
<a name="cf-s3-step6"></a>

URL에서 CloudFront 도메인 이름 대신에 고유의 도메인 이름을 사용하여 S3 비디오에 액세스하려면, 대체 도메인 이름을 CloudFront 배포에 추가합니다.

**Topics**
+ [SSL 인증서 요청](#cf-s3-step6-create-SSL)
+ [CloudFront 배포에 대체 도메인 이름을 추가합니다.](#cf-s3-step6-custom-domain)
+ [대체 도메인 이름에서 트래픽을 CloudFront 배포의 도메인 이름으로 라우팅하는 DNS 레코드를 생성합니다.](#cf-s3-step6-DNS-record)
+ [배포에 대해 IPv6이 활성화되어 있는지 확인하고, 필요한 경우 다른 DNS 레코드를 만듭니다.](#s3-step6-ipv6)

### SSL 인증서 요청
<a name="cf-s3-step6-create-SSL"></a>

뷰어가 동영상 비디오 스트리밍용 URL에 HTTPS 및 사용자 지정 도메인 이름을 사용할 수 있도록 하려면 AWS Certificate Manager(ACM)을(를) 사용하여 보안 소켓 계층(SSL) 인증서를 요청합니다. SSL 인증서는 웹 사이트에 대한 암호화된 네트워크 연결을 설정합니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/acm/](https://console.aws.amazon.com/acm/)에서 ACM 콘솔을 엽니다.

1. 소개 페이지가 나타나면 **인증서 프로비저닝(Provision certificates)**에서 **시작하기(Get Started)**를 선택합니다.

1. **인증서 요청** 페이지에서 **퍼블릭 인증서 요청**을 선택한 후 **인증서 요청**을 선택합니다.

1. **도메인 이름 추가** 페이지에서 SSL/TLS 인증서로 보안을 설정할 사이트의 정규화된 도메인 이름(FQDN)을 입력합니다. 별표(`*`)를 사용하여 같은 도메인 내의 여러 사이트를 보호하는 와일드카드 인증서를 요청할 수 있습니다. 이 자습서에서는 **\$1** 및 [사전 조건](#cf-s3-prerequisites)에서 구성한 사용자 지정 도메인 이름을 입력합니다. 이 예제의 경우 **\$1.example.com**을 입력한 다음 **다음**을 선택합니다.

   자세한 내용은 *AWS Certificate Manager 사용 설명서*의 [ACM 퍼블릭 인증서를 요청하려면(콘솔)](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html#request-public-console)을 참조하십시오.

1. **검증 방법 선택(Select validation method)** 페이지에서 **DNS 검증(DNS validation)**을 선택합니다. 그리고 **다음**을 선택합니다.

   사용자 DNS 환경 설정을 편집할 수 있다면, 이메일 검증보다는 DNS 검증을 사용하는 것을 권장합니다. DNS 검증은 이메일 검증에 비해 다양한 이점이 있습니다. 자세한 내용은 *AWS Certificate Manager 사용 설명서*의 [옵션 1: DNS 유효성 검사](https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html) 단원을 참조하십시오.

1. (선택 사항) **태그 추가** 페이지에서 인증서에 메타데이터로 태그를 지정할 수 있습니다.

1. **검토**를 선택합니다.

1. **검토** 페이지에서 **도메인 이름** 및 **메서드 검증**의 정보가 올바른지 확인합니다. 그런 다음 **확인 및 요청(Confirm and request)**을 선택합니다.

   **검증** 페이지에서는 요청이 처리 중이며 인증서 도메인이 검증되고 있음을 보여줍니다. 검증 대기 중인 인증서는 **검증 보류(Pending validation)** 상태입니다.

1. **검증** 페이지에서 사용자 지정 도메인 이름의 왼쪽에 있는 아래쪽 화살표를 선택한 후 **Route 53에서 레코드 생성**을 선택하여 DNS를 통해 도메인 소유권을 검증합니다.

   그러면 AWS Certificate Manager에서 제공하는 CNAME 레코드가 DNS 구성에 추가됩니다.

1. **Route 53에서 레코드 생성(Create record in Route 53)** 대화 상자에서 **생성(Create)**을 선택합니다.

   **검증** 페이지의 하단에 **성공**이라는 상태 알림이 표시되어야 합니다.

1. **계속(Continue)**을 선택하여 **인증서(Certificates)** 목록 페이지를 확인합니다.

   새 인증서에 대한 **상태**가 30분 이내에 **검증 보류**에서 **발급 완료**로 변경됩니다.

### CloudFront 배포에 대체 도메인 이름을 추가합니다.
<a name="cf-s3-step6-custom-domain"></a>

1. AWS Management Console에 로그인한 다음 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)에서 CloudFront 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **배포**를 선택합니다.

1. [4단계](#cf-s3-step3)에서 생성한 배포의 ID를 선택합니다.

1. **일반**탭에서 **설정**섹션으로 이동하고 **편집**을 선택합니다.

1. **설정 편집** 페이지에서 **대체 도메인 이름(CNAME) - *선택 사항***의 경우, **항목 추가**를 선택하여 이 CloudFront 배포에서 제공하는 S3 비디오의 URL에 사용하려는 사용자 지정 도메인 이름을 추가합니다.

   이 자습서에서는 예를 들어 하위 도메인(예: `www.example.com`)에 대한 트래픽을 라우팅하려는 경우 도메인 이름(`example.com`)과 함께 하위 도메인 이름(`www`)을 입력합니다. 구체적으로 **www.example.com**을 입력합니다.
**참고**  
추가하는 대체 도메인 이름(CNAME)은 이전에 CloudFront 배포에 연결한 SSL 인증서의 적용을 받아야 합니다.

1. **사용자 지정 SSL 인증서 - *선택 사항***의 경우 이전에 요청한 SSL 인증서를 선택합니다(예: **\$1.example.com**).
**참고**  
SSL 인증서를 요청한 직후에 인증서가 표시되지 않으면 인증서를 선택할 수 있을 때까지 30분간 기다린 다음 목록을 새로 고칩니다.

1. 나머지 설정은 기본값으로 유지합니다. **변경 사항 저장**을 선택합니다.

1. 해당 배포에 대한 **일반** 탭에서, **마지막 수정 날짜** 값이 **배포 중**에서 배포가 마지막으로 수정된 타임스탬프로 변경될 때까지 기다립니다.

### 대체 도메인 이름에서 트래픽을 CloudFront 배포의 도메인 이름으로 라우팅하는 DNS 레코드를 생성합니다.
<a name="cf-s3-step6-DNS-record"></a>

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)에서 Route 53 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **Hosted Zones(호스팅 영역)**를 선택합니다.

1. **호스팅 영역** 페이지에서, [사전 조건](#cf-s3-prerequisites)에서 Route 53가 생성한 호스팅 영역의 이름을 선택합니다(예: **example.com**).

1. **레코드 생성**을 선택한 다음 **빠른 레코드 생성** 메서드를 사용합니다.

1. **레코드 이름**의 경우 레코드 이름의 값을 이전에 추가한 CloudFront 배포의 대체 도메인 이름과 동일하게 유지합니다.

   이 자습서에서는 하위 도메인(예: `www.example.com`)에 대한 트래픽을 라우팅하기 위해 도메인 이름 없이 하위 도메인 이름을 입력합니다. 예를 들어, 사용자 지정 도메인 이름 앞의 텍스트 필드에 **www**를 입력합니다.

1. **레코드 유형**에서 **A - IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅**을 선택합니다.

1. **값**에서 별칭 리소스를 활성화하기 위해 **별칭** 토글을 선택합니다.

1. **다음으로 트래픽 라우팅**의 드롭다운 목록에서 **CloudFront 배포에 대한 별칭**을 선택합니다.

1. **배포 선택**이라는 검색 상자에서, [4단계](#cf-s3-step4)에서 생성한 CloudFront 배포의 도메인 이름을 선택합니다.

   CloudFront 배포의 도메인 이름을 찾으려면 다음을 수행합니다.

   1. 새 브라우저 탭에서 AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/cloudfront/v3/home](https://console.aws.amazon.com/cloudfront/v3/home)에서 CloudFront 콘솔을 엽니다.

   1. 왼쪽 탐색 창에서 **배포**를 선택합니다.

   1. **원본** 열에서, [1단계](#cf-s3-step1)에서 생성한 S3 버킷으로 시작되는 원본 이름을 찾아 올바른 CloudFront 배포를 찾습니다(예: **tutorial-bucket**).

   1. 목록에서 배포를 찾은 후 **도메인 이름** 열을 확장하여 CloudFront 배포의 도메인 이름 값을 확인합니다.

1. Route 53 콘솔의 **레코드 생성** 페이지에서 나머지 설정은 기본값을 유지합니다.

1. **레코드 생성**을 선택합니다.

### 배포에 대해 IPv6이 활성화되어 있는지 확인하고, 필요한 경우 다른 DNS 레코드를 만듭니다.
<a name="s3-step6-ipv6"></a>

배포에 대해 IPv6이 활성화되어 있다면 다른 DNS 레코드를 만들어야 합니다.

1. 배포에 대해 IPv6이 활성화되어 있는지 확인하려면 다음을 수행합니다.

   1. AWS Management Console에 로그인한 다음 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)에서 CloudFront 콘솔을 엽니다.

   1. 왼쪽 탐색 창에서 **배포**를 선택합니다.

   1. [4단계](#cf-s3-step4)에서 생성한 CloudFront 배포의 ID를 선택합니다.

   1. **일반** 탭의 **설정**에서, **IPv6**이 **활성화됨**으로 설정되어 있는지 확인합니다.

      배포에 대해 IPv6이 활성화되어 있다면 다른 DNS 레코드를 만들어야 합니다.

1. 배포에 대해 IPv6이 활성화되어 있다면 다음을 수행하여 다른 DNS 레코드를 만들어야 합니다.

   1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)에서 Route 53 콘솔을 엽니다.

   1. 왼쪽 탐색 창에서 **Hosted Zones(호스팅 영역)**를 선택합니다.

   1. **호스팅 영역** 페이지에서, [사전 조건](#cf-s3-prerequisites)에서 Route 53가 생성한 호스팅 영역의 이름을 선택합니다(예: **example.com**).

   1. **레코드 생성**을 선택한 다음 **빠른 레코드 생성** 메서드를 사용합니다.

   1. **레코드 이름**의 경우, 사용자 지정 도메인 이름 앞의 텍스트 필드에서 이전에 IPv4 DNS 레코드를 생성했을 때 입력한 것과 동일한 값을 입력합니다. 예를 들어 이 자습서에서는 하위 도메인 `www.example.com`의 트래픽을 라우팅하기 위해 **www**만 입력합니다.

   1. **레코드 유형**에서 **AAAA - IPv6 주소 및 일부 AWS 리소스로 트래픽 라우팅**을 선택합니다.

   1. **값**에서 별칭 리소스를 활성화하기 위해 **별칭** 토글을 선택합니다.

   1. **다음으로 트래픽 라우팅**의 드롭다운 목록에서 **CloudFront 배포에 대한 별칭**을 선택합니다.

   1. **배포 선택**이라는 검색 상자에서, [4단계](#cf-s3-step4)에서 생성한 CloudFront 배포의 도메인 이름을 선택합니다.

   1. 나머지 설정은 기본값으로 유지합니다.

   1. **레코드 생성**을 선택합니다.

## 7단계: 사용자 지정 도메인 이름을 사용하여 CloudFront 배포를 통해 S3 비디오에 액세스
<a name="cf-s3-step7"></a>

사용자 지정 URL을 사용하여 S3 비디오에 액세스하려면 대체 도메인 이름을 S3 버킷의 비디오 경로와 결합해야 합니다.

**CloudFront 배포를 통해 S3 비디오에 액세스하기 위한 사용자 지정 URL을 생성하려면**

1. AWS Management Console에 로그인한 다음 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)에서 CloudFront 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **배포**를 선택합니다.

1. CloudFront 배포의 대체 도메인 이름을 가져오려면 다음을 수행합니다.

   1. **원본** 열에서, [1단계](#cf-s3-step1)에서 생성한 버킷의 S3 버킷 이름으로 시작되는 원본 이름을 찾아 CloudFront 배포를 찾고 수정합니다(예: **tutorial-bucket**).

   1. 목록에서 배포를 찾은 후 **대체 도메인 이름** 열을 확장하여 CloudFront 배포의 대체 도메인 이름 값을 복사합니다.

1. 새 브라우저 탭에서, CloudFront 배포의 대체 도메인 이름을 붙여 넣습니다.

1. 이전 브라우저 탭으로 돌아가 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔을 엽니다.

1. [5단계](#cf-s3-step5)에서 설명하는 S3 비디오의 경로를 찾습니다.

1. 이전에 대체 도메인 이름을 붙여 넣은 브라우저 탭으로 돌아가서 사선(**/**)를 입력하고 S3 비디오의 경로를 붙여 넣습니다(예: `sample.mp4`).

   이제 S3 비디오가 다음과 유사한 사용자 지정 URL에서 CloudFront를 통해 공개적으로 액세스되고 호스팅됩니다.

   ```
   https://CloudFront distribution alternate domain name/Path to the S3 video
   ```

   *CloudFront 배포 대체 도메인 이름* 및 *S3 비디오 경로*를 적절한 값으로 바꿉니다. 예제 URL은 **https://www.example.com/sample.mp4**입니다.

## 8단계: CloudFront 배포에서 수신한 요청에 대한 데이터 보기(선택 사항)
<a name="cf-s3-step8"></a>

**8단계: CloudFront 배포에서 수신한 요청에 대한 데이터를 보려면**

1. AWS Management Console에 로그인한 다음 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)에서 CloudFront 콘솔을 엽니다.

1. 왼쪽 탐색 창의 **보고서 및 분석**에서, **캐시 통계**, **인기 객체**, **상위 참조자**, **사용량** 및 **뷰어**의 범위에서 콘솔의 보고서를 선택합니다.

   각 보고서 대시보드를 필터링할 수 있습니다. 자세한 내용은 *Amazon CloudFront 개발자 안내서*에서 [콘솔의 CloudFront 보고서](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/reports.html)를 참조하십시오.

1. 데이터를 필터링하려면 [4단계](#cf-s3-step4)에서 생성한 CloudFront 배포의 ID를 선택합니다.

## 9단계: 정리
<a name="cf-s3-step9"></a>

CloudFront 및 Route 53을 학습 연습으로만 사용하여 S3 스트리밍 비디오를 호스팅한 경우 더 이상 요금이 발생하지 않도록 할당한 AWS 리소스를 삭제합니다.

**참고**  
도메인을 등록하면 즉시 비용이 청구되며, 이는 취소할 수 없습니다. 도메인을 자동 갱신하지 않도록 선택할 수 있지만, 선불로 비용을 지불하며 1년 동안 소유합니다. 자세한 내용은 *Amazon Route 53 개발자 안내서*의 [새 도메인 등록](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)을 참조하십시오.

**Topics**
+ [CloudFront 배포 삭제](#cf-s3-step9-delete-cf)
+ [DNS 레코드 삭제](#cf-s3-step9-delete-dns)
+ [사용자 지정 도메인의 퍼블릭 호스팅 영역 삭제](#cf-s3-step9-delete-hosted-zone)
+ [Route 53에서 사용자 지정 도메인 이름 삭제](#cf-s3-step9-delete-domain)
+ [S3 소스 버킷의 원본 비디오 삭제](#cf-s3-step9-delete-video)
+ [S3 소스 버킷 삭제](#cf-s3-step9-delete-bucket)

### CloudFront 배포 삭제
<a name="cf-s3-step9-delete-cf"></a>

1. AWS Management Console에 로그인한 다음 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)에서 CloudFront 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **배포**를 선택합니다.

1. **원본** 열에서, [1단계](#cf-s3-step1)에서 생성한 버킷의 S3 버킷 이름으로 시작되는 원본 이름을 찾아 CloudFront 배포를 찾고 수정합니다(예: **tutorial-bucket**).

1. CloudFront 배포를 삭제하려면 먼저 배포를 비활성화해야 합니다.
   + **상태** 열 값이 **활성화됨**이고 **마지막 수정 날짜** 값이 배포가 마지막으로 수정되었을 때의 타임스탬프이면 삭제하기 전에 배포를 비활성화합니다.
   + **상태** 값이 **활성화됨**이고 **마지막 수정 날짜** 값이 **배포 중**이면 **상태** 값이 배포가 마지막으로 수정되었을 때의 타임스탬프로 변경될 때까지 기다립니다. 그런 다음 삭제하기 전에 배포를 비활성화합니다.

1. CloudFront 배포를 비활성화하려면 다음을 수행합니다.

   1. **배포** 목록에서 삭제할 배포에 대한 ID 옆의 확인란을 선택합니다.

   1. 배포를 비활성화하려면 **비활성화**를 선택한 후 **비활성화**를 선택하여 확인합니다.

      대체 도메인 이름이 연결된 배포를 비활성화하면, 동일한 도메인과 일치하는 와일드카드(`*`)가 있는 대체 도메인 이름(예: `*.example.com`)이 다른 배포에 있더라도 CloudFront가 해당 도메인 이름(예: `www.example.com`)에 대한 트래픽 수신을 중지합니다.

   1. **상태(Status)** 값이 **비활성화됨(Disabled)**으로 즉시 변경됩니다. **마지막 수정 날짜** 값이 **배포 중**에서 배포가 마지막으로 수정된 타임스탬프로 변경될 때까지 기다립니다.

      CloudFront는 이 변경 사항을 모든 엣지 로케이션에 전파해야 하므로, 업데이트가 완료되어 배포를 삭제할 수 있는 **삭제(Delete)** 옵션이 사용 가능해질 때까지 몇 분이 걸릴 수 있습니다.

1. 비활성화된 배포를 삭제하려면 다음을 수행합니다.

   1. 삭제하려는 배포의 ID 옆 확인란을 선택합니다.

   1. **삭제**를 선택한 후 **삭제**를 선택하여 확인합니다.

### DNS 레코드 삭제
<a name="cf-s3-step9-delete-dns"></a>

도메인의 퍼블릭 호스팅 영역(DNS 레코드 포함)을 삭제하려면 *Amazon Route 53 개발자 안내서*의 [사용자 지정 도메인의 퍼블릭 호스팅 영역 삭제](#cf-s3-step9-delete-hosted-zone)를 참조하십시오. [6단계](#cf-s3-step6)에서 생성한 DNS 레코드만 삭제하려면 다음을 수행합니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)에서 Route 53 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **Hosted Zones(호스팅 영역)**를 선택합니다.

1. **호스팅 영역** 페이지에서, [사전 조건](#cf-s3-prerequisites)에서 Route 53이 생성한 호스팅 영역의 이름을 선택합니다(예: **example.com**).

1. 레코드 목록에서, 삭제하려는 레코드([6단계](#cf-s3-step6)에서 생성한 레코드) 옆의 확인란을 선택합니다.
**참고**  
**유형** 값이 **NS** 또는 **SOA**인 레코드는 삭제할 수 없습니다.

1. **레코드 삭제(Delete record)**를 선택합니다.

1. 삭제를 확인하려면 **삭제**를 선택합니다.

   레코드 변경 내용이 Route 53 DNS 서버로 전파되려면 시간이 걸립니다. 현재 변경 사항의 전파 여부를 확인하는 유일한 방법은 [GetChange API 작업](https://docs.aws.amazon.com/Route53/latest/APIReference/API_GetChange.html)을 사용하는 것입니다. 변경 사항은 일반적으로 60초 이내에 모든 Route 53 이름 서버로 전파됩니다.

### 사용자 지정 도메인의 퍼블릭 호스팅 영역 삭제
<a name="cf-s3-step9-delete-hosted-zone"></a>

**주의**  
도메인 등록을 유지하면서 웹 사이트 또는 웹 애플리케이션으로 인터넷 트래픽이 라우팅되는 것을 중지하려면, 호스팅 영역을 삭제하는 대신 호스팅 영역에서 레코드를 삭제하는 것이 좋습니다(이전 섹션에 설명됨).  
호스팅 영역을 삭제하면 다른 사람이 이 도메인을 사용할 수 있으며 사용자의 도메인 이름을 사용하여 트래픽을 그들의 리소스로 라우팅할 수 있습니다.  
또한 호스팅 영역을 삭제하면 삭제를 취소할 수 없습니다. 새 호스팅 영역을 만들고 도메인 등록을 위한 이름 서버를 업데이트해야 합니다. 도메인 등록은 효력이 발생하려면 최대 48시간이 걸립니다.  
도메인을 인터넷에서 사용 불가능하게 만들려면 먼저 DNS 서비스를 무료 DNS 서비스로 이전한 후 Route 53 호스팅 영역을 삭제합니다. 이렇게 하면 이후의 DNS 쿼리가 잘못 라우팅되지 않도록 할 수 있습니다.  
도메인이 Route 53에 등록되어 있는 경우 Route 53 이름 서버를 새로운 DNS 서비스의 이름 서버로 바꾸는 방법은 *Amazon Route 53 개발자 안내서*의 [도메인의 이름 서버 및 글루 레코드 추가 또는 변경](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-name-servers-glue-records.html)을 참조하십시오.
도메인이 다른 등록 대행자에 등록되어 있는 경우 등록 대행자가 제공한 방법을 사용하여 도메인에 대한 이름 서버를 변경하십시오.
하위 도메인(`www.example.com`)의 호스팅 영역을 삭제하는 경우에는 도메인(`example.com`)의 이름 서버를 변경할 필요가 없습니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)에서 Route 53 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **Hosted Zones(호스팅 영역)**를 선택합니다.

1. **호스팅 영역(Hosted zones)** 페이지에서, 삭제할 호스팅 영역의 이름을 선택합니다.

1. 호스팅 영역의 **레코드(Records)** 탭에서, 삭제할 호스팅 영역에 **NS** 및 **SOA**레코드만 포함되어 있는지 확인합니다.

   추가 레코드가 있는 경우 먼저 삭제합니다.

   호스팅 영역의 하위 도메인에 대한 NS 레코드를 생성한 경우, 해당 레코드 역시 삭제합니다.

1. 호스팅 영역의 **DNSSEC 서명(DNSSEC signing)** 탭에서 DNNSSEC 서명을 활성화한 경우 비활성화합니다. 자세한 내용은 *Amazon Route 53 개발자 안내서*의 [DNSSEC 서명 비활성화](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-configuring-dnssec-disable.html)를 참조하십시오.

1. 호스팅 영역의 세부 정보 페이지 상단에서 **영역 삭제**를 선택합니다.

1. 삭제를 확인하려면 **delete**을(를) 입력한 후 **삭제**를 선택합니다.

### Route 53에서 사용자 지정 도메인 이름 삭제
<a name="cf-s3-step9-delete-domain"></a>

TLD(최상위 도메인)에 대해 등록을 더 이상 원하지 않는 경우 등록을 삭제할 수 있습니다. 등록이 만료되기 전에 Route 53에서 도메인 이름 등록을 삭제할 경우 AWS에서는 등록 요금을 환불하지 않습니다. 자세한 내용은 *Amazon Route 53 개발자 가이드*의 [도메인 이름 등록 삭제](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-delete.html)를 참조하십시오.

**중요**  
AWS 계정 간에 도메인을 이전하거나 도메인을 다른 등록 대행사로 이전하려는 경우 도메인을 삭제해서 즉시 재등록하려고 하지 마십시오. 대신 *Amazon Route 53 개발자 가이드*의 해당 문서를 참조하십시오.  
[도메인을 다른 AWS 계정로 이전하기](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-between-aws-accounts.html)
[Amazon Route 53에서 다른 등록 기관으로 도메인 이전하기](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-from-route-53.html)

### S3 소스 버킷의 원본 비디오 삭제
<a name="cf-s3-step9-delete-video"></a>

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **버킷(Buckets)**을 선택합니다.

1. **버킷 이름** 목록에서, [2단계](#cf-s3-step2)에서 동영상을 업로드한 버킷의 이름을 선택합니다(예: **tutorial-bucket**).

1. **객체** 탭에서 삭제하려는 객체의 이름 옆에 있는 확인란을 선택합니다(예: `sample.mp4`).

1. **삭제**를 선택합니다.

1. **객체를 영구적으로 삭제하시겠습니까?**에서 **permanently delete**를 입력하여 객체를 삭제할 것인지 확인합니다.

1. **객체 삭제**를 선택합니다.

### S3 소스 버킷 삭제
<a name="cf-s3-step9-delete-bucket"></a>

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **버킷(Buckets)**을 선택합니다.

1. **버킷** 목록에서, [1단계](#cf-s3-step1)에서 생성한 버킷의 이름 옆에 있는 옵션 버튼을 선택합니다(예: **tutorial-bucket**).

1. **삭제**를 선택합니다.

1. **버킷 삭제(Delete bucket)** 페이지의 텍스트 필드에 버킷 이름을 입력하여 버킷의 삭제 여부를 확인한 다음 **버킷 삭제(Delete bucket)**를 선택합니다.

## 다음 단계
<a name="cf-s3-next-steps"></a>

이 자습서를 완료한 후에는 다음과 같은 관련 사용 사례를 더 자세히 탐색할 수 있습니다.
+ CloudFront 배포로 S3 비디오를 호스팅하기 전에 특정 TV 또는 커넥티드 디바이스에 필요한 스트리밍 형식으로 트랜스코딩합니다.

  Amazon S3 배치 작업, AWS Lambda 및 AWS Elemental MediaConvert를 사용하여 비디오 모음을 다양한 출력 미디어 형식으로 일괄 트랜스코딩하려면 [자습서: S3 Batch Operations를 통해 비디오 일괄 트랜스코딩](tutorial-s3-batchops-lambda-mediaconvert-video.md) 섹션을 참조하십시오.
+ CloudFront 및 Route 53을 사용하여 이미지, 오디오, 모션 그래픽, 스타일시트, HTML, JavaScript, React 앱 등 S3에 저장된 다른 객체를 호스팅합니다.

  예제는 [자습서: Route 53에 등록된 사용자 지정 도메인을 사용하여 정적 웹 사이트 구성](website-hosting-custom-domain-walkthrough.md) 및 [Amazon CloudFront로 웹사이트 속도 향상](website-hosting-cloudfront-walkthrough.md) 섹션을 참조하십시오.
+ [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration)을 사용하여 빠르고 안전한 파일 전송을 구성할 수 있습니다. Transfer Acceleration을 사용하면 S3 버킷에 비디오를 빠르게 업로드하여 대용량의 비디오를 장거리 전송할 수 있습니다. Transfer Acceleration은 CloudFront의 전역으로 배포된 엣지 로케이션 및 AWS 백본 네트워크를 통해 트래픽을 라우팅하여 전송 성능을 향상시킵니다. 또한 네트워크 프로토콜 최적화를 활용합니다. 자세한 내용은 [Amazon S3 Transfer Acceleration을 사용하여 빠르고 안전한 파일 전송 구성](transfer-acceleration.md) 섹션을 참조하세요.

# 자습서: Amazon S3에서 정적 웹 사이트 구성
<a name="HostingWebsiteOnS3Setup"></a>

**중요**  
이제 Amazon S3가 Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3)를 Amazon S3 내 모든 버킷 암호화의 기본 수준으로 적용합니다. 2023년 1월 5일부터 Amazon S3로의 모든 새 객체 업로드는 추가 비용 없이 성능에 영향을 미치지 않고 자동으로 암호화됩니다. S3 버킷 기본 암호화 구성에 및 신규 객체 업로드에 대한 자동 암호화 상태는 CloudTrail 로그, S3 인벤토리, S3 Storage Lens, Amazon S3 콘솔에서 사용할 수 있으며, AWS CLI 및 AWS SDK에서 추가 Amazon S3 API 응답 헤더로도 사용할 수 있습니다. 자세한 내용은 [기본 암호화 관련 FAQ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html)를 참조하십시오.

웹 사이트처럼 작동하도록 Amazon S3 버킷을 구성할 수 있습니다. 이 예제에서는 Amazon S3에서 웹 사이트를 호스팅하는 절차를 단계별로 살펴봅니다.

**중요**  
다음 자습서에서는 퍼블릭 액세스 차단을 비활성화해야 합니다. 퍼블릭 액세스 차단 설정을 활성화 상태로 유지하는 것이 좋습니다. 네 개의 퍼블릭 액세스 차단 설정을 모두 활성화하여 정적 웹 사이트를 호스팅하려는 경우 Amazon CloudFront 원본 액세스 제어(OAC)를 사용할 수 있습니다. Amazon CloudFront는 안전한 정적 웹 사이트를 설정하는 데 필요한 기능을 제공합니다. Amazon S3 정적 웹 사이트는 HTTP 엔드포인트만 지원합니다. Amazon CloudFront는 Amazon S3의 내구성 있는 스토리지를 사용하면서 HTTPS와 같은 추가 보안 헤더를 제공합니다. HTTPS는 일반적인 HTTP 요청을 암호화하고 일반적인 사이버 공격으로부터 보호함으로써 보안을 강화합니다. 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [안전한 정적 웹 사이트 시작하기](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html)를 참조하십시오.

**Topics**
+ [1단계: 버킷 만들기](#step1-create-bucket-config-as-website)
+ [2단계: 정적 웹 사이트 호스팅 활성화](#step2-create-bucket-config-as-website)
+ [3단계: 퍼블릭 액세스 차단 설정 편집](#step3-edit-block-public-access)
+ [4단계: 버킷 콘텐츠를 공개적으로 사용 가능하도록 설정하는 버킷 정책 추가](#step4-add-bucket-policy-make-content-public)
+ [5단계: 인덱스 문서 구성](#step5-upload-index-doc)
+ [6단계: 오류 문서 구성](#step6-upload-error-doc)
+ [7단계: 웹 사이트 엔드포인트 테스트](#step7-test-web-site)
+ [8단계: 정리](#getting-started-cleanup-s3-website-overview)

## 1단계: 버킷 만들기
<a name="step1-create-bucket-config-as-website"></a>

아래 지침에서는 웹 사이트 호스팅용 버킷을 생성하는 방법에 대한 개요를 제공합니다. 버킷 생성에 대한 자세한 단계별 지침은 [범용 버킷 생성](create-bucket-overview.md) 섹션을 참조하세요.

**버킷을 만들려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔을 엽니다.

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

1. **버킷 이름**(예: **example.com**)을 입력합니다.

1. 버킷을 생성하려는 리전을 선택합니다.

   지리적으로 가까운 리전을 선택하면 지연 시간과 요금을 최소화하고, 규제 요건을 해결할 수 있습니다. 선택한 리전에 따라 Amazon S3 웹 사이트 엔드포인트가 결정됩니다. 자세한 내용은 [웹 사이트 엔드포인트](WebsiteEndpoints.md) 섹션을 참조하세요.

1. 기본 설정을 적용하고 버킷을 생성하려면 [**Create**]를 선택합니다.

## 2단계: 정적 웹 사이트 호스팅 활성화
<a name="step2-create-bucket-config-as-website"></a>

버킷을 생성한 후 버킷에 정적 웹 사이트 호스팅을 활성화할 수 있습니다. 새 버킷을 만들거나 기존 버킷을 사용할 수 있습니다.

**정적 웹 사이트 호스팅을 활성화하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **범용 버킷**을 선택합니다.

1. 버킷 목록에서 정적 웹 사이트 호스팅을 사용 설정하려는 버킷의 이름을 선택합니다.

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

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

1. **이 버킷을 사용하여 웹 사이트를 호스팅합니다.**를 선택합니다.

1. **정적 웹 사이트 호스팅**에서 **사용**을 선택합니다.

1. **인덱스 문서(Index document)**에 인덱스 문서 이름을 입력합니다(일반적으로 `index.html`).

   인덱스 문서 이름은 대소문자를 구분하며 S3 버킷에 업로드하려는 HTML 인덱스 문서의 파일 이름과 정확히 일치해야 합니다. 웹 사이트 호스팅용 버킷을 구성하는 경우 인덱스 문서를 지정해야 합니다. 루트 도메인이나 임의의 하위 폴더로 요청이 전송되면 Amazon S3가 이 인덱스 문서를 반환합니다. 자세한 내용은 [인덱스 문서 구성](IndexDocumentSupport.md) 섹션을 참조하세요.

1. 4XX 클래스 오류에 대한 사용자 지정 오류 문서를 제공하려면 [**오류 문서(Error document)**]에 사용자 지정 오류 문서 파일 이름을 입력합니다.

   오류 문서 이름은 대소문자를 구분하며 S3 버킷에 업로드하려는 HTML 오류 문서의 파일 이름과 정확히 일치해야 합니다. 사용자 지정 오류 문서를 지정하지 않았는데 오류가 발생하면 Amazon S3에서 기본 HTML 오류 문서를 반환합니다. 자세한 내용은 [사용자 지정 오류 문서 구성](CustomErrorDocSupport.md) 섹션을 참조하세요.

1. (선택 사항) 고급 리디렉션 규칙을 지정하려면 **리디렉션 규칙(Redirection rules)**에 JSON을 입력하여 규칙을 설명합니다.

   예를 들어, 요청의 특정 객체 키 이름 또는 접두사에 따라 조건부로 요청을 라우팅할 수 있습니다. 자세한 내용은 [고급 조건부 리디렉션을 사용하도록 리디렉션 규칙 구성](how-to-page-redirect.md#advanced-conditional-redirects) 섹션을 참조하세요.

1. [**변경 사항 저장(Save changes)**]을 선택합니다.

   Amazon S3는 버킷에 대한 정적 웹 사이트 호스팅을 지원합니다. 페이지 하단의 **정적 웹 사이트 호스팅(Static website hosting)**에 버킷의 웹 사이트 엔드포인트가 표시됩니다.

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

   **엔드포인트**는 버킷의 Amazon S3 웹 사이트 엔드포인트입니다. 버킷을 정적 웹 사이트로 구성한 후 이 엔드포인트를 사용하여 웹 사이트를 테스트할 수 있습니다.

## 3단계: 퍼블릭 액세스 차단 설정 편집
<a name="step3-edit-block-public-access"></a>

기본적으로 Amazon S3은 계정 및 버킷에 대한 퍼블릭 액세스를 차단합니다. 버킷을 사용하여 정적 웹 사이트를 호스팅하려는 경우 이러한 단계를 사용하여 퍼블릭 액세스 차단 설정을 편집할 수 있습니다.

**주의**  
이러한 단계를 완료하기 전에 [Amazon S3 스토리지에 대한 퍼블릭 액세스 차단](access-control-block-public-access.md)을 검토하여 퍼블릭 액세스 허용과 관련된 위험을 이해하고 이에 동의하는지 확인합니다. 퍼블릭 액세스 차단 설정을 해제하여 버킷을 퍼블릭으로 만들면 인터넷상의 모든 사용자가 버킷에 액세스할 수 있습니다. 버킷에 대한 모든 퍼블릭 액세스를 차단하는 것이 좋습니다.

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

1. 정적 웹 사이트로 구성한 버킷의 이름을 선택합니다.

1. **Permissions**를 선택합니다.

1. **퍼블릭 액세스 차단(버킷 설정)(Block public access (bucket settings))**에서 **편집(Edit)**을 선택합니다.

1. ***모든* 퍼블릭 액세스 차단(Block all public access)**을 선택 취소하고 **변경 사항 저장(Save changes)**을 선택합니다.  
![\[퍼블릭 액세스 차단 버킷 설정을 보여주는 Amazon S3 콘솔.\]](http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/images/edit-public-access-clear.png)

   Amazon S3은 버킷에 대한 퍼블릭 액세스 차단 설정을 끕니다. 정적 퍼블릭 웹 사이트를 생성하려면 버킷 정책을 추가하기 전에 계정에 대한 [퍼블릭 액세스 차단 설정을 편집](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/block-public-access-account.html)해야 할 수도 있습니다. 계정에 대한 퍼블릭 액세스 차단 설정이 현재 켜져 있는 경우 **퍼블릭 액세스 차단(버킷 설정)** 아래에 메모가 표시됩니다.

## 4단계: 버킷 콘텐츠를 공개적으로 사용 가능하도록 설정하는 버킷 정책 추가
<a name="step4-add-bucket-policy-make-content-public"></a>

S3 퍼블릭 액세스 차단 설정을 편집한 후에는 버킷 정책을 추가하여 버킷에 퍼블릭 읽기 액세스 권한을 부여할 수 있습니다. 퍼블릭 읽기 액세스 권한을 부여하면 인터넷의 모든 사용자가 버킷에 액세스할 수 있습니다.

**중요**  
다음 정책은 하나의 예일 뿐이며 버킷의 콘텐츠에 대한 전체 액세스를 허용합니다. 이 단계를 진행하기 전에 [Amazon S3 버킷에 있는 파일을 보호하려면 어떻게 해야 하나요?](https://aws.amazon.com/premiumsupport/knowledge-center/secure-s3-resources/)를 검토하여 S3 버킷의 파일 보안을 위한 모범 사례 및 퍼블릭 액세스 권한 부여와 관련된 위험을 파악할 수 있습니다.

1. **버킷**에서 버킷의 이름을 선택합니다.

1. **Permissions**를 선택합니다.

1. **버킷 정책(Bucket Policy)**에서 **편집(Edit)**을 선택합니다.

1. 웹 사이트에 대한 퍼블릭 읽기 액세스 권한을 부여하려면 다음 버킷 정책을 복사한 후 **버킷 정책 편집기**에 붙여 넣습니다.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PublicReadGetObject",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::Bucket-Name/*"
               ]
           }
       ]
   }
   ```

1. `Resource`를 버킷 이름으로 업데이트합니다.

   앞의 버킷 정책 예제에서 *Bucket-Name*은 버킷 이름의 자리 표시자입니다. 자체 버킷에 이 버킷 정책을 사용하려면 자체 버킷 이름과 일치하도록 이 이름을 업데이트해야 합니다.

1. [**변경 사항 저장(Save changes)**]을 선택합니다.

   버킷 정책이 성공적으로 추가되었음을 나타내는 메시지가 나타납니다.

   `Policy has invalid resource`라는 오류가 표시되면 버킷 정책의 버킷 이름이 사용자의 버킷 이름과 일치하는지 확인합니다. 버킷 정책 추가에 대한 자세한 내용은 [S3 버킷 정책을 추가하려면 어떻게 해야 하나요?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html)를 참조하십시오.

   오류 메시지가 나타나고 버킷 정책을 저장할 수 없는 경우 계정 및 버킷의 퍼블릭 액세스 차단 설정에서 버킷에 대한 퍼블릭 액세스를 허용하는지 확인합니다.

## 5단계: 인덱스 문서 구성
<a name="step5-upload-index-doc"></a>

버킷용 정적 웹 사이트 호스팅을 활성화할 때 인덱스 문서의 이름(예: **index.html**)을 입력합니다. 버킷용 정적 웹 사이트 호스팅을 사용 설정한 후 인덱스 문서 이름이 있는 HTML 파일을 버킷에 업로드합니다.

**인덱스 문서 구성**

1. `index.html` 파일을 생성합니다.

   `index.html` 파일이 없으면 다음 HTML을 사용하여 파일을 생성할 수 있습니다.

   ```
   <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
       <title>My Website Home Page</title>
   </head>
   <body>
     <h1>Welcome to my website</h1>
     <p>Now hosted on Amazon S3!</p>
   </body>
   </html>
   ```

1. 인덱스 파일을 로컬에 저장합니다.

   인덱스 문서 파일 이름은 **정적 웹 사이트 호스팅** 대화 상자에 입력한 인덱스 문서 이름과 정확히 일치해야 합니다. 인덱스 문서 이름은 대/소문자를 구분합니다. 예를 들어 **정적 웹 사이트 호스팅** 대화 상자에서 **인덱스 문서** 이름에 `index.html`을 입력하는 경우, 인덱스 문서 파일은 `index.html`이 아니라 `Index.html`이어야 합니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **범용 버킷**을 선택합니다.

1. 버킷 목록에서 정적 웹 사이트를 호스팅하는 데 사용할 버킷의 이름을 선택합니다.

1. 버킷에 정적 웹 사이트 호스팅을 사용 설정하고 인덱스 문서의 정확한 이름(예: `index.html`)을 입력합니다. 자세한 내용은 [웹 사이트 호스팅 사용 설정](EnableWebsiteHosting.md) 섹션을 참조하세요.

   정적 웹 사이트 호스팅을 사용 설정한 후 6단계로 이동합니다.

1. 버킷에 인덱스 문서를 업로드하려면 다음 중 하나를 수행합니다.
   + 인덱스 파일을 콘솔 버킷 목록으로 끌어다 놓습니다.
   + **업로드**를 선택하고 프롬프트의 메시지에 따라 인덱스 파일을 선택하고 업로드합니다.

   단계별 지침은 [객체 업로드](upload-objects.md) 섹션을 참조하세요.

1. (선택 사항) 버킷에 다른 웹 사이트 콘텐츠를 업로드합니다.

## 6단계: 오류 문서 구성
<a name="step6-upload-error-doc"></a>

버킷용 정적 웹 사이트 호스팅을 활성화할 때 오류 문서의 이름(예: **404.html**)을 입력합니다. 버킷용 정적 웹 사이트 호스팅을 사용 설정한 후 오류 문서 이름이 있는 HTML 파일을 버킷에 업로드합니다.

**오류 문서 구성**

1. 오류 문서를 생성합니다(예: `404.html`).

1. 오류 문서 파일을 로컬에 저장합니다.

   오류 문서 이름은 대/소문자를 구분하며 정적 웹 사이트 호스팅을 사용하도록 설정할 때 입력한 이름과 정확히 일치해야 합니다. 예를 들어 **정적 웹 사이트 호스팅** 대화 상자에서 **오류 문서** 이름에 `404.html`을 입력하는 경우, 오류 문서 파일은 `404.html`이어야 합니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **범용 버킷**을 선택합니다.

1. 버킷 목록에서 정적 웹 사이트를 호스팅하는 데 사용할 버킷의 이름을 선택합니다.

1. 버킷에 정적 웹 사이트 호스팅을 사용 설정하고 오류 문서의 정확한 이름(예: `404.html`)을 입력합니다. 자세한 내용은 [웹 사이트 호스팅 사용 설정](EnableWebsiteHosting.md) 및 [사용자 지정 오류 문서 구성](CustomErrorDocSupport.md)(을)를 참조하세요.

   정적 웹 사이트 호스팅을 사용 설정한 후 6단계로 이동합니다.

1. 버킷에 오류 문서를 업로드하려면 다음 중 하나를 수행합니다.
   + 오류 문서 파일을 콘솔 버킷 목록으로 끌어다 놓습니다.
   + **업로드**를 선택하고 프롬프트의 메시지에 따라 인덱스 파일을 선택하고 업로드합니다.

   단계별 지침은 [객체 업로드](upload-objects.md) 섹션을 참조하세요.

## 7단계: 웹 사이트 엔드포인트 테스트
<a name="step7-test-web-site"></a>

버킷에 대한 정적 웹 사이트 호스팅을 구성한 후 웹 사이트 엔드포인트를 테스트할 수 있습니다.

**참고**  
Amazon S3에서는 웹 사이트에 대한 HTTPS 액세스를 지원하지 않습니다. HTTPS를 사용하려는 경우 Amazon CloudFront를 사용하여 Amazon S3에서 호스팅되는 정적 웹 사이트를 제공할 수 있습니다.  
자세한 내용은 [CloudFront를 사용하여 Amazon S3에 호스팅된 정적 웹 사이트를 제공하려면 어떻게 해야 하나요?](https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/) 및 [최종 사용자와 CloudFront 간의 통신에 HTTPS 요구](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)를 참조하십시오.

1. **버킷**에서 버킷의 이름을 선택합니다.

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

1. 페이지 하단의 **정적 웹 사이트 호스팅(Static website hosting)**에서 **버킷 웹 사이트 엔드포인트(Bucket website endpoint)**를 선택합니다.

   인덱스 문서가 별도의 브라우저 창에서 열립니다.

이제 Amazon S3에 웹 사이트가 호스팅되었습니다. 이 웹 사이트는 Amazon S3 웹 사이트 엔드포인트를 통해 제공됩니다. 하지만, 사용자가 만든 웹 사이트의 콘텐츠를 표시하기 위해 `example.com`과 같은 도메인을 사용하고자 할 수도 있습니다. 또한 Amazon S3의 루트 도메인 지원을 통해 `http://www.example.com` 및 `http://example.com` 모두에 대한 요청을 처리하고자 할 수도 있습니다. 이 경우 다음 단계를 따라야 합니다. 관련 예제는 [자습서: Route 53에 등록된 사용자 지정 도메인을 사용하여 정적 웹 사이트 구성](website-hosting-custom-domain-walkthrough.md) 섹션을 참조하세요 

## 8단계: 정리
<a name="getting-started-cleanup-s3-website-overview"></a>

실습용으로만 정적 웹 사이트를 생성한 경우에는 요금이 발생하지 않도록 할당한 AWS 리소스를 삭제합니다. AWS 리소스를 삭제한 후에는 웹 사이트를 사용할 수 없습니다. 자세한 내용은 [범용 버킷 삭제](delete-bucket.md) 섹션을 참조하세요.

# 자습서: Route 53에 등록된 사용자 지정 도메인을 사용하여 정적 웹 사이트 구성
<a name="website-hosting-custom-domain-walkthrough"></a>

Amazon S3에서 정적 웹 사이트를 호스팅하는 경우를 가정합니다. 예를 들어 `example.com`과 같은 도메인을 Amazon Route 53에 등록하고 Amazon S3 콘텐츠에서 `http://www.example.com` 및 `http://example.com`에 대한 요청을 수행하게 합니다. 이 연습을 사용하여 정적 웹 사이트를 호스팅하고 사용자 지정 도메인 이름이 Route 53에 등록된 웹 사이트에 대한 리디렉션을 Amazon S3에 만드는 방법을 학습할 수 있습니다. Amazon S3에서 호스팅할 기존 웹 사이트로 작업하거나 이 연습을 사용하여 처음부터 시작할 수 있습니다.

이 연습을 완료한 후에는 필요에 따라 Amazon CloudFront를 사용하여 웹 사이트의 성능을 향상시킬 수 있습니다. 자세한 내용은 [Amazon CloudFront로 웹사이트 속도 향상](website-hosting-cloudfront-walkthrough.md) 섹션을 참조하세요.

**참고**  
Amazon S3 웹 사이트 엔드포인트는 HTTPS 또는 액세스 포인트를 지원하지 않습니다. HTTPS를 사용하려는 경우 Amazon CloudFront를 사용하여 Amazon S3에서 호스팅되는 정적 웹 사이트를 제공할 수 있습니다.  
CloudFront 및 Amazon S3를 사용하여 콘텐츠를 안전하게 호스팅하는 방법에 대한 자세한 내용은 [자습서: Amazon S3, Amazon CloudFront 및 Amazon Route 53로 온디맨드 스트리밍 비디오 호스팅](tutorial-s3-cloudfront-route53-video-streaming.md) 섹션을 참조하세요. 자세한 내용은 [CloudFront를 사용하여 Amazon S3에 호스팅된 정적 웹 사이트를 제공하려면 어떻게 해야 하나요?](https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/) 및 [최종 사용자와 CloudFront 간의 통신에 HTTPS 요구](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)를 참조하세요.

**CloudFormation 템플릿으로 정적 웹 사이트 설정 자동화**  
CloudFormation 템플릿을 사용하여 정적 웹 사이트 설정을 자동화할 수 있습니다. CloudFormation 템플릿은 안전한 정적 웹 사이트를 호스팅하는 데 필요한 구성 요소를 설정하므로 구성 요소의 구성에 대한 비중은 낮추고 웹 사이트의 콘텐츠에 더 중점을 둘 수 있습니다.

CloudFormation 템플릿에는 다음 구성 요소가 포함됩니다.
+ Amazon S3 ‐ 정적 웹 사이트를 호스팅할 Amazon S3 버킷을 생성합니다.
+ CloudFront - 정적 웹 사이트의 속도를 높이기 위해 CloudFront 배포를 생성합니다.
+ Lambda@Edge - [Lambda@Edge](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-at-the-edge.html)를 사용하여 모든 서버 응답에 보안 헤더를 추가합니다. 보안 헤더는 웹 서버 응답에서 웹 브라우저에 추가 보안 예방 조치를 취하도록 알려주는 헤더 그룹입니다. 자세한 내용은 [Lambda@Edge 및 Amazon CloudFront를 사용하여 HTTP 보안 헤더 추가](https://aws.amazon.com/blogs/networking-and-content-delivery/adding-http-security-headers-using-lambdaedge-and-amazon-cloudfront/) 블로그 게시물을 참조하십시오.

이 CloudFormation 템플릿은 다운로드하여 사용할 수 있습니다. 자세한 내용과 지침은 *Amazon CloudFront 개발자 안내서*의 [안전한 정적 웹 사이트 시작하기](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html)를 참조하십시오.

**Topics**
+ [시작하기 전에](#root-domain-walkthrough-before-you-begin)
+ [1단계: Route 53에 사용자 지정 도메인 등록](#website-hosting-custom-domain-walkthrough-domain-registry)
+ [2단계: 두 개의 버킷 생성](#root-domain-walkthrough-create-buckets)
+ [3단계: 웹 사이트 호스팅용 루트 도메인 버킷 구성](#root-domain-walkthrough-configure-bucket-aswebsite)
+ [4단계: 웹 사이트 리디렉션용 하위 도메인 버킷 구성](#root-domain-walkthrough-configure-redirect)
+ [5단계: 웹 사이트 트래픽용 로깅 구성](#root-domain-walkthrough-configure-logging)
+ [6단계: 인덱스 및 웹 사이트 콘텐츠 업로드](#upload-website-content)
+ [7단계: 오류 문서 업로드](#configure-error-document-root-domain)
+ [8단계: S3 퍼블릭 액세스 차단 설정 편집](#root-domain-walkthrough-configure-bucket-permissions)
+ [9단계: 버킷 정책 연결](#add-bucket-policy-root-domain)
+ [10단계: 도메인 엔드포인트 테스트](#root-domain-walkthrough-test-website)
+ [11단계: 도메인 및 하위 도메인에 대한 별칭 레코드 추가](#root-domain-walkthrough-add-record-to-hostedzone)
+ [12단계: 웹 사이트 테스트](#root-domain-testing)
+ [Amazon CloudFront로 웹사이트 속도 향상](website-hosting-cloudfront-walkthrough.md)
+ [예제 리소스 정리](getting-started-cleanup.md)

## 시작하기 전에
<a name="root-domain-walkthrough-before-you-begin"></a>

이 예제의 단계에 따르려면 다음과 같이 작업을 합니다.

**Amazon Route 53** – Route 53을 사용하여 도메인을 등록하고 도메인의 인터넷 트래픽을 라우팅할 위치를 정의합니다. 이 예제는 도메인(`example.com`) 및 하위 도메인(`www.example.com`)의 트래픽을 HTML 파일이 포함된 Amazon S3 버킷으로 라우팅하는 Route 53 별칭 레코드의 생성 방법을 보여줍니다.

**Amazon S3** – Amazon S3을 사용하여 버킷을 생성하고 샘플 웹 사이트 페이지를 업로드해 모든 사용자가 콘텐츠를 볼 수 있도록 권한을 구성한 뒤, 웹 사이트 호스팅용 버킷을 구성합니다.

## 1단계: Route 53에 사용자 지정 도메인 등록
<a name="website-hosting-custom-domain-walkthrough-domain-registry"></a>

등록된 도메인 이름(예: `example.com`)이 아직 없으면 Route 53에 등록합니다. 자세한 내용은 *Amazon Route 53 개발자 안내서*의 [새 도메인 등록](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)을 참조하십시오. 도메인 이름을 등록한 후 웹 사이트 호스팅용 Amazon S3 버킷을 생성하고 구성할 수 있습니다.

## 2단계: 두 개의 버킷 생성
<a name="root-domain-walkthrough-create-buckets"></a>

루트 도메인 및 하위 도메인의 요청을 모두 지원하려면 두 개의 버킷을 생성합니다.
+ **도메인 버킷** - `example.com`
+ **하위 도메인 버킷** - `www.example.com` 

이러한 버킷 이름은 도메인 이름과 정확히 일치해야 합니다. 이 예제에서 도메인 이름은 `example.com`입니다. 루트 도메인 버킷(`example.com`)에서 콘텐츠를 호스팅합니다. 하위 도메인 버킷(`www.example.com`)에 대한 리디렉션 요청을 만듭니다. 누군가가 브라우저에 `www.example.com`을 입력하면 `example.com`으로 리디렉션되고 해당 이름을 가진 Amazon S3 버킷에서 호스팅되는 콘텐츠가 표시됩니다.

**웹 사이트 호스팅용 버킷 생성**

아래 지침에서는 웹 사이트 호스팅용 버킷을 생성하는 방법에 대한 개요를 제공합니다. 버킷 생성에 대한 자세한 단계별 지침은 [범용 버킷 생성](create-bucket-overview.md) 섹션을 참조하십시오.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔을 엽니다.

1. 루트 도메인 버킷을 생성합니다.

   1. 페이지 상단의 탐색 모음에서 현재 표시된 AWS 리전의 이름을 선택합니다. 그런 다음 버킷을 생성하려는 리전을 선택합니다.
**참고**  
지연 시간과 요금을 최소화하고 규제 요건을 충족하려면 가장 가까운 리전을 선택하십시오. 특정 리전에 저장된 객체는 사용자가 명시적으로 객체를 다른 리전으로 전송하지 않는 한 해당 리전을 벗어나지 않습니다. Amazon S3 AWS 리전 목록은 **Amazon Web Services 일반 참조의 [AWS 서비스 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)를 참조하십시오.

   1. 왼쪽 탐색 창에서 **범용 버킷**을 선택합니다.

   1. **버킷 만들기**를 선택합니다. **버킷 만들기** 페이지가 열립니다.

   1. **버킷 이름**(예: **example.com**)을 입력합니다.

   1. 버킷을 생성하려는 리전을 선택합니다.

      지리적으로 가까운 리전을 선택하면 지연 시간과 요금을 최소화하고, 규제 요건을 해결할 수 있습니다. 선택한 리전에 따라 Amazon S3 웹 사이트 엔드포인트가 결정됩니다. 자세한 내용은 [웹 사이트 엔드포인트](WebsiteEndpoints.md) 섹션을 참조하세요.

   1. 기본 설정을 적용하고 버킷을 생성하려면 [**Create**]를 선택합니다.

1. 하위 도메인 버킷을 생성합니다.

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

   1. **버킷 이름**(예: **www.example.com**)을 입력합니다.

   1. 버킷을 생성하려는 리전을 선택합니다.

      지리적으로 가까운 리전을 선택하면 지연 시간과 요금을 최소화하고, 규제 요건을 해결할 수 있습니다. 선택한 리전에 따라 Amazon S3 웹 사이트 엔드포인트가 결정됩니다. 자세한 내용은 [웹 사이트 엔드포인트](WebsiteEndpoints.md) 섹션을 참조하세요.

   1. 기본 설정을 적용하고 버킷을 생성하려면 [**Create**]를 선택합니다.

다음 단계에서는 웹 사이트 호스팅을 위한 `example.com`을 구성합니다.

## 3단계: 웹 사이트 호스팅용 루트 도메인 버킷 구성
<a name="root-domain-walkthrough-configure-bucket-aswebsite"></a>

이 단계에서는 루트 도메인 버킷(`example.com`)을 웹 사이트로 구성합니다. 이 버킷은 사용자의 웹 사이트 콘텐츠를 포함합니다. 웹 사이트 호스팅용 버킷을 구성할 때 [웹 사이트 엔드포인트](WebsiteEndpoints.md)를 사용하여 웹 사이트에 액세스할 수 있습니다.

**정적 웹 사이트 호스팅 사용 설정**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **범용 버킷**을 선택합니다.

1. 버킷 목록에서 정적 웹 사이트 호스팅을 사용 설정하려는 버킷의 이름을 선택합니다.

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

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

1. **이 버킷을 사용하여 웹 사이트를 호스팅합니다.**를 선택합니다.

1. **정적 웹 사이트 호스팅**에서 **사용**을 선택합니다.

1. **인덱스 문서(Index document)**에 인덱스 문서 이름을 입력합니다(일반적으로 `index.html`).

   인덱스 문서 이름은 대소문자를 구분하며 S3 버킷에 업로드하려는 HTML 인덱스 문서의 파일 이름과 정확히 일치해야 합니다. 웹 사이트 호스팅용 버킷을 구성하는 경우 인덱스 문서를 지정해야 합니다. 루트 도메인이나 임의의 하위 폴더로 요청이 전송되면 Amazon S3가 이 인덱스 문서를 반환합니다. 자세한 내용은 [인덱스 문서 구성](IndexDocumentSupport.md) 섹션을 참조하세요.

1. 4XX 클래스 오류에 대한 사용자 지정 오류 문서를 제공하려면 [**오류 문서(Error document)**]에 사용자 지정 오류 문서 파일 이름을 입력합니다.

   오류 문서 이름은 대소문자를 구분하며 S3 버킷에 업로드하려는 HTML 오류 문서의 파일 이름과 정확히 일치해야 합니다. 사용자 지정 오류 문서를 지정하지 않았는데 오류가 발생하면 Amazon S3에서 기본 HTML 오류 문서를 반환합니다. 자세한 내용은 [사용자 지정 오류 문서 구성](CustomErrorDocSupport.md) 섹션을 참조하세요.

1. (선택 사항) 고급 리디렉션 규칙을 지정하려면 **리디렉션 규칙(Redirection rules)**에 JSON을 입력하여 규칙을 설명합니다.

   예를 들어, 요청의 특정 객체 키 이름 또는 접두사에 따라 조건부로 요청을 라우팅할 수 있습니다. 자세한 내용은 [고급 조건부 리디렉션을 사용하도록 리디렉션 규칙 구성](how-to-page-redirect.md#advanced-conditional-redirects) 섹션을 참조하세요.

1. [**변경 사항 저장(Save changes)**]을 선택합니다.

   Amazon S3는 버킷에 대한 정적 웹 사이트 호스팅을 지원합니다. 페이지 하단의 **정적 웹 사이트 호스팅(Static website hosting)**에 버킷의 웹 사이트 엔드포인트가 표시됩니다.

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

   **엔드포인트**는 버킷의 Amazon S3 웹 사이트 엔드포인트입니다. 버킷을 정적 웹 사이트로 구성한 후 이 엔드포인트를 사용하여 웹 사이트를 테스트할 수 있습니다.

[퍼블릭 액세스 차단 설정을 편집](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html#root-domain-walkthrough-configure-bucket-permissions)하고 퍼블릭 읽기 액세스를 허용하는 [버킷 정책을 추가](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html#add-bucket-policy-root-domain)한 후 웹 사이트 엔드포인트를 사용하여 웹 사이트에 액세스할 수 있습니다.

다음 단계에서는 하위 도메인(`www.example.com`)을 구성하여 요청을 도메인(`example.com`)으로 리디렉션합니다.

## 4단계: 웹 사이트 리디렉션용 하위 도메인 버킷 구성
<a name="root-domain-walkthrough-configure-redirect"></a>

웹 사이트 호스팅용 루트 도메인 버킷을 구성하면 도메인에 대한 모든 요청을 리디렉션하도록 하위 도메인 버킷을 구성할 수 있습니다. 이 예제에서 `www.example.com`에 대한 모든 요청은 `example.com`으로 리디렉션됩니다.

**리디렉션 요청 구성**

1. Amazon S3 콘솔의 **범용 버킷** 목록에서 하위 도메인 버킷 이름(이 예시에서는 `www.example.com`)을 선택합니다.

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

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

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

1. **대상 버킷(Target bucket)** 상자에 루트 도메인(예: **example.com**)을 입력합니다.

1. **프로토콜(Protocol)**에서 **http**를 선택합니다.

1. [**변경 사항 저장(Save changes)**]을 선택합니다.

## 5단계: 웹 사이트 트래픽용 로깅 구성
<a name="root-domain-walkthrough-configure-logging"></a>

웹 사이트에 접속하는 방문자들의 수를 추적하려는 경우 필요에 따라 루트 도메인 버킷에 대한 로깅을 사용 설정할 수 있습니다. 자세한 내용은 [서버 액세스 로깅을 사용한 요청 로깅](ServerLogs.md) 섹션을 참조하세요. Amazon CloudFront를 사용하여 웹 사이트 속도를 높이려는 경우 CloudFront 로깅을 사용할 수도 있습니다.

**루트 도메인 버킷에 대한 서버 액세스 로깅 사용 설정**

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

1. 정적 웹 사이트로 구성된 버킷을 생성한 리전에서 로깅용 버킷을 생성합니다(예: `logs.example.com`).

1. 서버 액세스 로깅 로그 파일에 대한 폴더를 생성합니다(예: `logs`).

1. (선택 사항) CloudFront를 사용하여 웹 사이트 성능을 개선하려면 CloudFront 로그 파일에 대한 폴더(예: `cdn`)를 생성합니다.
**중요**  
배포를 생성 또는 업데이트하고 CloudFront 로깅을 사용 설정하면 CloudFront는 버킷 액세스 제어 목록(ACL)을 업데이트하여 버킷에 로그를 쓸 수 있는 `FULL_CONTROL` 권한을 `awslogsdelivery` 계정에 부여합니다. 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [표준 로깅 구성 및 로그 파일 액세스에 필요한 권한](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership)을 참조하세요. 로그를 저장하는 버킷이 S3 객체 소유권에 대해 버킷 소유자 적용 설정을 사용하여 ACL을 비활성화하면 CloudFront에서 버킷에 로그를 쓸 수 없습니다. 자세한 내용은 [객체 소유권 제어 및 버킷에 대해 ACL 사용 중지](about-object-ownership.md) 섹션을 참조하세요.

1. **버킷(Buckets)** 목록에서 루트 도메인 버킷을 선택합니다.

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

1. **서버 액세스 로깅(Server access logging)**에서 **편집(Edit)**을 선택합니다.

1. **사용**을 선택합니다.

1. **대상 버킷(Target bucket)**에서 서버 액세스 로그의 버킷과 폴더 대상을 선택합니다.
   + 폴더 및 버킷 위치를 찾습니다.

     1. **S3 찾아보기(Browse S3)**를 선택합니다.

     1. 버킷 이름을 선택한 다음 로그 폴더를 선택합니다.

     1. **경로 선택(Choose path)**을 선택합니다.
   + S3 버킷 경로(예: `s3://logs.example.com/logs/`)를 입력합니다.

1. [**변경 사항 저장(Save changes)**]을 선택합니다.

   이제 로그 버킷에서 로그에 액세스할 수 있습니다. Amazon S3은 2시간마다 웹 사이트 액세스 로그를 로그 버킷에 기록합니다.

## 6단계: 인덱스 및 웹 사이트 콘텐츠 업로드
<a name="upload-website-content"></a>

이 단계에서 인덱스 문서와 선택적 웹 사이트 콘텐츠를 루트 도메인 버킷에 업로드합니다.

버킷용 정적 웹 사이트 호스팅을 사용 설정할 때 인덱스 문서의 이름(예: **index.html**)을 입력합니다. 버킷용 정적 웹 사이트 호스팅을 사용 설정한 후 인덱스 문서 이름이 있는 HTML 파일을 버킷에 업로드합니다.

**인덱스 문서 구성**

1. `index.html` 파일을 생성합니다.

   `index.html` 파일이 없으면 다음 HTML을 사용하여 파일을 생성할 수 있습니다.

   ```
   <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
       <title>My Website Home Page</title>
   </head>
   <body>
     <h1>Welcome to my website</h1>
     <p>Now hosted on Amazon S3!</p>
   </body>
   </html>
   ```

1. 인덱스 파일을 로컬에 저장합니다.

   인덱스 문서 파일 이름은 **정적 웹 사이트 호스팅** 대화 상자에 입력한 인덱스 문서 이름과 정확히 일치해야 합니다. 인덱스 문서 이름은 대/소문자를 구분합니다. 예를 들어 **정적 웹 사이트 호스팅** 대화 상자에서 **인덱스 문서** 이름에 `index.html`을 입력하는 경우, 인덱스 문서 파일은 `index.html`이 아니라 `Index.html`이어야 합니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **범용 버킷**을 선택합니다.

1. 버킷 목록에서 정적 웹 사이트를 호스팅하는 데 사용할 버킷의 이름을 선택합니다.

1. 버킷에 정적 웹 사이트 호스팅을 사용 설정하고 인덱스 문서의 정확한 이름(예: `index.html`)을 입력합니다. 자세한 내용은 [웹 사이트 호스팅 사용 설정](EnableWebsiteHosting.md) 섹션을 참조하세요.

   정적 웹 사이트 호스팅을 사용 설정한 후 6단계로 이동합니다.

1. 버킷에 인덱스 문서를 업로드하려면 다음 중 하나를 수행합니다.
   + 인덱스 파일을 콘솔 버킷 목록으로 끌어다 놓습니다.
   + **업로드**를 선택하고 프롬프트의 메시지에 따라 인덱스 파일을 선택하고 업로드합니다.

   단계별 지침은 [객체 업로드](upload-objects.md) 섹션을 참조하세요.

1. (선택 사항) 버킷에 다른 웹 사이트 콘텐츠를 업로드합니다.

## 7단계: 오류 문서 업로드
<a name="configure-error-document-root-domain"></a>

버킷용 정적 웹 사이트 호스팅을 사용 설정할 때 오류 문서의 이름(예: **404.html**)을 입력합니다. 버킷용 정적 웹 사이트 호스팅을 사용 설정한 후 오류 문서 이름이 있는 HTML 파일을 버킷에 업로드합니다.

**오류 문서 구성**

1. 오류 문서를 생성합니다(예: `404.html`).

1. 오류 문서 파일을 로컬에 저장합니다.

   오류 문서 이름은 대/소문자를 구분하며 정적 웹 사이트 호스팅을 사용하도록 설정할 때 입력한 이름과 정확히 일치해야 합니다. 예를 들어 **정적 웹 사이트 호스팅** 대화 상자에서 **오류 문서** 이름에 `404.html`을 입력하는 경우, 오류 문서 파일은 `404.html`이어야 합니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **범용 버킷**을 선택합니다.

1. 버킷 목록에서 정적 웹 사이트를 호스팅하는 데 사용할 버킷의 이름을 선택합니다.

1. 버킷에 정적 웹 사이트 호스팅을 사용 설정하고 오류 문서의 정확한 이름(예: `404.html`)을 입력합니다. 자세한 내용은 [웹 사이트 호스팅 사용 설정](EnableWebsiteHosting.md) 및 [사용자 지정 오류 문서 구성](CustomErrorDocSupport.md)(을)를 참조하세요.

   정적 웹 사이트 호스팅을 사용 설정한 후 6단계로 이동합니다.

1. 버킷에 오류 문서를 업로드하려면 다음 중 하나를 수행합니다.
   + 오류 문서 파일을 콘솔 버킷 목록으로 끌어다 놓습니다.
   + **업로드**를 선택하고 프롬프트의 메시지에 따라 인덱스 파일을 선택하고 업로드합니다.

   단계별 지침은 [객체 업로드](upload-objects.md) 섹션을 참조하세요.

## 8단계: S3 퍼블릭 액세스 차단 설정 편집
<a name="root-domain-walkthrough-configure-bucket-permissions"></a>

이 예제에서는 퍼블릭 액세스를 허용하도록 도메인 버킷(`example.com`)에 대한 퍼블릭 액세스 차단 설정을 편집합니다.

기본적으로 Amazon S3은 계정 및 버킷에 대한 퍼블릭 액세스를 차단합니다. 버킷을 사용하여 정적 웹 사이트를 호스팅하려는 경우 이러한 단계를 사용하여 퍼블릭 액세스 차단 설정을 편집할 수 있습니다.

**주의**  
이러한 단계를 완료하기 전에 [Amazon S3 스토리지에 대한 퍼블릭 액세스 차단](access-control-block-public-access.md)을 검토하여 퍼블릭 액세스 허용과 관련된 위험을 이해하고 이에 동의하는지 확인합니다. 퍼블릭 액세스 차단 설정을 해제하여 버킷을 퍼블릭으로 만들면 인터넷상의 모든 사용자가 버킷에 액세스할 수 있습니다. 버킷에 대한 모든 퍼블릭 액세스를 차단하는 것이 좋습니다.

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

1. 정적 웹 사이트로 구성한 버킷의 이름을 선택합니다.

1. **Permissions**를 선택합니다.

1. **퍼블릭 액세스 차단(버킷 설정)(Block public access (bucket settings))**에서 **편집(Edit)**을 선택합니다.

1. ***모든* 퍼블릭 액세스 차단(Block all public access)**을 선택 취소하고 **변경 사항 저장(Save changes)**을 선택합니다.  
![\[퍼블릭 액세스 차단 버킷 설정을 보여주는 Amazon S3 콘솔.\]](http://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/images/edit-public-access-clear.png)

   Amazon S3은 버킷에 대한 퍼블릭 액세스 차단 설정을 끕니다. 정적 퍼블릭 웹 사이트를 생성하려면 버킷 정책을 추가하기 전에 계정에 대한 [퍼블릭 액세스 차단 설정을 편집](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/block-public-access-account.html)해야 할 수도 있습니다. 계정에 대한 퍼블릭 액세스 차단 설정이 현재 켜져 있는 경우 **퍼블릭 액세스 차단(버킷 설정)** 아래에 메모가 표시됩니다.

## 9단계: 버킷 정책 연결
<a name="add-bucket-policy-root-domain"></a>

이 예제에서는 버킷 정책을 도메인 버킷(`example.com`)에 연결하여 퍼블릭 읽기 액세스를 허용합니다. 버킷 정책의 *Bucket-Name*을 도메인 버킷의 이름으로 바꿉니다(예: `example.com`).

S3 퍼블릭 액세스 차단 설정을 편집한 후에는 버킷 정책을 추가하여 버킷에 퍼블릭 읽기 액세스 권한을 부여할 수 있습니다. 퍼블릭 읽기 액세스 권한을 부여하면 인터넷의 모든 사용자가 버킷에 액세스할 수 있습니다.

**중요**  
다음 정책은 하나의 예일 뿐이며 버킷의 콘텐츠에 대한 전체 액세스를 허용합니다. 이 단계를 진행하기 전에 [Amazon S3 버킷에 있는 파일을 보호하려면 어떻게 해야 하나요?](https://aws.amazon.com/premiumsupport/knowledge-center/secure-s3-resources/)를 검토하여 S3 버킷의 파일 보안을 위한 모범 사례 및 퍼블릭 액세스 권한 부여와 관련된 위험을 파악할 수 있습니다.

1. **버킷**에서 버킷의 이름을 선택합니다.

1. **Permissions**를 선택합니다.

1. **버킷 정책(Bucket Policy)**에서 **편집(Edit)**을 선택합니다.

1. 웹 사이트에 대한 퍼블릭 읽기 액세스 권한을 부여하려면 다음 버킷 정책을 복사한 후 **버킷 정책 편집기**에 붙여 넣습니다.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PublicReadGetObject",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::Bucket-Name/*"
               ]
           }
       ]
   }
   ```

1. `Resource`를 버킷 이름으로 업데이트합니다.

   앞의 버킷 정책 예제에서 *Bucket-Name*은 버킷 이름의 자리 표시자입니다. 자체 버킷에 이 버킷 정책을 사용하려면 자체 버킷 이름과 일치하도록 이 이름을 업데이트해야 합니다.

1. [**변경 사항 저장(Save changes)**]을 선택합니다.

   버킷 정책이 성공적으로 추가되었음을 나타내는 메시지가 나타납니다.

   `Policy has invalid resource`라는 오류가 표시되면 버킷 정책의 버킷 이름이 사용자의 버킷 이름과 일치하는지 확인합니다. 버킷 정책 추가에 대한 자세한 내용은 [S3 버킷 정책을 추가하려면 어떻게 해야 하나요?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html)를 참조하십시오.

   오류 메시지가 나타나고 버킷 정책을 저장할 수 없는 경우 계정 및 버킷의 퍼블릭 액세스 차단 설정에서 버킷에 대한 퍼블릭 액세스를 허용하는지 확인합니다.

다음 단계에서는 웹 사이트 엔드포인트를 파악하고 도메인 엔드포인트를 테스트할 수 있습니다.

## 10단계: 도메인 엔드포인트 테스트
<a name="root-domain-walkthrough-test-website"></a>

퍼블릭 웹 사이트를 호스팅하도록 도메인 버킷을 구성한 후 엔드포인트를 테스트할 수 있습니다. 자세한 내용은 [웹 사이트 엔드포인트](WebsiteEndpoints.md) 섹션을 참조하세요. 하위 도메인 버킷은 정적 웹 사이트 호스팅이 아닌 웹 사이트 리디렉션에 대해 설정되어 있으므로 도메인 버킷의 엔드포인트만 테스트할 수 있습니다.

**참고**  
Amazon S3에서는 웹 사이트에 대한 HTTPS 액세스를 지원하지 않습니다. HTTPS를 사용하려는 경우 Amazon CloudFront를 사용하여 Amazon S3에서 호스팅되는 정적 웹 사이트를 제공할 수 있습니다.  
자세한 내용은 [CloudFront를 사용하여 Amazon S3에 호스팅된 정적 웹 사이트를 제공하려면 어떻게 해야 하나요?](https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/) 및 [최종 사용자와 CloudFront 간의 통신에 HTTPS 요구](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)를 참조하십시오.

1. **버킷**에서 버킷의 이름을 선택합니다.

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

1. 페이지 하단의 **정적 웹 사이트 호스팅(Static website hosting)**에서 **버킷 웹 사이트 엔드포인트(Bucket website endpoint)**를 선택합니다.

   인덱스 문서가 별도의 브라우저 창에서 열립니다.

다음 단계에서는 Amazon Route 53을 이용해 고객이 사용자 지정 URL을 모두 사용하여 해당 사이트를 탐색할 수 있도록 합니다.

## 11단계: 도메인 및 하위 도메인에 대한 별칭 레코드 추가
<a name="root-domain-walkthrough-add-record-to-hostedzone"></a>

이 단계에서 도메인 맵 `example.com` 및 `www.example.com`에 따른 호스팅 영역에 추가하는 별칭 레코드를 생성합니다. 별칭 레코드는 IP 주소 대신 Amazon S3 웹 사이트 엔드포인트를 사용합니다. Amazon Route 53은 별칭 레코드와 Amazon S3 버킷이 존재하는 IP 주소 간 매핑을 유지합니다. 별칭 레코드를 두 개(루트 도메인용 및 하위 도메인용) 만듭니다.

### 루트 도메인 및 하위 도메인에 대한 별칭 레코드 추가
<a name="add-alis-record"></a>

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

1. [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)에서 Route 53 콘솔을 엽니다.
**참고**  
Route 53을 아직 사용하지 않은 경우 *Amazon Route 53 개발자 안내서*의 [1단계: 도메인 등록](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html#getting-started-find-domain-name)을 참조하십시오. 설정을 완료했으면 지시 사항을 다시 시작할 수 있습니다.

1. **Hosted Zones(호스팅 영역)**를 선택합니다.

1. 호스팅 영역의 목록에서 사용자의 도메인 이름과 일치하는 호스팅 영역의 이름을 선택합니다.

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

1. **마법사로 전환**을 선택합니다.
**참고**  
빠른 생성을 사용하여 별칭 레코드를 생성하려면 [트래픽을 S3 버킷으로 라우팅하도록 Route 53 구성](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/RoutingToS3Bucket.html#routing-to-s3-bucket-configuring)을 참조하십시오.

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

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

1. [**레코드 이름(Record name)**]에서 기본값(호스팅 영역과 도메인의 이름)을 그대로 사용합니다.

1. **값/트래픽 라우팅 대상**에서 **Alias to S3 website endpoint(S3 웹 사이트 엔드포인트에 대한 별칭)**를 선택합니다.

1. 리전을 선택합니다.

1. S3 버킷을 선택합니다.

   버킷 이름은 **이름** 상자에 나타나는 이름과 일치해야 합니다. **S3 버킷 선택** 목록에서 버킷 이름은 버킷이 생성된 리전의 Amazon S3 웹 사이트 엔드포인트와 함께 나타납니다(예: `s3-website-us-west-1.amazonaws.com (example.com)`).

   다음과 같은 경우 **S3 버킷 선택**이 버킷을 나열합니다.
   + 버킷을 정적 웹 사이트로 구성한 경우
   + 버킷 이름이 생성 중인 레코드의 이름과 동일한 경우
   + 현재 AWS 계정에서 버킷을 생성한 경우.

   버킷이 **S3 버킷 선택** 목록에 나타나지 않으면 버킷이 생성된 리전의 Amazon S3 웹 사이트 엔드포인트를 입력합니다(예: **s3-website-us-west-2.amazonaws.com**). Amazon S3 웹 사이트 엔드포인트의 전체 목록은 [Amazon S3 웹 사이트 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)를 참조하세요. 별칭 대상에 대한 자세한 내용은 *Amazon Route 53 개발자 안내서*의 [값/트래픽 라우팅 대상](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target)을 참조하세요.

1. **레코드 유형**에서 **A ‐ IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅**을 선택합니다.

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

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

**하위 도메인(`www.example.com`)에 별칭 레코드 추가**

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

1. 하위 도메인의 **레코드 이름**에 `www`를 입력합니다.

1. **값/트래픽 라우팅 대상**에서 **Alias to S3 website endpoint(S3 웹 사이트 엔드포인트에 대한 별칭)**를 선택합니다.

1. 리전을 선택합니다.

1. S3 버킷을 선택합니다(예: `s3-website-us-west-2.amazonaws.com (www.example.com)`).

   버킷이 **S3 버킷 선택** 목록에 나타나지 않으면 버킷이 생성된 리전의 Amazon S3 웹 사이트 엔드포인트를 입력합니다(예: **s3-website-us-west-2.amazonaws.com**). Amazon S3 웹 사이트 엔드포인트의 전체 목록은 [Amazon S3 웹 사이트 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)를 참조하세요. 별칭 대상에 대한 자세한 내용은 *Amazon Route 53 개발자 안내서*의 [값/트래픽 라우팅 대상](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target)을 참조하세요.

1. **레코드 유형**에서 **A ‐ IPv4 주소 및 일부 AWS 리소스로 트래픽 라우팅**을 선택합니다.

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

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

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

**참고**  
변경 사항은 일반적으로 60초 이내에 모든 Route 53 서버로 전파됩니다. 전파가 완료되면 이 절차에서 생성한 별칭 레코드의 이름을 사용하여 트래픽을 Amazon S3 버킷으로 라우팅할 수 있습니다.

### 루트 도메인 및 하위 도메인에 대한 별칭 레코드 추가(이전 Route 53 콘솔)
<a name="add-alis-record-old"></a>

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

Route 53 콘솔이 새롭게 디자인되었습니다. Route 53 콘솔에서 일시적으로 이전 콘솔을 사용할 수 있습니다. 이전 Route 53 콘솔로 작업하도록 선택한 경우 아래 절차를 따릅니다.

1. [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)에서 Route 53 콘솔을 엽니다.
**참고**  
Route 53을 아직 사용하지 않은 경우 *Amazon Route 53 개발자 안내서*의 [1단계: 도메인 등록](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html#getting-started-find-domain-name)을 참조하십시오. 설정을 완료했으면 지시 사항을 다시 시작할 수 있습니다.

1. **Hosted Zones(호스팅 영역)**를 선택합니다.

1. 호스팅 영역의 목록에서 사용자의 도메인 이름과 일치하는 호스팅 영역의 이름을 선택합니다.

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

1. 다음 값을 지정합니다.  
**이름**  
기본값(호스팅 영역과 도메인의 이름)을 그대로 사용합니다.  
루트 도메인의 경우 **이름** 필드에 추가 정보를 입력할 필요는 없습니다.  
**유형**  
**A - IPv4 주소(A – IPv4 address)**를 선택합니다.  
**별칭**  
**예**를 선택합니다.  
**별칭 대상**  
목록의 **S3 website endpoints(S3 웹 사이트 엔드포인트)** 섹션에서 버킷 이름을 선택합니다.  
버킷 이름은 **이름** 상자에 나타나는 이름과 일치해야 합니다. **별칭 대상(Alias Target)** 목록에서 버킷 이름 뒤에는 버킷이 생성된 리전의 Amazon S3 웹 사이트 엔드포인트가 옵니다(예: `example.com (s3-website-us-west-2.amazonaws.com)`). 다음과 같은 경우 **Alias Target(별칭 대상)**에 하나의 버킷이 나타납니다.  
   + 버킷을 정적 웹 사이트로 구성한 경우
   + 버킷 이름이 생성 중인 레코드의 이름과 동일한 경우
   + 현재 AWS 계정에서 버킷을 생성한 경우.
버킷이 [**별칭 대상(Alias Target)**] 목록에 나타나지 않으면 버킷이 생성된 리전의 Amazon S3 웹 사이트 엔드포인트를 입력합니다(예: `s3-website-us-west-2`). Amazon S3 웹 사이트 엔드포인트의 전체 목록은 [Amazon S3 웹 사이트 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)를 참조하십시오. 별칭 대상에 대한 자세한 내용은 *Amazon Route 53 개발자 안내서*의 [값/트래픽 라우팅 대상](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target)을 참조하십시오.  
**라우팅 정책**  
기본값인 [**Simple**]을 수락합니다.  
**대상 상태 평가**  
기본값인 [**No**]를 수락합니다.

1. **Create**를 선택합니다.

**하위 도메인(`www.example.com`)에 별칭 레코드 추가**

1. 루트 도메인(`example.com`)에 대한 호스팅 영역에서 **레코드 세트 생성**을 선택합니다.

1. 다음 값을 지정합니다.  
**이름**  
하위 도메인에 대해 `www`를 상자에 입력합니다.  
**유형**  
**A - IPv4 주소(A – IPv4 address)**를 선택합니다.  
**별칭**  
**예**를 선택합니다.  
**별칭 대상**  
목록의 **S3 웹 사이트 엔드포인트(S3 website endpoints)** 섹션에서 **이름(Name)** 필드에 표시되는 동일한 버킷 이름을 선택합니다(예: `www.example.com (s3-website-us-west-2.amazonaws.com)`).  
**라우팅 정책**  
기본값인 [**Simple**]을 수락합니다.  
**대상 상태 평가**  
기본값인 [**No**]를 수락합니다.

1. **Create**를 선택합니다.

**참고**  
변경 사항은 일반적으로 60초 이내에 모든 Route 53 서버로 전파됩니다. 전파가 완료되면 이 절차에서 생성한 별칭 레코드의 이름을 사용하여 트래픽을 Amazon S3 버킷으로 라우팅할 수 있습니다.

## 12단계: 웹 사이트 테스트
<a name="root-domain-testing"></a>

웹 사이트 및 리디렉션 작업이 올바르게 작동하는지 확인합니다. 브라우저에 해당 URL을 입력합니다. 이 예제에서는 다음 URL을 이용할 수 있습니다.
+ **도메인**(`http://example.com`) - `example.com` 버킷의 인덱스 문서를 표시합니다.
+ **하위 도메인**(`http://www.example.com`) - 요청을 `http://example.com`으로 리디렉션합니다. `example.com` 버킷의 인덱스 문서가 표시됩니다.

웹 사이트 또는 리디렉션 링크가 작동하지 않으면 다음 방법을 시도할 수 있습니다.
+ **캐시 지우기** - 웹 브라우저의 캐시를 지웁니다.
+ **이름 서버 확인** - 캐시를 지운 후에도 웹 페이지 및 리디렉션 링크가 작동하지 않으면 도메인의 이름 서버와 호스팅 영역의 이름 서버를 비교합니다. 이름 서버가 일치하지 않는 경우 호스팅 영역 아래에 나열된 이름과 일치하도록 도메인 이름 서버를 업데이트해야 할 수 있습니다. 자세한 내용은 [도메인의 글루 레코드 및 이름 서버 추가 또는 변경](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-name-servers-glue-records.html)을 참조하세요.

루트 도메인과 하위 도메인을 성공적으로 테스트한 후에는 [Amazon CloudFront](https://aws.amazon.com/cloudfront) 배포를 설정하여 웹 사이트의 성능을 개선하고 웹 사이트 트래픽을 검토하는 데 사용할 수 있는 로그를 제공할 수 있습니다. 자세한 내용은 [Amazon CloudFront로 웹사이트 속도 향상](website-hosting-cloudfront-walkthrough.md) 섹션을 참조하세요.

# Amazon CloudFront로 웹사이트 속도 향상
<a name="website-hosting-cloudfront-walkthrough"></a>

[Amazon CloudFront](https://aws.amazon.com/cloudfront)를 사용하여 Amazon S3 웹 사이트의 성능을 향상시킬 수 있습니다. CloudFront를 통해 웹 사이트 파일(HTML, 이미지, 동영상 등)을 *엣지 로케이션*이라고 하는 전 세계 각지의 데이터 센터에서 사용할 수 있습니다. 방문자가 웹 사이트에서 파일을 요청할 때 CloudFront는 가장 가까운 엣지 로케이션에 있는 파일 사본으로 요청을 자동 리디렉션합니다. 이렇게 하면 방문자가 더 멀리 있는 데이터 센터에서 콘텐츠를 요청한 경우보다 다운로드 시간이 빨라집니다.

CloudFront는 지정된 기간 동안 엣지 로케이션에 있는 콘텐츠를 캐시합니다. 방문자가 만료일보다 더 오래 캐시된 콘텐츠를 요청하는 경우에 CloudFront는 그 콘텐츠의 최신 버전이 사용 가능한지 알아보기 위해 오리진 서버를 확인합니다. 최신 버전이 사용 가능하다면, CloudFront는 새로운 버전을 엣지 로케이션에 복사합니다. 원본 콘텐츠에 대한 변경 사항은 방문객이 그 콘텐츠를 요청할 때 엣지 로케이션에 복제됩니다.

**Route 53 없이 CloudFront 사용**  
이 페이지의 자습서에서는 Route 53을 사용하여 CloudFront 배포를 가리킵니다. 그러나 Route 53을 사용하지 않고 CloudFront를 사용하여 Amazon S3 버킷에 호스팅된 콘텐츠를 제공하려면 [Amazon CloudFront 자습서, Amazon S3용 동적 콘텐츠 배포 설정](https://aws.amazon.com/cloudfront/getting-started/S3/)을 참조하십시오. CloudFront를 사용하여 Amazon S3 버킷에 호스팅된 콘텐츠를 서비스할 때는 어떤 버킷 이름이라도 사용할 수 있으며 HTTP와 HTTPS가 모두 지원됩니다.

**CloudFormation 템플릿으로 설정 자동화**  
CloudFormation 템플릿을 사용하여 웹 사이트에 제공할 CloudFront 배포를 생성하는 안전한 정적 웹 사이트를 구성하는 방법에 대한 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [안전한 정적 웹 사이트 시작하기](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html)를 참조하십시오.

**Topics**
+ [1단계: CloudFront 배포 생성](#create-distribution)
+ [2단계: 도메인 및 하위 도메인용 레코드 세트 업데이트](#update-record-sets)
+ [(선택 사항) 3단계: 로그 파일 확인](#check-log-files)

## 1단계: CloudFront 배포 생성
<a name="create-distribution"></a>

먼저 CloudFront 배포를 생성합니다. 이를 통해 전 세계 각지의 데이터 센터에서 웹 사이트를 사용할 수 있게 됩니다.

**Amazon S3 오리진으로 배포 생성**

1. 에서 CloudFront 콘솔을 엽니다[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)

1. [**Create Distribution**]을 선택합니다.

1. [**배포 생성(Create Distribution)**] 페이지의 [**오리진 설정(Origin Settings)**] 섹션에서 [**오리진 도메인 이름(Origin Domain Name)**]에 해당 버킷에 대한Amazon S3 웹 사이트 엔드포인트를 입력합니다(예: **example.com.s3-website.us-west-1.amazonaws.com**).

   CloudFront가 사용자 대신 **오리진 ID(Origin ID)**를 채웁니다.

1. **Default Cache Behavior Settings(기본 캐시 동작 설정)**에서는 기본값으로 설정되어 있는 값을 유지합니다.

   [**뷰어 프로토콜 정책(Viewer Protocol Policy)**]의 기본 설정을 사용하면 정적 웹 사이트에 HTTPS를 사용할 수 있습니다. 이 구성 옵션에 대한 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [웹 배포의 생성 또는 업데이트 시 지정하는 값](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithDownloadDistributions.html#DownloadDistValuesYouSpecify)을 참조하십시오.

1. **Distribution Settings(배포 설정)**에서 다음 작업을 수행합니다.

   1. **Use All Edge Locations (Best Performance)(전체 엣지 로케이션 사용(최상의 성능))**로 설정된 **Price Class(가격 등급)**를 그대로 둡니다.

   1. [**대체 도메인 이름(CNAME)(Alternate Domain Names (CNAMEs))**]을 루트 도메인과 `www` 하위 도메인으로 설정합니다. 이 자습서에서는 `example.com` 및 `www.example.com`입니다.
**중요**  
이 단계를 수행하기 전에 [대체 도메인 이름 사용과 관련된 요구 사항](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-requirements), 특히 유효한 SSL/TLS 인증서가 필요한지 확인하십시오.

   1. **SSL 인증서(SSL Certificate)**에서 **사용자 정의 SSL 인증서(Custom SSL Certificate)(example.com)**를 선택하고, 도메인 및 하위 도메인 이름을 포함하는 사용자 지정 인증서를 선택합니다.

      자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [SSL 인증서](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesSSLCertificate)를 참조하십시오.

   1. **기본 루트 객체**에 인덱스 문서의 이름을 입력합니다(예: `index.html`).

      배포에 액세스하는 데 사용된 URL에 파일 이름이 없으면 CloudFront 배포가 인덱스 문서를 반환합니다. **기본 루트 객체**는 정적 웹 사이트에 대한 인덱스 문서의 이름과 정확히 일치해야 합니다. 자세한 내용은 [인덱스 문서 구성](IndexDocumentSupport.md) 섹션을 참조하세요.

   1. **로깅**을 **설정**으로 설정합니다.
**중요**  
배포를 생성 또는 업데이트하고 CloudFront 로깅을 사용 설정하면 CloudFront는 버킷 액세스 제어 목록(ACL)을 업데이트하여 버킷에 로그를 쓸 수 있는 `FULL_CONTROL` 권한을 `awslogsdelivery` 계정에 부여합니다. 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [표준 로깅 구성 및 로그 파일 액세스에 필요한 권한](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership)을 참조하세요. 로그를 저장하는 버킷이 S3 객체 소유권에 대해 버킷 소유자 적용 설정을 사용하여 ACL을 비활성화하면 CloudFront에서 버킷에 로그를 쓸 수 없습니다. 자세한 내용은 [객체 소유권 제어 및 버킷에 대해 ACL 사용 중지](about-object-ownership.md) 섹션을 참조하세요.

   1. **Bucket for Logs(로그용 버킷)**에서 앞서 생성한 로깅 버킷을 선택합니다.

      로깅 버킷 구성에 대한 자세한 내용은 [(선택 사항) 웹 트래픽 로깅](LoggingWebsiteTraffic.md) 단원을 참조하십시오.

   1. CloudFront 배포에 대한 트래픽에 의해 생성된 로그를 폴더에 저장하려면 **로그 접두사(Log Prefix)**에 폴더 이름을 입력합니다.

   1. 기타 모든 설정은 기본값을 유지합니다.

1. [**Create Distribution**]을 선택합니다.

1. 현재의 배포 상태를 보려면, 콘솔에서 배포를 찾아 **상태** 열을 확인합니다.

   `InProgress` 상태는 배포가 아직 완전히 이루어지지 않았음을 뜻합니다.

   배포가 완료되면 새 CloudFront 도메인 이름으로 콘텐츠를 참조할 수 있습니다.

1. CloudFront 콘솔에 표시되는 **도메인 이름**의 값을 기록합니다(예: `dj4p1rv6mvubz.cloudfront.net`).

1. CloudFront 배포가 이루어지고 있는지 확인하려면, 웹 브라우저에서 배포의 도메인 이름을 입력합니다.

   웹 사이트가 표시되는 경우 CloudFront 배포가 작동하는 것입니다. 웹 사이트의 Amazon Route 53에 사용자 지정 도메인이 등록되어 있는 경우 다음 단계에서 레코드 세트를 업데이트하려면 CloudFront 도메인 이름이 필요합니다.

## 2단계: 도메인 및 하위 도메인용 레코드 세트 업데이트
<a name="update-record-sets"></a>

CloudFront 배포를 성공적으로 생성했으므로 새 CloudFront 배포를 가리키도록 Route 53의 별칭 레코드를 업데이트합니다.

**CloudFront 배포를 가리키도록 별칭 레코드 업데이트**

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

1. 왼쪽 탐색 창에서 **Hosted Zones(호스팅 영역)**를 선택합니다.

1. **Hosted Zones(호스팅 영역)** 페이지에서 하위 도메인을 위해 생성한 호스팅 영역(예: `www.example.com`)을 선택합니다.

1. **레코드**에서 하위 도메인에 대해 만든 *A* 레코드를 선택합니다.

1. **레코드 세부 정보**에서 **레코드 편집**을 선택합니다.

1. **다음으로 트래픽 라우팅**에서 **CloudFront 배포로 별칭**을 선택합니다.

1. **배포 선택**에서 CloudFront 배포를 선택합니다.

1. **저장**을 선택합니다.

1. 루트 도메인에 대한 *A* 레코드를 CloudFront 배포로 리디렉션하려면 루트 도메인에 대해 이 절차(예: `example.com`)를 반복합니다.

   레코드 세트를 업데이트한 내용은 2\$148시간 내에 적용됩니다.

1. 새 *A* 레코드가 적용되었는지 확인하려면 웹 브라우저에서 하위 도메인 URL을 입력합니다(예: `http://www.example.com`).

   브라우저가 루트 도메인(예: `http://example.com`)으로 리디렉션되지 않는 경우 새 A 레코드가 적용된 것입니다. 새로운 *A* 레코드가 적용되면 새로운 *A* 레코드에 의해 CloudFront 배포로 라우팅되는 트래픽은 루트 도메인으로 리디렉션되지 않습니다. `http://example.com` 또는 `http://www.example.com`을 이용해 사이트를 참조하는 방문자가 가장 가까운 CloudFront 엣지 로케이션으로 리디렉션됨으로써, 더 빨라진 다운로드 시간의 이점을 누릴 수 있습니다.
**작은 정보**  
브라우저는 리디렉션 설정을 캐시할 수 있습니다. 새로운 *A* 레코드 설정이 이미 적용되었어야 하는데 여전히 브라우저에서 `http://www.example.com`이 `http://example.com`으로 리디렉션된다면, 브라우저 애플리케이션을 닫았다가 다시 열어 브라우저의 검색 기록 및 캐시를 삭제하거나 다른 웹 브라우저를 사용하세요.

## (선택 사항) 3단계: 로그 파일 확인
<a name="check-log-files"></a>

액세스 로그는 웹 사이트를 방문하는 사람의 수를 알려 줍니다. 또한 [Amazon EMR](https://docs.aws.amazon.com/emr/latest/DeveloperGuide/)과 같은 다른 서비스로 분석할 수 있는 중요 비즈니스 데이터를 포함하고 있습니다.

CloudFront 로그는 CloudFront 배포를 생성하고 로깅을 사용 설정할 때 선택한 버킷과 폴더에 저장됩니다. CloudFront는 해당 요청 이후 24시간 이내에 로그 버킷에 로그를 기록합니다.

**웹 사이트의 로그 파일 보기**

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

1. 웹 사이트에 대한 로깅 버킷을 선택합니다.

1. CloudFront 로그 폴더를 선택합니다.

1. 열기 전에 CloudFront에서 작성한 `.gzip` 파일을 다운로드합니다.

   실습용으로만 웹 사이트를 생성한 경우에는 요금이 발생하지 않도록 할당한 리소스를 삭제할 수 있습니다. 그렇게 하려면 [예제 리소스 정리](getting-started-cleanup.md) 단원을 참조하십시오. AWS 리소스를 삭제한 후에는 웹 사이트를 사용할 수 없습니다.

# 예제 리소스 정리
<a name="getting-started-cleanup"></a>

실습용으로 정적 웹 사이트를 생성한 경우에는 요금이 발생하지 않도록 할당한 AWS 리소스를 삭제해야 합니다. AWS 리소스를 삭제한 후에는 웹 사이트를 사용할 수 없습니다.

**Topics**
+ [1단계: Amazon CloudFront 배포 삭제](#getting-started-cleanup-cloudfront)
+ [2단계: Route 53 호스팅 영역 삭제](#getting-started-cleanup-route53)
+ [3단계: 로깅 사용 중지 및 S3 버킷 삭제](#getting-started-cleanup-s3)

## 1단계: Amazon CloudFront 배포 삭제
<a name="getting-started-cleanup-cloudfront"></a>

Amazon CloudFront 배포를 삭제하려면 먼저 사용 중지해야 합니다. 사용 중지된 배포가 작동하지 않아 요금이 발생하지 않습니다. 언제든지 사용 중지된 배포를 사용 설정할 수 있습니다. 사용 중지된 배포는 삭제 후 사용할 수 없습니다.

**CloudFront 배포를 사용하지 않도록 설정하고 삭제**

1. 에서 CloudFront 콘솔을 엽니다[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)

1. 사용 중지하려는 배포를 선택한 후 **사용 중지**를 선택합니다.

1. 확인 메시지가 표시되면 **예, 사용 중지**를 선택합니다.

1. 사용 중지된 배포를 선택한 후 **삭제**를 선택합니다.

1. 확인 메시지가 나타나면 **예, 삭제합니다**를 선택합니다.

## 2단계: Route 53 호스팅 영역 삭제
<a name="getting-started-cleanup-route53"></a>

호스팅 영역을 삭제하기 전에 반드시 앞서 만든 레코드 세트를 삭제해야 합니다. NS 및 SOA 레코드는 삭제할 필요가 없습니다. 이 둘은 호스팅 영역을 삭제할 때 자동으로 삭제됩니다.

**레코드 세트 삭제**

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

1.  도메인 이름 목록에서 도메인 이름을 선택한 후 **Go to Record Sets(레코드 세트로 이동)**를 선택합니다.

1. 레코드 세트 목록에서 생성한 *A* 레코드를 선택합니다.

   각 레코드 세트의 유형은 **유형** 열에 나열됩니다.

1. **Delete Record Set(레코드 세트 삭제)**를 선택합니다.

1. 확인 메시지가 표시되면 **확인**을 선택합니다.

**Route 53 호스팅 영역 삭제**

1.  이전 절차에 이어서 **Back to Hosted Zones(호스팅 영역으로 돌아가기)**를 선택합니다.

1.  도메인 이름을 선택한 후 **Delete Hosted Zone(호스팅 영역 삭제)**을 선택합니다.

1.  확인 메시지가 표시되면 **확인**을 선택합니다.

## 3단계: 로깅 사용 중지 및 S3 버킷 삭제
<a name="getting-started-cleanup-s3"></a>

S3 버킷을 삭제하기 전에 버킷에 대한 로깅이 사용 중지되어 있는지 확인하십시오. 그렇지 않으면 삭제해도 AWS가 해당 버킷에 계속 로그를 기록합니다.

**버킷에 대한 로깅 사용 중지**

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

1. **버킷**에서 버킷 이름을 선택한 다음 **속성**을 선택합니다.

1. **속성**에서 **로깅**을 선택합니다.

1. **사용(Enabled)** 확인란의 선택을 취소합니다.

1. **저장**을 선택합니다.

이제 버킷을 삭제할 수 있습니다. 자세한 내용은 [범용 버킷 삭제](delete-bucket.md) 섹션을 참조하세요.

# S3 범용 버킷에서 AWS Amplify Hosting에 정적 웹 사이트 배포
<a name="website-hosting-amplify"></a>

[AWS Amplify Hosting](https://docs.aws.amazon.com//amplify/latest/userguide/welcome.html.html)을 사용하여 S3에 저장된 정적 웹 사이트 콘텐츠를 호스팅하는 것이 좋습니다. Amplify Hosting은 Amazon CloudFront로 구동되는 전 세계적으로 사용 가능한 콘텐츠 전송 네트워크(CDN)에 웹 사이트를 쉽게 배포할 수 있도록 하는 완전 관리형 서비스이므로 광범위한 설정을 하지 않아도 안전한 정적 웹 사이트 호스팅이 가능합니다. AWS Amplify Hosting을 사용하면 범용 버킷 내에서 객체의 위치를 선택하고, 관리형 CDN에 콘텐츠를 배포하고, 어디서나 웹 사이트에 액세스할 수 있는 퍼블릭 HTTPS URL을 생성할 수 있습니다. Amplify Hosting을 사용하여 정적 웹 사이트를 배포하면 다음과 같은 이점 및 기능을 확보할 수 있습니다.
+ **Amazon CloudFront로 구동되는 AWS 콘텐츠 전송 네트워크(CDN)에 배포** - CloudFront는 정적 및 동적 웹 콘텐츠를 사용자에게 배포하는 속도를 높이는 웹 서비스입니다. CloudFront는 엣지 로케이션이라고 하는 데이터 센터의 전 세계 네트워크를 통해 콘텐츠를 제공합니다. CloudFront를 통해 서비스하는 콘텐츠를 사용자가 요청하면 지연 시간이 가장 낮은 엣지 로케이션으로 요청이 라우팅되므로 가능한 최고의 성능, 향상된 신뢰성 및 가용성으로 콘텐츠가 제공됩니다. 자세한 내용은 *Amazon CloudFront 개발자 안내서*의 [CloudFront에서 콘텐츠를 제공하는 방법](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowCloudFrontWorks.html)을 참조하세요.
+ **HTTPS 지원** - 웹 사이트와 사용자의 웹 브라우저 간에 안전한 통신 및 데이터 전송을 제공합니다.
+ **사용자 지정 도메인** - Amazon Route 53과 같은 도메인 등록 기관에서 구매한 사용자 지정 URL에 웹 사이트를 쉽게 연결합니다.
+ **사용자 지정 SSL 인증서** - 사용자 지정 도메인을 설정할 때 Amplify가 제공하는 기본 관리형 인증서를 사용하거나 직접 선택한 타사 인증 기관에서 구매한 자체 사용자 지정 인증서를 사용할 수 있습니다.
+ **기본 제공 지표 및 CloudWatch 모니터링** - 웹 사이트의 트래픽, 오류, 데이터 전송 및 지연 시간을 모니터링합니다.
+ **암호 보호** - Amplify 콘솔에서 사용자 이름과 암호 요구 사항을 설정하여 웹 사이트에 대한 액세스를 제한합니다.
+ **리디렉션 및 재작성** - Amplify 콘솔에서 리디렉션 및 재작성 규칙을 생성하여 웹 서버가 한 URL에서 다른 URL로 탐색 경로를 변경할 수 있도록 합니다.

Amazon S3 범용 버킷에서 Amplify Hosting으로 애플리케이션을 배포하면 AWS 요금은 Amplify의 요금 모델을 기반으로 합니다. 자세한 내용은 [AWS Amplify 요금](https://aws.amazon.com/amplify/pricing/)을 참조하세요.

**중요**  
Amazon S3를 사용할 수 있는 모든 AWS 리전에서 Amplify Hosting을 사용할 수 있는 것은 아닙니다. 정적 웹 사이트를 Amplify Hosting에 배포하려면 웹 사이트가 저장된 Amazon S3 범용 버킷이 Amplify를 사용할 수 있는 리전에 있어야 합니다. Amplify를 사용할 수 있는 리전 목록은 *Amazon Web Services 일반 참조*의 [Amplify 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/amplify.html#amplify_region)를 참조하세요.

Amazon S3 콘솔, Amplify 콘솔, AWS CLI 또는 AWS SDK에서 배포 프로세스를 시작할 수 있습니다. 자신의 계정에 위치한 범용 버킷에서만 Amplify에 배포할 수 있습니다. Amplify는 교차 계정 버킷 액세스를 지원하지 않습니다.

다음 지침에 따라 Amazon S3 콘솔을 시작으로 Amazon S3 범용 버킷의 정적 웹 사이트를 Amplify Hosting에 배포합니다.

## S3 콘솔에서 Amplify에 정적 웹 사이트 배포
<a name="DeployAmplify"></a>

**Amazon S3 콘솔에서 정적 웹 사이트 배포**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **버킷(Buckets)**을 선택합니다.

1. **버킷** 목록에서 Amplify Hosting에 배포하려는 웹 사이트가 포함된 범용 버킷을 선택합니다.

1. **속성** 탭을 선택합니다.

1. **정적 웹 사이트 호스팅**에서 **Amplify 앱 생성**을 선택합니다. 이 단계에서 배포 프로세스는 Amplify 콘솔로 이동합니다.

1. **S3로 배포** 페이지에서 다음 단계를 수행합니다.

   1. **API 이름**에 앱 또는 웹 사이트의 이름을 입력합니다.

   1. **브랜치 이름**에 앱의 백엔드 이름을 입력합니다.

   1. **호스팅할 객체의 S3 위치**에 범용 버킷의 디렉터리 경로를 입력하거나 **S3 찾아보기**를 선택한 다음, 해당 항목을 찾아서 선택합니다.

1. **저장 및 배포**를 선택합니다.

**참고**  
 Amplify에서 호스팅되는 범용 버킷에서 정적 웹 사이트의 객체를 업데이트하는 경우 변경 사항이 적용되도록 애플리케이션을 Amplify Hosting에 재배포해야 합니다. Amplify Hosting은 버킷의 변경 사항을 자동으로 감지하지 않습니다. 자세한 내용은 *AWS Amplify Hosting 사용 설명서*의 [S3 버킷에서 Amplify로 배포된 정적 웹 사이트 업데이트](https://docs.aws.amazon.com//amplify/latest/userguide/update-website-deployed-from-s3.html)를 참조하세요.

Amplify 콘솔에서 직접 시작하려면 *AWS Amplify Hosting 사용 설명서*의 [Amplify 콘솔을 사용하여 S3에서 정적 웹 사이트 배포](https://docs.aws.amazon.com//amplify/latest/userguide/deploy--from-amplify-console.html)를 참조하세요.

AWS SDK를 사용하려면 *AWS Amplify Hosting 사용 설명서*의 [AWS SDK를 사용하여 S3에서 정적 웹 사이트를 배포하기 위한 버킷 정책 생성](https://docs.aws.amazon.com//amplify/latest/userguide/deploy-with-sdks.html)을 참조하세요.