정적 웹 사이트 호스팅

Eeeasy-code·2023년 11월 6일
0

[AWS]

목록 보기
3/4
post-thumbnail
post-custom-banner

정적 웹 사이트는 백엔드 처리 없이 static한 컨텐츠를 갖는다. 이러한 컨텐츠에는 HTML, CSS, JS, 이미지 등의 웹 사이트를 렌더링하는 데 필요한 모든 파일이 포함될 수 있다.

컨텐츠를 업로드하고 공개적인 액세스를 허용하여 AWS S3에 손쉽게 정적 웹 사이트를 호스팅할 수 있다. S3를 사용하면 서버가 따로 필요하지 않으며 웹 상 어디에서나 언제든지 원하는 양의 데이터를 저장하고 검색할 수 있다.

AWS S3를 사용하여 정적 웹 사이트 호스팅

본 실습에서는 AWS S3 버킷에 static한 컨텐츠를 업로드하여 정적인 웹 사이트를 호스팅할 예정이다.

S3 Bucket 생성

S3 버킷 이름은 전 세계에서 유일한 이름을 사용해야 한다. 그리고 본인이 사용할 리전을 잘 맞추어 설정해준다.

Bucket 퍼블릭 액세스 차단 설정

버킷에 대한 퍼블릭 액세스는 기본적으로 차단된다. 정적 웹 사이트의 파일은 인터넷을 통해 액세스할 수 있어야 하므로, 퍼블릭 액세스를 허용해야 한다.

생성된 Bucket 확인

위와 같은 설정을 잘 마쳤다면, 생성된 버킷을 아래와 같이 확인할 수 있을 것이다.

정적 웹 사이트 호스팅 설정

버킷의 속성 메뉴에 정적 웹 사이트 호스팅 설정이 있는데, 아래와 같이 설정을 진행해준다.
인덱스 문서와 오류 문서에는 예시에 나와있는 것과 같이 그대로 입력해 주어야 한다.

이후에 버킷에 html, css, js 등의 콘텐츠를 업로드해준다.

정적 웹 사이트 호스팅을 설정하면서 생성된 url을 통해 접속해본다. 현재 버킷 권한을 아직 구성하지 않았기 때문에 403 Forbidden 에러가 표시된다.

객체에 대한 액세스 활성화

AWS S3의 객체를 퍼블릭으로 설정할 수 있는 방법에는 두 가지가 존재한다.

  1. 전체 버킷이나 버킷의 특정 디렉터리를 퍼블릭으로 설정하려면 버킷 정책을 사용한다.
  2. 액세스 제어 목록(ACL)을 사용하여 버킷의 개별 객체를 퍼블릭으로 설정할 수도 있다.

일반적으로 개별 객체를 퍼블릭으로 설정하면 실수로 다른 객체를 공개하는 일이 발생하지 않아 더 안전하다. 그러나 전체 버킷에 민감한 정보가 포함되지 않은 경우에는 버킷 정책을 사용해도 상관없다.

나는 본 실습에서 ACL을 사용하여 버킷의 개별 객체를 퍼블릭으로 설정하였다.

객체를 퍼블릭으로 설정한 이후에 정적 웹 사이트 url에 다시 접속해보자. 그럼 아래와 같이 퍼블릭으로 변경된 객체의 컨텐츠들이 적절하게 호스팅되어 표현되는 것을 확인할 수 있다.

profile
쉽고 즐겁게 개발합시다.
post-custom-banner

0개의 댓글