본문 바로가기
AWS

11. S3 - (1)

by shulk 2024. 10. 29.

1. S3란?

파일을 업로드하고 저장하는 서비스

2. S3란 사용이유?

백엔드 서버인 EC2에도 이미지나 파일을 저장할 수 있으나 나중가면 너무 많아지고 지저분해진다.

그리고 S3는 저장뿐 아니라 다운받는것도 최적화 되어 있어서 사용한다. 

 

3. 이미지 파일 업로드 아키텍처


이미지 업로드 아키텍처보면 사용자가 이미지 업로드 API요청 하면 EC2는 S3에 업로드하고 S3는 EC2한테 저장된 이미지 URL리턴하면 EC2는 RDS에 URL를 저장한다.

4. 이미지 파일 다운로드 아키텍처

이미지 파일 다운로드 아키텍처 보면 사용자가 이미지 업로드 조회 API 요청후 EC2는 RDS한테 조회 SQL날리고 이미지 URL 받고 사용자한테 응답을한다. 그러면 사용자는받은 URL을 S3한테 이미지 다운받는다. 

 

5. S3용어 버킷,객체

버킷이란? 깃허브에 레포지토리를 여러개 만들 수 있는것처럼 S3도 여러개의 저장소를 만들수 있다. 여기서 하나의 저장소를 버킷이라 부른다
객체란? SE에 업로드된 파일을 보고 S3에서는 파일이라 부르지 않고 객체라 부른다. 즉 객체는 S3 버킷에 업로드된 파일을 말한다

 

6. S3 버킷 생성하기

(1) 리전 잘 확인후 S3페이지 들어간후 버킷 만들기 클릭

 

(2) 버킷 이름 적는다

 

(3) 퍼블릭 엑세스 차단을 풀어주고,밑에꺼는 체크. 

이유는 내가 서비스하는거에 다른 사람들이 이미지 조회,다운할 수 있게 해야하니

 

(4) 이후 다른건 다 냅두고 버킷만들기 클릭하면 이렇게 만들어진다

7. S3 버킷의 정책 추가하기

정책이란? 권한을 정의하는 JSON문서를 의미한다. AWS는 대부분 디폴트로 권한이 주어져있지 않아서 특정 소스에 접근하려면 권한을 허용해줘야한다
그래서 권한을 허용할때 작성해야하는게 정책이다

 

[예시로 특정 서비스의 상품이미지를 모든 사용자한테 보여준다할때 버킷에서 상품 이미지를 다운로드해서 사용할 수 있어야하니 정책을 추가해본다↓]

 

(1) 만든 버킷 클릭후 -권한 -  버킷정책 편집 클릭 - 새 문 추가 클릭

 

(2)  - S3 검색후 클릭후 - GetObject 검색후 클릭 하고 리소스 추가

GetObject는 객체들을 조회하는거를 말하니 선택하면 객체조회 허용하는거다

 

(3) 리소스 유형을 object 선택 - 리소스 ARN에 {버킷이름} 을 내가 생성한 버킷 이름 적고 , {오브젝트이름} 을 * 로 적고 - 리소스 추가

ARN이란? Amazon Resource Number의 약자이다. AWS에 존재하는 리소스를 표현하는 문법이다. 
ARN에 적은 의미는 연대기 버킷에 있는 모든 객체에 대해 리소스의 대상을 정한다는거다

 

(4) 이제 정책부분 보면 (1)은 권한은 허용한다는거고 (2)는 S3에 있는 객체조회를 허용한다는거고 (3)은 연대기 파일에 있는 모든 객체들 

 

(5) Principal을 "*"  로 변경 - 변경사항 저장

이뜻은 누구한테 이 권한을 허용할거냐 말하는거니 "*"로 적으면 모든사람 말한다

'AWS' 카테고리의 다른 글

13. CloundFront - (1)  (0) 2024.10.30
12. S3 - (2)  (0) 2024.10.29
10. RDS - (2)  (0) 2024.10.28
9. RDS - (1)  (0) 2024.10.28
8. HTTPS연결-(3)  (0) 2024.10.26