AWS/S3

Node js, AWS S3(Simple Storage Service) 파일 업로드 #1

minwoohi 2020. 2. 4. 20:48

마도리 3은 SNS 앱이라 이미지, gif 등 파일 이미지 관리할 방법에 대해 궁리를 해야 했다. 현재 가장 많이 사용하고 있는 S3(Simple Storage Service) 환경설정 및 파일 업로드 과정 포스팅

100G 기준 한달 3~4천원이면 유지가 가능하다고 우결형이 말해줌.

https://aws.amazon.com/ko/

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

미디어 및 엔터테인먼트 Live Nation Entertainment, AWS를 사용하여 혁신 속도를 높이고 비용을 절감하며 애플리케이션 가용성을 개선 세계 최고의 라이브 엔터테인먼트 기업이 어떻게 AWS 클라우드를 사용하여 고객에게 개선된 경험을 더욱 빠르게 제공하는지 알아보십시오. 자세히 알아보기  보다 나은 고객 경험 추구 Live Nation은 콘서트를 제작하고, 티켓을 판매하고, 밴드를 음악과 연결해주는 세계 최고의 라이브 엔터테인먼트 기업입니다

aws.amazon.com

이 서비스 이용하기 위해서 aws 계정이 필요하다. 계정 생성 및 카드 등록 과정은 생략

로그인하고, 좌상단 서비스 클릭하면 다음과 같이 사용할 수 있는 서비스들 나온다. s3 클릭

S3 컨셉

버킷, 객체(파일)로 이루어진 저장공간인데, 버킷에 객체(파일)을 CRUD 통해 관리한다고 생각하면 편할듯. 이거 만드는 과정

 

내가 이해한대로 속성 정리하면

1. 버전관리

- 파일을 여러가지 버전으로 관리할 수 있도록 돕는다(SVN같은걸로 이해함)

2. 서버 엑세스 로깅

- 해당 버킷 접근시 로그 남겨줌. 난 체크 안했는데, 비용 발생할 수도 있다고 하니 자세히 봐야 할듯

3. 태그

- 객체 업로드 할때 태그 name, value 설정할 수 있던데, 정확한 사용법 아직 모르겠음

4. 객체수준 로깅

- 2번 서버 엑세스 로깅과 마찬가지로 객체단위로 접근 로깅.

5. 기본 암호화

- 보안 위해 암호화 해주는 것 같음. 보안위해 디폴트 값으로 체크

6. CloudWatch 요청 추정치

- 통계 기능같은데 패스함

퍼블릭 엑세스 차단

무분별한 스토리지 접근을 막기 위해 모든 퍼블릭 엑세스 차단 설정하는게 기본 설정이다.

S3 사용한 앱은 항상 서버를 통해 이미지를 관리한다. 퍼블릭 접근을 허용하면 보안 및 용량 관리할 때 어려움을 겪을 수 있기 때문.

AWS에서 제공해주는 IAM(Identity and Access Management) 기능을 통해 발급받은 키를 통해서만 버킷 및 객체 접근이 가능하도록 구성하는 것이 보통 구조이나, 예제 작성을 위해 상위 2개 체크하지 않음.

> 이렇게 하면 AWS 콘솔(웹사이트)에서 업로드한 파일 접근이 가능하다.

설정한 내용 확인 후 버킷 만들기 클릭. 버킷 생성이 완료된다.

노드에서 파일 업로드 할 때 AWS 객체 만들어야 하는데, 객체생성시 필요한 키들을 IAM에서 생성할 수 있다.

앞서 잠깐 언급했었는데, 다음 포스팅에서 다루기~