인덱스 문서 구성 - Amazon Simple Storage Service

인덱스 문서 구성

웹 사이트 호스팅을 활성화하는 경우 인덱스 문서도 구성하고 업로드해야 합니다. 인덱스 문서는 웹 사이트의 루트나 임의의 하위 폴더로 요청이 전달되는 경우에 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 웹 사이트 엔드포인트에 대한 자세한 내용은 웹 사이트 엔드포인트 단원을 참조하세요.

인덱스 문서 및 폴더

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

인덱스 문서 구성

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

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

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

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

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

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

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

  6. 버킷에 인덱스 문서를 업로드하려면 다음 중 하나를 수행합니다.

    • 인덱스 파일을 콘솔 버킷 목록으로 끌어다 놓습니다.

    • 업로드를 선택하고 프롬프트의 메시지에 따라 인덱스 파일을 선택하고 업로드합니다.

    단계별 지침은 객체 업로드 섹션을 참조하세요.

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

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

오류 문서, 웹 트래픽 로깅 또는 리디렉션을 선택적으로 구성할 수도 있습니다.