-
Node js, AWS S3(Simple Storage Service) 파일 업로드 #1AWS/S3 2020. 2. 4. 20:48
마도리 3은 SNS 앱이라 이미지, gif 등 파일 이미지 관리할 방법에 대해 궁리를 해야 했다. 현재 가장 많이 사용하고 있는 S3(Simple Storage Service) 환경설정 및 파일 업로드 과정 포스팅
100G 기준 한달 3~4천원이면 유지가 가능하다고 우결형이 말해줌.
이 서비스 이용하기 위해서 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에서 생성할 수 있다.
앞서 잠깐 언급했었는데, 다음 포스팅에서 다루기~
'AWS > S3' 카테고리의 다른 글
Node js AWS S3 파일 업로드 환경설정 #2 IAM(Identity and Access Management) (0) 2020.02.04