

# 웹 사이트 엔드포인트
<a name="WebsiteEndpoints"></a>

버킷을 정적 웹 사이트로 구성하면 버킷의 AWS 리전별 웹 사이트 엔드포인트를 통해 웹 사이트를 사용할 수 있습니다. 웹 사이트 엔드포인트는 사용자가 REST API 요청을 보내는 엔드포인트와 다릅니다. 엔드포인트 간의 차이에 대한 자세한 내용은 [웹 사이트 엔드포인트와 REST API 엔드포인트 간의 주요 차이점](#WebsiteRestEndpointDiff)을 참조하십시오.

리전에 따라 Amazon S3 웹 사이트 엔드포인트는 다음 두 형식 중 하나를 따릅니다.
+ **s3-website 대시(-) 리전** ‐ `http://bucket-name.s3-website-Region.amazonaws.com`
+ **s3-website 점(.) 리전** ‐ `http://bucket-name.s3-website.Region.amazonaws.com`

이러한 URL은 사용자가 웹 사이트에 대해 구성한 기본 인덱스 문서를 반환합니다. Amazon S3 웹 사이트 엔드포인트의 전체 목록은 [Amazon S3 웹 사이트 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)를 참조하십시오.

**참고**  
Amazon S3 정적 웹 사이트의 보안을 강화하기 위해 Amazon S3 웹 사이트 엔드포인트 도메인(예: *s3-website-us-east-1.amazonaws.com* 또는 *s3-website.ap-south-1.amazonaws.com*)은 [공개 접미사 목록(PSL)](https://publicsuffix.org/)에 등록되어 있습니다. 보안 강화를 위해 Amazon S3 정적 웹 사이트의 도메인 이름에 민감한 쿠키를 설정해야 하는 경우 `__Host-` 접두사가 있는 쿠키를 사용하는 것이 좋습니다. 이렇게 쿠키를 설정하면 교차 사이트 요청 위조 시도(CSRF)로부터 도메인을 보호하는 데 도움이 됩니다. 자세한 내용은 Mozilla 개발자 네트워크의 [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie_prefixes) 페이지를 참조하십시오.

웹 사이트를 퍼블릭으로 설정하려면 고객이 웹 사이트 엔드포인트의 콘텐츠에 액세스할 수 있도록 모든 콘텐츠를 공개적으로 읽기 가능하도록 만들어야 합니다. 자세한 정보는 [웹 사이트 액세스에 대한 권한 설정](WebsiteAccessPermissionsReqd.md) 섹션을 참조하세요.

**중요**  
Amazon S3 웹 사이트 엔드포인트는 HTTPS 또는 액세스 포인트를 지원하지 않습니다. HTTPS를 사용하려면 다음 중 하나를 수행하세요.  
(권장) [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에 대한 자세한 내용은 *AWS Amplify 콘솔 사용 설명서*의 [S3 범용 버킷에서 AWS Amplify Hosting에 정적 웹 사이트 배포](https://docs.aws.amazon.com//AmazonS3/latest/userguide/website-hosting-amplify) 및 [Amplify 콘솔을 사용하여 S3에서 정적 웹 사이트 배포](https://docs.aws.amazon.com//amplify/latest/userguide/deploy--from-amplify-console.html)를 참조하세요.
Amazon CloudFront를 사용하여 Amazon S3에서 호스팅되는 정적 웹 사이트를 제공. 자세한 내용은 [CloudFront를 사용하여 Amazon S3 버킷에 대한 HTTPS 요청을 처리하려면 어떻게 해야 하나요?](https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-https-requests-s3)를 참조하십시오 사용자 지정 도메인에서 HTTPS를 사용하려면 [Route 53에 등록된 사용자 지정 도메인을 사용하여 정적 웹 사이트 구성](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html)을 참조하십시오.
요청자 지불 버킷은 웹 사이트 엔드포인트를 통한 액세스를 허용하지 않습니다. 해당 버킷으로의 모든 요청은 403 Access Denied 응답을 수신합니다. 자세한 내용은 [스토리지 전송 및 사용량에 대한 요청자 지불 범용 버킷 사용](RequesterPaysBuckets.md) 섹션을 참조하세요.

**Topics**
+ [웹 사이트 엔드포인트 예제](#website-endpoint-examples)
+ [DNS CNAME 추가](#website-endpoint-dns-cname)
+ [Route 53에서 사용자 지정 도메인 사용](#custom-domain-s3-endpoint)
+ [웹 사이트 엔드포인트와 REST API 엔드포인트 간의 주요 차이점](#WebsiteRestEndpointDiff)

## 웹 사이트 엔드포인트 예제
<a name="website-endpoint-examples"></a>

다음 예제에서는 정적 웹 사이트로 구성된 Amazon S3 버킷에 액세스하는 방법을 보여줍니다.

**Example - 루트 수준의 객체 요청**  
버킷의 루트 수준에 저장된 특정 객체를 요청하려면 다음 URL 구조를 사용합니다.  

```
http://bucket-name.s3-website.Region.amazonaws.com/object-name
```
예를 들어, 다음 URL은 버킷의 루트 수준에 저장된 `photo.jpg` 객체를 요청합니다.  

```
http://example-bucket.s3-website.us-west-2.amazonaws.com/photo.jpg
```

**Example - 접두사로 객체 요청**  
버킷의 폴더에 저장된 객체를 요청하려면 다음 URL 구조를 사용합니다.  

```
http://bucket-name.s3-website.Region.amazonaws.com/folder-name/object-name
```
다음 URL은 버킷의 `docs/doc1.html` 객체를 요청합니다.  

```
http://example-bucket.s3-website.us-west-2.amazonaws.com/docs/doc1.html
```

## DNS CNAME 추가
<a name="website-endpoint-dns-cname"></a>

등록된 도메인이 있는 경우 DNS CNAME 항목을 추가하면 Amazon S3 웹 사이트 엔드포인트를 가리킬 수 있습니다. 예를 들어, 등록된 도메인 `www.example-bucket.com`이 있다면 `www.example-bucket.com` 버킷을 생성하고 `www.example-bucket.com.s3-website.Region.amazonaws.com`을 가리키는 DNS CNAME 레코드를 추가할 수 있습니다. `http://www.example-bucket.com`으로의 모든 요청은 `www.example-bucket.com.s3-website.Region.amazonaws.com`으로 라우팅됩니다.

자세한 내용은 [CNAME 레코드를 사용하여 Amazon S3 URL 사용자 지정](VirtualHosting.md#VirtualHostingCustomURLs) 섹션을 참조하세요.

## Route 53에서 사용자 지정 도메인 사용
<a name="custom-domain-s3-endpoint"></a>

Amazon S3 웹 사이트 엔드포인트를 사용하여 웹 사이트에 액세스하는 대신, Amazon Route 53에 등록된 자체 도메인(예: `example.com`)을 사용하여 콘텐츠를 처리할 수 있습니다. Route 53과 함께 Amazon S3을 사용하여 루트 도메인에서 웹 사이트를 호스팅할 수 있습니다. 예를 들어, 루트 도메인 `example.com`을 보유하고 Amazon S3에서 웹 사이트를 호스팅하는 경우 웹 사이트 방문자는 `http://www.example.com` 또는 `http://example.com`을 입력하여 브라우저에서 사이트에 액세스할 수 있습니다.

예제 연습은 섹션을 참조하십시오[자습서: Route 53에 등록된 사용자 지정 도메인을 사용하여 정적 웹 사이트 구성](website-hosting-custom-domain-walkthrough.md) 

## 웹 사이트 엔드포인트와 REST API 엔드포인트 간의 주요 차이점
<a name="WebsiteRestEndpointDiff"></a>

Amazon S3 웹 사이트 엔드포인트는 웹 브라우저를 통한 액세스에 최적화되었습니다. 다음 표에는 REST API 엔드포인트와 웹 사이트 엔드포인트 간의 주요 차이점이 요약되어 있습니다.


| 주요 차이점 | REST API 엔드포인트 | 웹 사이트 엔드포인트 | 
| --- | --- | --- | 
| 액세스 제어 |  퍼블릭 콘텐츠 및 프라이빗 콘텐츠 모두 지원  | 공개적으로 읽기 가능한 콘텐츠만 지원  | 
| 오류 메시지 처리 |  XML 형식의 오류 응답 반환  | HTML 문서 반환 | 
| 리디렉션 지원 |  해당 사항 없음  | 객체 수준 및 버킷 수준의 리디렉션 모두 지원 | 
| 요청 지원  |  모든 버킷 및 객체 작업 지원  | 객체에 대한 GET 및 HEAD 요청만 지원 | 
| 버킷의 루트에서 GET 및 HEAD 요청에 대한 응답 | 버킷의 객체 키 목록 반환 | 웹 사이트 구성에 지정된 인덱스 문서 반환 | 
| Secure Sockets Layer(SSL) 지원 | SSL 연결 지원 | SSL 연결을 지원하지 않음 | 

Amazon S3 엔드포인트의 전체 목록은 **AWS 일반 참조에서 [Amazon S3 엔드포인트 및 할당량](https://docs.aws.amazon.com/general/latest/gr/s3.html)을 참조하십시오.