웹 사이트 엔드포인트 - Amazon Simple Storage Service

웹 사이트 엔드포인트

버킷을 정적 웹 사이트로 구성하면 버킷의 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)에 등록되어 있습니다. 보안 강화를 위해 Amazon S3 정적 웹 사이트의 도메인 이름에 민감한 쿠키를 설정해야 하는 경우 __Host- 접두사가 있는 쿠키를 사용하는 것이 좋습니다. 이렇게 하면 교차 사이트 요청 위조 시도 (CSRF) 로부터 도메인을 보호하는 데 도움이 됩니다. 자세한 내용은 Mozilla 개발자 네트워크의 Set-Cookie 페이지를 참조하십시오.

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

중요

Amazon S3 웹 사이트 엔드포인트는 HTTPS 또는 액세스 포인트를 지원하지 않습니다. HTTPS를 사용하려는 경우 Amazon CloudFront를 사용하여 Amazon S3에서 호스팅되는 정적 웹 사이트를 제공할 수 있습니다. 자세한 내용은 CloudFront를 사용하여 Amazon S3 버킷에 대한 HTTPS 요청을 처리하려면 어떻게 해야 하나요?를 참조하십시오 사용자 지정 도메인에서 HTTPS를 사용하려면 Route 53에 등록된 사용자 지정 도메인을 사용하여 정적 웹 사이트 구성을 참조하십시오.

요청자 지불 버킷은 웹 사이트 엔드포인트를 통한 액세스를 허용하지 않습니다. 해당 버킷으로의 모든 요청은 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.Region.amazonaws.com을 가리키는 DNS CNAME 레코드를 추가할 수 있습니다. http://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 엔드포인트 및 할당량을 참조하십시오.