개발 일기

AWS S3 와 IAM 본문

TIL(Today I learned)

AWS S3 와 IAM

flow123 2021. 10. 10. 20:21

S3란? 

 

AWS 에서 EC2 와 더불어 가장 많이 쓰이는 서비스 중 하나다. 

버킷 = 파일을 저장하는 폴더 같은 것이다. 

S3에는 class 라는 개념이 있는데, 데이터 접근 빈도에 따라서 class 를 나눈다.

Glacier 같은 아카이브 서비스를 이용할 수도 있고. 접근 빈도가 많을 수록 사용 비용이 높다. 그러니, 접근하지 않는 데이터는 infrequent access 같은 class 로 분류해두면 비용을 절감할 수 있다. Class 분류법은 AWS 에서도 비용 최적화에서 제시하는 대표적인 전략 중 하나이다.

 

S3 파일업로드가 왜 유용할까?

 

네이버에 프로필 이미지 올리기를 생각해보자. 

클라우드가 없었을 때는 이미지 업로드 -> 디스크 저장 -> 디스크 파일 읽는 방식이었다. 그런데 s3 덕분에 파일저장소를 분리할 수 있게 되었다. S3에 파일을 올리면 객체 url이 생긴다 EX. https://bucket명.s3.리전명.amazonaws.com

 

S3의 장점?

 

버킷이 public 이라고 파일도 자동적으로 public 설정이 되는 건 아니다.

파일의 public 설정은 별도로 해주어야 한다.

 

S3 는 저장 뿐 아니라 정적 웹 사이트 호스팅도 가능하다 (html, javascript ,  css 같은)

서버 개설하지 않고도, 서버 관리할 필요도 없음.

 

IAM

 

리소스에 사용하는 권한 조절.

EX. 사용자의 프로필 사진 올리기.

IAM 사용해서 S3 프로그램과 연동. 개발언어 가지고 연동.

 

*SDK

어떤 플랫폼에서 프로그래밍을 돕는 라이브러리.

AWS SDK 를 이용하면, 개발과 연동해서 AWS 를 사용할 수 있게 된다.

참고: SDK 다운로드 (윈도우 url)

https://awscli.amazonaws.com/AWSCLIV2.msi

아래 명령어로 버전 확인이 가능하다.

aws --version

 

SDK 로 S3 파일 업로드하는 명령어

aws s3 cp {파일명} s3://{버킷이름} --acl public-read

 

'TIL(Today I learned)' 카테고리의 다른 글

Hello World!  (1) 2021.11.04
SQL 데이터베이스 활용하기  (0) 2021.10.13
2차 프로젝트 준비 / 3일 간 할 일들  (0) 2021.10.08
로그인 기능 구현  (0) 2021.10.07
생활코딩 파이썬 입문 편  (1) 2021.10.04
Comments