S3 버킷 이미지 업로드 / 정적 웹 사이트 호스팅
S3란
- 어디서나 원하는 양의 데이터를 저장하고 검색할 수 있도록 구축된 객체 스토리지이다
- 최소 3개의 AZ에 데이터 중복 저장(99.9999999% 내구성)
- 스토리지 중 EC2와 별개로 단독으로 사용 가능하다
- 인터넷용(인터넷 접근 가능)
- 버킷 안에 object(파일+메타데이터)가 있다
- 버킷 생성 시 자동으로 URI가 생성된다
- 버킷은 file시스템이 아닌 object로 file시스템의 폴더와 같은 기능을 주기 위해 접두사 "/"사용하지만 사실은 평면에 같은 레벨로 저장되므로 속도가 빠르다
- 버저닝(versioning): 새로운 파일로 덮어쓸 때, 기존의 파일에 대한 정보를 유지시키고 싶다면 버저닝을 활용하여 백업본을 생성한다
S3 구성
- 버킷(Bucket) : 데이터를 저장하는 가상의 저장소, 고유한 이름을 생성해야 함
- 오브젝트 : 저장 파일명
버킷 이미지 업로드
STEP1 버킷 생성
버킷만들기를 클릭하고 버킷이름(고유한 이름)과 리전을 선택한다
외부 브라우저(아마존 사용자가 아닌)에서 버킷에 대한 파일의 접근을 허용해야하므로 "모든 퍼블릭 액세스 차단"을 해제한다 (아래의 네모박스에 체크한다)
버킷 버전관리를 활성화 안하면 동일한 파일을 업로드하면 덮어쓰기가 되고 활성화 하면 동일한 파일을 업로드해도 각 각 업로드된다. 또한 버전관리 활성화 시 삭제하면 실제로 삭제되진 않고 삭제됐다는 delete마크만 붙고 복원이 가능하지만 비활성화 시 삭제하면 완전히 삭제된다. 참고로 버전관리 비활성화에서 활성화하면 다시 비활성화가 불가능하고 대신에 일시중지는 가능하다
버킷이 생성된 것을 볼 수 있다
STEP2 이미지 업로드
버킷이 생성되었으면 이미지를 업로드 해보자
버킷을 클릭하고 "업로드"(주황색 메뉴)를 클릭하면 아래와 같은 화면이 나온다
파일 추가를 클릭하고 탐색기에서 원하는 이미지를 선택한다
(여기서는 "agriculture-1822443_1920.jpg"를 선택했다)
이미지가 추가된 것을 확인한 다음 스크롤을 내려 "추가 업로드 옵션"을 클릭한다
외부 사용자가 파일에 대한 접근 권한을 설정하는 페이지로 모든 사람(퍼블릭 액세스)이 읽기가 가능하도록 체크해준다
STEP3 이미지 확인
이미지(객체)가 버킷에 업로드 되었다. 이미지를 확인해보고 싶다면 객체를 클릭한 다음 "객체 URL"을 복사한 다음 브라우저에 입력해본다
업로드 한 이미지가 잘 뜨는 것을 확인할 수 있다
정적 웹 사이트 호스팅
STEP1 버킷 생성 및 버킷 속성 설정
정적 웹 사이트 호스팅용 버킷을 새로 하나 생성한다(이미지 업로드용 버킷과 똑같이 만든다)
버킷이 생성되었으면 버킷을 클릭하고 "권한"탭을 클릭한다
스크롤을 맨 아래로 내리면 "정적 웹 사이트 호스팅"이 비활성화 되어있는 것을 볼 수 있는데 편집에 들어가서 활성화로 변경한다
STEP2 템플릿 다운로드 및 버킷 업로드
버킷 설정이 완료되었으면 https://startbootstrap.com에 접속하여 원하는 HTML 템플릿을 다운받는다
다운로드 받은 압축파일을 풀기한 뒤 폴더에 들어있는 모든 파일을 업로드하고 "index.html" 파일이 들어있는지 확인한다
STEP3 웹 사이트 접속
"index.html"을 클릭해서 들어가면 객체 URL이 생성되어 있다
URL을 브라우저에 입력하면 정적 웹 사이트가 생성되어 있는 것을 확인할 수 있다