

# 인덱스 문서 구성
<a name="IndexDocumentSupport"></a>

웹 사이트 호스팅을 사용 설정하는 경우 인덱스 문서도 구성하고 업로드해야 합니다. *인덱스 문서*는 웹 사이트의 루트나 임의의 하위 폴더로 요청이 전달되는 경우에 Amazon S3이 반환하는 웹 페이지입니다. 예를 들어, 사용자가 브라우저에 `http://www.example.com`을 입력하는 경우 사용자는 특정 페이지를 요청하는 것입니다. 이 경우 Amazon S3이 *기본 페이지*라고도 하는 인덱스 문서를 표시합니다.

버킷용 정적 웹 사이트 호스팅을 사용 설정할 때 인덱스 문서의 이름(예: `index.html`)을 입력합니다. 버킷용 정적 웹 사이트 호스팅을 사용 설정한 후 인덱스 문서 이름이 있는 HTML 파일을 버킷에 업로드합니다.

루트 수준 URL의 후행 슬래쉬는 선택 사항입니다. 예를 들어, 인덱스 문서가 `index.html`인 웹 사이트를 구성하는 경우 다음과 같은 URL 중 하나에서 `index.html`이 반환됩니다.

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

Amazon S3 웹 사이트 엔드포인트에 대한 자세한 내용은 [웹 사이트 엔드포인트](WebsiteEndpoints.md) 섹션을 참조하십시오.

## 인덱스 문서 및 폴더
<a name="IndexDocumentsandFolders"></a>

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` 인덱스 문서를 반환합니다.

```
1. 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가 오류를 반환합니다.

## 인덱스 문서 구성
<a name="configuring-index-document"></a>

S3 콘솔을 사용하여 인덱스 문서를 구성하려면 다음 절차를 사용합니다. REST API, AWS SDK, AWS CLI 또는 CloudFormation을 사용하여 인덱스 문서를 구성할 수도 있습니다.

**참고**  
버전 관리가 활성화된 버킷에서는 `index.html`의 사본을 여러 개 업로드할 수 있지만 최신 버전만 업로드할 수 있습니다. S3 버전 관리에 대한 자세한 내용은 [S3 버전 관리로 여러 버전의 객체 유지](Versioning.md) 섹션을 참조하십시오.

버킷용 정적 웹 사이트 호스팅을 사용 설정할 때 인덱스 문서의 이름(예: **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. 인덱스 파일을 로컬에 저장합니다.

   인덱스 문서 파일 이름은 **정적 웹 사이트 호스팅** 대화 상자에 입력한 인덱스 문서 이름과 정확히 일치해야 합니다. 인덱스 문서 이름은 대/소문자를 구분합니다. 예를 들어 **정적 웹 사이트 호스팅** 대화 상자에서 **인덱스 문서** 이름에 `index.html`을 입력하는 경우, 인덱스 문서 파일은 `index.html`이 아니라 `Index.html`이어야 합니다.

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **범용 버킷**을 선택합니다.

1. 버킷 목록에서 정적 웹 사이트를 호스팅하는 데 사용할 버킷의 이름을 선택합니다.

1. 버킷에 정적 웹 사이트 호스팅을 사용 설정하고 인덱스 문서의 정확한 이름(예: `index.html`)을 입력합니다. 자세한 내용은 [웹 사이트 호스팅 사용 설정](EnableWebsiteHosting.md) 섹션을 참조하세요.

   정적 웹 사이트 호스팅을 사용 설정한 후 6단계로 이동합니다.

1. 버킷에 인덱스 문서를 업로드하려면 다음 중 하나를 수행합니다.
   + 인덱스 파일을 콘솔 버킷 목록으로 끌어다 놓습니다.
   + **업로드**를 선택하고 프롬프트의 메시지에 따라 인덱스 파일을 선택하고 업로드합니다.

   단계별 지침은 [객체 업로드](upload-objects.md) 섹션을 참조하세요.

1. (선택 사항) 버킷에 다른 웹 사이트 콘텐츠를 업로드합니다.

그런 다음 웹 사이트 액세스에 대한 권한을 설정해야 합니다. 자세한 정보는 [웹 사이트 액세스에 대한 권한 설정](WebsiteAccessPermissionsReqd.md) 섹션을 참조하세요.

[오류 문서](CustomErrorDocSupport.md), [웹 트래픽 로깅](LoggingWebsiteTraffic.md) 또는 [리디렉션](how-to-page-redirect.md)을 선택적으로 구성할 수도 있습니다.