쪼렙 as! 풀스택

S3 스토리지 사용하기 #1 - 버킷 만들고 파일 업로드하기 본문

개발 일지/AWS

S3 스토리지 사용하기 #1 - 버킷 만들고 파일 업로드하기

코코앱 2017. 5. 16. 18:51

서비스를 운영하다보면, 파일을 저장해야할 일이 많다. 예를 들어 사용자가 올리는 사진을 저장해야 하는 서비스를 운영하고 있다면, 그 사진 파일을 운영하는 서버에 직접 저장해두는 방법도 있겠지만, 서버의 블록스토리지는 비싸다! 게다가 웹에서 이미지를 호출한다고 했을 때 S3 스토리지에서 파일을 관리한다면, 파일 로드 & 출력을 서버에서 직접 담당하지 않기 때문에,  서버 리소스를 절약하고 트래픽 요금까지도 절감할 수 있겠다. 특별히 블록스토리지를 사용해야하는 경우가 아니라면, 여러모로 S3 스토리지를 이용하는것이 좋으리라 생각된다.


* 버킷 - S3에서 생성하는 저장소 단위. xxx.xxxxx.com 과같이 도메인 이름 형태로 만들어야 한다.

* 오브젝트 - 파일 한개 + 그 파일에 대한 메타데이터 이다. 가장 최소단위.



1. S3 를 선택한다.



2. Create Bucket 클릭.





3. 버킷이름을 입력한다. ( DNS- Compliant 이름을 사용한다.)







4. 버킷이 생성되었다. 버킷 이름을 클릭해서 버킷 내부로 들어가보자.






5. 방금 버킷을 만들어서, 아무런 Object (파일) 이 없다. 일단 테스트용 이미지파일 하나를 업로드해보자. Upload 클릭.



6. 업로드 창에다 올릴 파일들을 그냥 끌어다만 놔도 올릴 준비가 된다 (드래그앤드롭) 업로드 버튼을 클릭해서 업로드 시작.







7. 업로드된 파일을 선택해보면 우측에 Link 라는 항목이 나오는데, 이게 이 파일(Object)의 URL 주소이다. 이 주소로 접근할 수 있다. 클릭해보자.




8. 이 URL 주소를 눌러보면, 퍼미션이 없어서 Access Denied 로 열어볼 수가 없다!!!!! 웹을 통해서 이 파일을 열어보고 싶으면 퍼미션을 설정해줘야한다. 





9. 다시 7번 그림에서 파일 이름을 직접 클릭해서 상세보는 화면으로 들어가보자. Make Public 버튼을 눌러주면, "Success" 표시가 되면서, 이제부터는 웹을통해서 파일을 열어볼 수 있게 된다.






그러나 이렇게 파일 하나하나 올릴 때마다 Make Public 을 해줄 순 없는 노릇이다.

특히나 서비스를 운영할 때는, 서버에서 S3 - API 를 이용해서 자동으로 파일을 업로드해야할텐데 말이다.

그래서 이 버킷 자체의 퍼미션에 대한 설정이 필요하다. 다음 포스트에서...

Comments