aws - S3
인프런 JSCODE 박재성님 비전공자도 이해할 수 있는 AWS 입문/실전 강의를 듣고 정리한 내용입니다
https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-%EC%9D%B4%ED%95%B4%ED%95%A0%EC%88%98%EC%9E%88%EB%8A%94-aws-%EC%9E%85%EB%AC%B8%EC%8B%A4%EC%A0%84/dashboard
S3
S3
파일 저장 서비스
-
이미지 파일 업로드 과정
이미지가 저장된 S3 주소를 RDS에 저장
-
이미지 파일 다운로드 과정
S3 버킷 생성하기
-
버킷(Bucket)
-
깃허브의 레포지토리 같은 개념
-
S3에서도 여러 개의 저장소를 만들 수 있는데 여기서 하나의 저장소를 버킷(Bucket)이라고 부름
-
-
객체(Object)
- S3 버킷에 업로드된 파일
AWS > S3 > 버킷 만들기
-
버킷 이름 설정
-
모든 퍼블릭 액세스 차단 해제
-
버킷 만들기
-
버킷에 정책 추가하기
-
정책(Policy)
-
권한을 정의하는 JSON 문서
-
AWS는 기본적으로 대부분의 권한이 주어져있지 않아서 AWS의 특정 소스에 접근하려면 권한을 허용해주어야 함
-
-
버킷 > 권한 > 버킷 정책 > 편집 > 새 문 추가
-
서비스 선택: s3
-
이미지 조회 위한 GetObject 추가
- 리소스 추가
-
서비스 유형: object
-
리소스 ARN:
arn:aws:s3:::{내가 만든 버킷명}/*의 형식으로 입력 -
ARN(Amazon Resource Number): AWS에 존재하는 리소스를 표현하는 문법
-
모든 객체들에 대해 권한 허용
-
"Principal": "*",로 변경- 모두에게 이 권한 허용
-
-
IAM에서 액세스 키 발급받기
기본적으로 AWS의 리소스에 아무나 접근을 못하기 때문에 S3에 접근해서 파일을 업로드할 수가 없음
하지만 백엔드 서버가 S3에 접근해서 파일을 업로드할 수 있어야 하기 때문에 S3에 접근할 수 있는 권한을 받기 위해 IAM에서 액세스 키를 발급받아야 함
AWS > IAM > 액세스 관리 > 사용자 > 사용자 생성
-
사용자 이름 설정
- 권한 설정
- 권한 옵션: 직접 정책 연결
- 권한 정책
- S3Full 검색해서 AmazonS3FullAccess 선택
- 액세스 키 만들기
- 사용자 > 보안 자격 증명 > 액세스 키 > 액세스 키 만들기
-
AWS 외부에서 실행되는 애플리케이션
-
액세스 키 따로 저장해두기
-
- 사용자 > 보안 자격 증명 > 액세스 키 > 액세스 키 만들기
비용 나가지 않게 S3 깔끔하게 종료하기
-
버킷 안에 있는 객체 전부 삭제
-
버킷 삭제