웹사이트 엔드포인트

웹사이트 엔드포인트

버킷을 정적 웹사이트로 구성하면 웹사이트는 버킷의 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)은 Public Suffix List(PSL)에 등록되어 있어요. 더 나은 보안을 위해, Amazon S3 정적 웹사이트의 도메인 이름에 민감한 쿠키를 설정해야 한다면 __Host- 접두사가 있는 쿠키를 사용하는 것을 권장해요. 이렇게 하면 사이트 간 요청 위조(CSRF) 시도로부터 도메인을 방어할 수 있어요. 자세한 내용은 Mozilla Developer Network의 Set-Cookie 페이지를 참고하세요.

웹사이트를 공개하려면 고객이 웹사이트 엔드포인트에서 접근할 수 있도록 모든 콘텐츠를 공개적으로 읽을 수 있게 만들어야 해요. 자세한 내용은 웹사이트 접근 권한 설정을 참고하세요.

중요

웹사이트 엔드포인트 예시 (Website endpoint examples)

다음 예시는 정적 웹사이트로 구성된 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 추가 (Adding a DNS CNAME)

등록된 도메인이 있다면 Amazon S3 웹사이트 엔드포인트를 가리키는 DNS CNAME 항목을 추가할 수 있어요. 예를 들어 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으로 사용자 지정 도메인 사용 (Using a custom domain with Route 53)

Amazon S3 웹사이트 엔드포인트로 웹사이트에 접근하는 대신, Amazon Route 53에 등록한 자신의 도메인(예: example.com)으로 콘텐츠를 제공할 수 있어요. Amazon S3를 Route 53과 함께 사용해 루트 도메인에서 웹사이트를 호스팅할 수 있어요. 예를 들어 루트 도메인 example.com이 있고 Amazon S3에서 웹사이트를 호스팅한다면, 웹사이트 방문자는 브라우저에 http://www.example.com 또는 http://example.com을 입력해 사이트에 접근할 수 있어요.

예시 연습은 튜토리얼: Route 53에 등록된 사용자 지정 도메인으로 정적 웹사이트 구성을 참고하세요.

웹사이트 엔드포인트와 REST API 엔드포인트의 주요 차이점 (Key differences between a website endpoint and a REST API endpoint)

Amazon S3 웹사이트 엔드포인트는 웹 브라우저에서의 접근에 최적화되어 있어요. 다음 표는 REST API 엔드포인트와 웹사이트 엔드포인트의 주요 차이점을 요약해요.

주요 차이점 REST API 엔드포인트 웹사이트 엔드포인트
접근 제어 공개 및 비공개 콘텐츠 모두 지원 공개적으로 읽을 수 있는 콘텐츠만 지원
오류 메시지 처리 XML 형식의 오류 응답 반환 HTML 문서 반환
리디렉션 지원 해당 없음 객체 수준 및 버킷 수준 리디렉션 모두 지원
지원되는 요청 모든 버킷 및 객체 작업 지원 객체에 대한 GET과 HEAD 요청만 지원
버킷 루트의 GET 및 HEAD 요청에 대한 응답 버킷의 객체 키 목록 반환 웹사이트 구성에 지정된 인덱스 문서 반환
SSL(보안 소켓 계층) 지원 SSL 연결 지원 SSL 연결 미지원

Amazon S3 엔드포인트의 전체 목록은 AWS General Reference의 Amazon S3 엔드포인트와 할당량을 참고하세요.

더 알아보기 (Learn more)