인덱스 문서 구성

인덱스 문서 구성

웹사이트 호스팅을 활성화하면 인덱스 문서도 구성하고 업로드해야 해요. 인덱스 문서는 웹사이트의 루트나 하위 폴더에 요청이 들어왔을 때 Amazon S3가 반환하는 웹페이지예요. 예를 들어 사용자가 브라우저에 http://www.example.com을 입력하면 특정 페이지를 요청하는 게 아니에요. 이 경우 Amazon S3는 인덱스 문서(때로는 기본 페이지라고도 해요)를 제공해요.

출처: 문서

본문

버킷에 정적 웹사이트 호스팅을 활성화할 때 인덱스 문서 이름(예: index.html)을 입력해요. 그러고 나서 버킷에 인덱스 문서 이름과 같은 HTML 파일을 업로드해요.

루트 수준 URL의 끝 슬래시는 선택 사항이에요. 예를 들어 웹사이트를 index.html을 인덱스 문서로 구성했다면 다음 URL 중 어느 쪽이든 index.html을 반환해요.

http://example-bucket.s3-website.Region.amazonaws.com/
http://example-bucket.s3-website.Region.amazonaws.com

Amazon S3 웹사이트 엔드포인트에 대한 자세한 내용은 웹사이트 엔드포인트를 참고하세요.

인덱스 문서와 폴더 (Index document and folders)

Amazon S3에서 버킷은 객체의 평면 컨테이너예요. 컴퓨터의 파일 시스템처럼 계층 구조를 제공하지 않아요. 하지만 폴더 구조를 암시하는 객체 키 이름을 사용해 논리적 계층을 만들 수 있어요.

예를 들어 다음 키 이름을 가진 객체 세 개가 있는 버킷을 생각해 볼게요. 물리적으로는 계층 구조 없이 저장되지만, 키 이름에서 다음과 같은 논리적 폴더 구조를 유추할 수 있어요.

  • sample1.jpg — 객체가 버킷의 루트에 있어요.
  • photos/2006/Jan/sample2.jpg — 객체가 photos/2006/Jan 하위 폴더에 있어요.
  • photos/2006/Feb/sample3.jpg — 객체가 photos/2006/Feb 하위 폴더에 있어요.

Amazon S3 콘솔에서는 버킷에 폴더를 만들 수도 있어요. 예를 들어 photos라는 폴더를 만들 수 있어요. 객체를 버킷에 업로드하거나, 버킷 안 photos 폴더에 업로드할 수 있어요. sample.jpg 객체를 버킷에 추가하면 키 이름은 sample.jpg예요. 객체를 photos 폴더에 업로드하면 객체 키 이름은 photos/sample.jpg예요.

버킷에 폴더 구조를 만들었다면 각 수준마다 인덱스 문서가 있어야 해요. 각 폴더에서 인덱스 문서는 같은 이름이어야 해요(예: index.html). 사용자가 폴더 조회처럼 보이는 URL을 지정하면, 끝 슬래시의 유무가 웹사이트의 동작을 결정해요. 예를 들어 끝 슬래시가 있는 다음 URL은 photos/index.html 인덱스 문서를 반환해요.

http://bucket-name.s3-website.Region.amazonaws.com/photos/

하지만 위 URL에서 끝 슬래시를 제외하면, Amazon S3는 먼저 버킷에서 photos 객체를 찾아요. photos 객체를 찾지 못하면 photos/index.html 인덱스 문서를 검색해요. 문서를 찾으면 Amazon S3는 302 Found 메시지를 반환하고 photos/ 키를 가리켜요. 이후 photos/에 대한 요청에는 Amazon S3가 photos/index.html을 반환해요. 인덱스 문서를 찾지 못하면 Amazon S3는 오류를 반환해요.

인덱스 문서 구성 (Configure an index document)

S3 콘솔로 인덱스 문서를 구성하려면 다음 절차를 사용해요. REST API, AWS SDK, AWS CLI, CloudFormation으로도 인덱스 문서를 구성할 수 있어요.

참고 버전 관리가 활성화된 버킷에서는 index.html의 여러 복사본을 업로드할 수 있지만 가장 최신 버전만 사용돼요. S3 버전 관리에 대한 자세한 내용은 S3 버전 관리로 객체의 여러 버전 유지를 참고하세요.

버킷에 정적 웹사이트 호스팅을 활성화할 때 인덱스 문서 이름(예: 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. 인덱스 파일을 로컬에 저장해요. 인덱스 문서 파일 이름은 Static website hosting 대화 상자에 입력한 인덱스 문서 이름과 정확히 일치해야 해요. 인덱스 문서 이름은 대소문자를 구분해요. 예를 들어 Static website hosting 대화 상자의 Index document 이름에 index.html을 입력했다면, 인덱스 문서 파일 이름도 index.html이어야 하고 Index.html이면 안 돼요.
  2. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 열어요.
  3. 왼쪽 탐색 창에서 General purpose buckets를 선택해요.
  4. 버킷 목록에서 정적 웹사이트 호스팅에 사용할 버킷 이름을 선택해요.
  5. 버킷에 정적 웹사이트 호스팅을 활성화하고 인덱스 문서의 정확한 이름(예: index.html)을 입력해요. 자세한 내용은 웹사이트 호스팅 활성화를 참고하세요. 정적 웹사이트 호스팅을 활성화한 뒤 7단계로 진행해요.
  6. 인덱스 문서를 버킷에 업로드하려면 다음 중 하나를 수행해요. 인덱스 파일을 콘솔의 버킷 목록에 끌어다 놓거나, Upload를 선택해 프롬프트에 따라 인덱스 파일을 선택해 업로드해요. 단계별 안내는 객체 업로드를 참고하세요.
  7. (선택 사항) 다른 웹사이트 콘텐츠를 버킷에 업로드해요.

다음으로 웹사이트 접근 권한을 설정해야 해요. 자세한 내용은 웹사이트 접근 권한 설정을 참고하세요.

선택적으로 오류 문서, 웹 트래픽 로깅, 리디렉션도 구성할 수 있어요.

더 알아보기 (Learn more)