S3 란?
파일 저장 서비스
구글 드라이브나 iCloud 와 같은 종류의 서비스라고 생각하면 쉽다.
S3 사용하는 이유?
백엔드 서버를 구현하다보면 이미지 업로드 기능을 구현할 때가 많다. 그 이미지 파일들을 EC2 내부에 저장할 수 있지만 그러면 EC2에 쌓이는 파일들이 많아져 지저분해지게 된다.
그래서 파일 저장 뿐만 아니라 파일을 다운받는 것에 대해 최적화되어 있는 서비스인 S3를 사용한다.
이미지 파일 업로드 과정 아키텍처
이미지 파일 다운로드 과정 아키텍처
S3 버킷 생성
S3 버킷(Bucket) 이란?
S3에 여러 개의 저장소를 만들 수 있는데 하나의 저장소를 버킷(Bucket) 이라고 부른다.
객체(Object) 란?
S3에 업로드한 파일을 파일(File)이라 부르지 않고 객체(Object)라고 부른다. 즉, S3 버킷에 업로드된 파일
1. S3 버킷 생성하기
2. 버킷 설정하기
나머지는 기본값으로 설정해준다.
3. 버킷 생성 확인
버킷에 정책 추가
정책(Policy) 이란?
권한을 정의하는 JSON 문서
AWS는 대부분의 권한이 주어져있지 않아서 특정 소스에 접근하려면 권한을 허용해주어야 한다. 권한을 허용할 때 작성해야 하는게 정책이다.
1. 버킷에 정책 추가하기
2. 정책 추가 및 설정하기
버킷에서 이미지 파일을 조회(다운로드)할 수 있는 정책을 추가해보자
getObject : object를 조회할 수 있는 권한 줄 때 사용
- ARN (Amazon Resource Number) : AWS에 존재하는 리소스를 표현하는 문법
- 리소스 ARN : arn:aws:s3:::{BucketName}/{ObjectName}
BucketName : 내가 만든 버킷명
ObjectName : *로 지정해주면 모든 object(파일)에 대해 접근 가능
=> 내가 만든 버킷안의 모든 object(파일)에 대해 접근 가능하다.
- principal : 누구한테 이 권한을 허용할 것인지( * 은 모든 사람)
IAM 사용자 생성
IAM(Identity Access Management) 이란?
AWS 리소스에 대한 액세스를 제어할 수 있는 서비스
1. [IAM] - [사용자] 메뉴에서 사용자 생성하기
2. 사용자 정보 설정하기
IAM에서 액세스 키 발급
1. [사용자] - [보안 자격 증명] 에서 액세스 키 만들기
2. 액세스 키 설정하기
외부 백엔드 서버에서 액세스하기 때문에 'AWS 외부에서 실행되는 애플리케이션' 을 선택해준다.
액세스 키와 비밀 액세스 키는 액세스할 때 필요하기 때문에 따로 적어두도록 하자
'AWS > Basic' 카테고리의 다른 글
[AWS] S3 & Cloudfront를 이용한 정적 웹 호스팅(웹 서비스 배포하기) (0) | 2024.07.25 |
---|---|
[AWS] 비용 나가지 않게 S3 깔끔하게 종료하기 (0) | 2024.07.18 |
[AWS - 데이터베이스 연결하기] DBeaver로 RDS에 접속하기 (0) | 2024.07.18 |
[AWS - 데이터베이스 연결하기] RDS란? & RDS 생성하기 (보안 그룹, 파라미터 그룹 설정) (1) | 2024.07.17 |
[AWS] 비용 나가지 않게 ELB 종료하기 (0) | 2024.07.17 |