Sua Blog

AWS S3에 정적 웹 호스팅하기

AWS S3

Amazon Simple Storage Service는 인터넷 스토리지 서비스이다. AWS S3를 사용하면 웹상 어디서나 원하는 데이터를 저장하고 검색할 수 있다.

  • 객체(Object) : S3에 데이터가 저장되는 기본 단위.
  • 버킷(Bucket) : S3에서 생성할 수 있는데 최상위 디렉토리의 개념으로 이름은 S3 리전 중에서 유일해야함. 계정별로 100개까지 생성 가능하며 버킷에 저장할 수 있는 객체수와 용량은 무제한.

AWS S3에 정적 웹 사이트 호스팅 하기

  1. 버킷 만들기

    AWS에 접속하여 로그인 한 뒤 S3 콘솔을 연다.

버킷만들기를 선택하고 기본 설정을 선택한다.

17-2

버킷이름을 작성하고 리전을 선택한다.

버킷 선택을 클릭하면 다른 버킷의 설정을 가져올 수 있다.

  • 퍼블릭 액세스 차단을 위한 버킷 설정 AWS에서는 퍼블릭 액세스가 필요 없는 모든 S3 버킷 또는 AWS 계정에 대해 S3 퍼블릭 액세스 차단 설정을 적용할 것을 권장한다.

  • 버킷 버전 관리 버전 관리를 활성화하여 버킷에 저장된 객체의 각 버전을 저장, 검색, 복원할 수 있다.

17-3

  • 기본 암호화 버킷에 암호화할 내용이 없으므로 비활성화를 선택한다.

    버킷만들기를 선택하면 새로 생성된 버킷을 확인할 수 있다.

  1. 웹 사이트 호스팅 편집 생성된 버킷을 선택하고 속성탭으로 이동한다. 페이지 하단에 정적 웹 사이트 호스팅 편집을 선택한다.

17-4

정적 웹 사이트 호스팅 활성화를 선택하고 호스팅 유형을 정적 웹 사이트 호스팅으로 선택한다.

  • 인덱스 문서 인덱스 문서는 도메인으로 요청이 전송되면 AWS S3가 반환하는 문서이다. 업로드 할 인덱스 문서를 입력한다. 보통 index.html을 사용한다.

  • 오류 문서 4XX 오류에 대한 오류문서를 제공하려면 오류문서에 파일 이름을 입력한다.

  • 리디렉션 규칙 (선택사항) 리디렉션 규칙을 사용하면 조건부로 요청을 라우팅할 수 있다. 이때 규칙은 XML로 사용한다. 필요한 규칙이 없으므로 비워두고 변경 사항을 저장한다.

17-5

  1. 파일 업로드 호스팅 할 파일을 드래그하거나 업로드를 선택하여 업로드한다.

17-6

  1. 버킷 정책 추가 호스팅이 활성화 되고 링크를 클릭하면 403페이지로 이동된다.

17-7

버킷 정책을 추가해서 버킷에 대한 퍼블릭 읽기 엑세스 권한을 부여할 수 있다. 권한탭을 선택한 뒤 버킷정책 편집을 선택한다.

17-8

아래 JSON을 입력한다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::[버킷이름]/*"
        }
    ]
}

Resource에는 해당 버킷이름을 입력해준다.

  1. 호스팅 완료

호스팅된 링크를 클릭하면 정상적으로 호스팅된 것을 확인할 수 있다.