웹 사이트 엔드포인트
버킷을 정적 웹 사이트로 구성하면 버킷의 AWS 리전별 웹 사이트 엔드포인트를 통해 웹 사이트를 사용할 수 있습니다. 웹 사이트 엔드포인트는 사용자가 REST API 요청을 보내는 엔드포인트와 다릅니다. 엔드포인트 간의 차이에 대한 자세한 내용은 웹 사이트 엔드포인트와 REST API 엔드포인트 간의 주요 차이점을 참조하십시오.
리전에 따라 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 웹 사이트 엔드포인트를 참조하십시오.
참고
Amazon S3 정적 웹 사이트의 보안을 강화하기 위해 Amazon S3 웹 사이트 엔드포인트 도메인(예: s3-website-us-east-1.amazonaws.com 또는 s3-website.ap-south-1.amazonaws.com)은 공개 접미사 목록(PSL)__Host-
접두사가 있는 쿠키를 사용하는 것이 좋습니다. 이렇게 쿠키를 설정하면 교차 사이트 요청 위조 시도(CSRF)로부터 도메인을 보호하는 데 도움이 됩니다. 자세한 내용은 Mozilla 개발자 네트워크의 Set-Cookie
웹 사이트를 퍼블릭으로 설정하려면 고객이 웹 사이트 엔드포인트의 콘텐츠에 액세스할 수 있도록 모든 콘텐츠를 공개적으로 읽기 가능하도록 만들어야 합니다. 자세한 정보는 웹 사이트 액세스에 대한 권한 설정 섹션을 참조하세요.
중요
Amazon S3 웹 사이트 엔드포인트는 HTTPS 또는 액세스 포인트를 지원하지 않습니다. HTTPS를 사용하려는 경우 Amazon CloudFront를 사용하여 Amazon S3에서 호스팅되는 정적 웹 사이트를 제공할 수 있습니다. 자세한 내용은 CloudFront를 사용하여 Amazon S3 버킷에 대한 HTTPS 요청을 처리하려면 어떻게 해야 하나요?
요청자 지불 버킷은 웹 사이트 엔드포인트를 통한 액세스를 허용하지 않습니다. 해당 버킷으로의 모든 요청은 403 Access Denied
응답을 수신합니다. 자세한 내용은 스토리지 전송 및 사용량에 대한 요청자 지불액 버킷 사용 섹션을 참조하세요.
웹 사이트 엔드포인트 예제
다음 예제에서는 정적 웹 사이트로 구성된 Amazon S3 버킷에 액세스하는 방법을 보여줍니다.
예 - 루트 수준의 객체 요청
버킷의 루트 수준에 저장된 특정 객체를 요청하려면 다음 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
예 - 접두사로 객체 요청
버킷의 폴더에 저장된 객체를 요청하려면 다음 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 추가
등록된 도메인이 있는 경우 DNS CNAME 항목을 추가하면 Amazon S3 웹 사이트 엔드포인트를 가리킬 수 있습니다. 예를 들어, 등록된 도메인 www.example-bucket.com
이 있다면 www.example-bucket.com
버킷을 생성하고 www.example-bucket.com.s3-website.
을 가리키는 DNS CNAME 레코드를 추가할 수 있습니다. Region
.amazonaws.com.rproxy.goskope.comhttp://www.example-bucket.com
으로의 모든 요청은 www.example-bucket.com.s3-website.
으로 라우팅됩니다.Region
.amazonaws.com
자세한 내용은 CNAME 레코드를 사용하여 Amazon S3 URL 사용자 지정 섹션을 참조하세요.
Route 53에서 사용자 지정 도메인 사용
Amazon S3 웹 사이트 엔드포인트를 사용하여 웹 사이트에 액세스하는 대신, Amazon Route 53에 등록된 자체 도메인(예: example.com
)을 사용하여 콘텐츠를 처리할 수 있습니다. Route 53과 함께 Amazon S3을 사용하여 루트 도메인에서 웹 사이트를 호스팅할 수 있습니다. 예를 들어, 루트 도메인 example.com
을 보유하고 Amazon S3에서 웹 사이트를 호스팅하는 경우 웹 사이트 방문자는 http://www.example.com
또는 http://example.com
을 입력하여 브라우저에서 사이트에 액세스할 수 있습니다.
예제 연습은 섹션을 참조하십시오자습서: Route 53에 등록된 사용자 지정 도메인을 사용하여 정적 웹 사이트 구성
웹 사이트 엔드포인트와 REST API 엔드포인트 간의 주요 차이점
Amazon S3 웹 사이트 엔드포인트는 웹 브라우저를 통한 액세스에 최적화되었습니다. 다음 표에는 REST API 엔드포인트와 웹 사이트 엔드포인트 간의 주요 차이점이 요약되어 있습니다.
주요 차이점 | REST API 엔드포인트 | 웹 사이트 엔드포인트 |
---|---|---|
액세스 제어 |
퍼블릭 콘텐츠 및 프라이빗 콘텐츠 모두 지원 |
공개적으로 읽기 가능한 콘텐츠만 지원 |
오류 메시지 처리 |
XML 형식의 오류 응답 반환 |
HTML 문서 반환 |
리디렉션 지원 |
해당 사항 없음 |
객체 수준 및 버킷 수준의 리디렉션 모두 지원 |
요청 지원 |
모든 버킷 및 객체 작업 지원 |
객체에 대한 GET 및 HEAD 요청 지원 |
버킷의 루트에서 GET 및 Head 요청에 대한 응답 | 버킷의 객체 키 목록 반환 | 웹 사이트 구성에 지정된 인덱스 문서 반환 |
Secure Sockets Layer(SSL) 지원 | SSL 연결 지원 | SSL 연결을 지원하지 않음 |
Amazon S3 엔드포인트의 전체 목록은 AWS 일반 참조에서 Amazon S3 엔드포인트 및 할당량을 참조하십시오.