본문 바로가기
코드리뷰/AWS 리뷰

10분만에 정적 웹 호스팅 만들기 (AWS S3사용)

by 디마드 2021. 8. 16.

아마존 S3 서비스를 이용하면 정적인 웹 페이지를 쉽게 구현할 수 있다. AWS 수많은 서비스 중 S3는 대표적인 서비스로 일종의 웹 서버 디렉터리를 제공한다고 생각하면 이해가 쉬울 것이다. S3는 Simple Storage Service의 약자다. 

먼저 AWS 회원 가입을 해야한다. 신용카드를 등록해야 가입이 가능하다. 즉, 사용량이나 서비스에 따라 과금이 될 수 있다는 얘기다. 물론 처음엔 프리티어를 이용하겠지만 사용량 증가나 프로그래밍 오류도 거래량을 초과하여 요금이 부과될 수 있으니 주의가 필요하다. 

회원가입이 완료되었으면 S3 서비스를 구축해보자.

[로그인 : 콘솔에 로그인]

[루트 사용자로 로그인]

[S3 검색하여 이동]

[버킷 만들기] 

버킷은 일종의 폴더 개념으로 생각하면 된다. 객체(파일, 이미지 등)를 담는 그릇인 셈이다. 버킷 이름은 S3전체에서 중복이 되지 않아야 한다. 유니크한 네이밍으로 생성하자. 

AWS리전은 서울이 포함된 "아시아 태평양(서울) ap-northeast-2"로 선택한다. 리전은 AWS 데이터 센터들이 모여 있는 대표 지역명이다. 가까운 곳을 선택하는 게 서버 응답 시간에 유리하다. 리전은 AWS 클라우드의 최상위 구분이라 할 수 있고 리전끼리는 서로 공유되지 않는다. 

[파일 업로드 하기]

정적 웹 호스팅 테스트 용도이므로 되도록이면 작은 크기의 이미지를 올린다. 물론 무료 제공하는 서비스가 그렇게 팍팍하지는 않지만 항상 임계치를 생각해야 한다. 

[웹에서 이미지 확인]

정적 웹 URL을 복사하여 브라우저에 띄워보자. 

에러가 발생할 것이다. S3는 폐쇄형 권한 정책을 사용한다. 따라서 별도 설정하지 않으면 권한이 비활성화 되어 있다. 

S3 버킷 Access 권한 편집

모든 퍼블릭 액세스를 차단 해제 

다시 웹 페이지를 열어보자. "Access Denied" 가 동일하게 나오는 것을 확인할 수 있다. S3는 버킷에 대한 권한 설정뿐만 아니라 각 객체에 대해서도 권한을 부여해야 한다. cat.jpg 권한 설정에서 "모든 사람(퍼플릭 액세스)"에 읽기를 활성화한다. 

[정적 웹 호스팅 성공]

 

이상으로 S3를 이용한 간단한 웹 호스팅을 구현해보았다. S3는 파일서버외에도 별도 서버 구현 없이 이런 서비스를 제공할 수 있다. 또한 AWS의 Lambda 서비스를 이용하여 S3를 호출할 수도 있어 그 활용폭이 넓다.

[마지막으로 가장 중요한 리소스 정리]

생성한 역순으로 정리하면 된다. 

버킷 삭제 - 버킷명을 입력한다.

혹시나 과금이 되었을까봐 걱정된다면 "내 결제 대시보드"를 확인하자. 

반응형

댓글