😆 Big Data/- AWS

[AWS] Amazon S3(Simple Storage Service)를 만들어보자!

또방91 2022. 1. 20. 09:12
728x90

 

 

 

 

 

 

 

 

AWS S3를 만들어보자!

 

 

1. S3란?                                                

 Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. 모든 규모와 업종의 고객은 Amazon S3를 사용하여 데이터 레이크, 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터프라이즈 애플리케이션, IoT 디바이스, 빅 데이터 분석 등 다양한 사용 사례에서 원하는 양의 데이터를 저장하고 보호할 수 있습니다. Amazon S3는 특정 비즈니스, 조직 및 규정 준수 요구 사항에 맞게 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공합니다.

즉, 간단한 저장 서비스라고 생각하면 된다.

 

 

*AWS 공식홈페이지 - S3 설명

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/Welcome.html

 

Amazon S3란 무엇인가요? - Amazon Simple Storage Service

Amazon S3란 무엇인가요? Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. 모든 규모와 업종의 고객은 Amazon S3를 사용하

docs.aws.amazon.com

 

2. S3를 만들어보자!                         

 

🧺1.  S3 메뉴 접속하기

; aws.amazon.com에 접속해서 로그인을 한뒤 상단검색창에 S3를 검색한다!

 

🧺2.  버킷 메뉴 접속 및 버킷 만들기!

; 왼쪽 메뉴 중 [버킷]을 선택하고 >> 주황색 [버킷 만들기]버튼을 눌러 시작한다.

** 버킷이란? 드라이브 ex) C드라이브, D드라이브

- 버킷은 폴더개념이 아니므로 버킷안에 버킷을 생성할 수 없다.

- 진짜 단순하게 객체 파일만 담는 용도 

** 객체란? 파일과 같은 것 ex) txt파일, jpg 파일

 

 

🧺3.  S3 버킷만들기

1) 버킷 이름: 모든 사용자, 모든 리전 중 이름이 '유일'해야합니다.

(* 유일해야하기 때문에 여러가지 조합을 하려하겠지만.... 몇 자 이상, 특수문자는 안되고... 이런 규칙들이 있다.)

자세한 사항은 아래 사이트 클릭👇

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/bucketnamingrules.html

2) 버킷 리전: 원하는 리전 선택

3) 객체 소유권: 다른 AWS 계정에서도 소유권을 갖거나 접속제어 가능유무를 선택하는 거다.

[ACL 비활성화를 선택]해서 내가 접속한 계정에서만 소유하도록 합니다.

 

🧺4.  S3 버킷 액세스 차단 설정

; 나의 경우에서는 위에서처럼 이 버킷을 나 혼자 사용자로 지정했지만 !!! 

나의 퍼블릭ip에서도 접속하는 걸 원하기에 [모든 퍼블릭 액세스 차단]을 해제해주고, 아래 '⚠ 퍼블릭 상태가 될 수 있음을 알고 있습니다'을 선택해주었다.

 

 

🧺5.  S3 정책 설정하기

5-1.  IAM 서비스 메뉴에 접속한다 (검색창에 IAM 검색)

 

5-2.  왼쪽 메뉴에서 [정책]을 선택 >>> s3  검색해서 AmazonS3FullAccess를 선택 >> 작업 중 attach를 선택하기

 

5-2.  정책을 연결해줄 사용자 or 그룹을 선택 >>> [정책연결]을 클릭

; 나의 경우는 DevOps 그룹에 연결된 사용자계정으로 S3를 사용할거라서 그룹에 연결해줬다.

 

🧺6.  만들어놓은 버킷에 [권한]설정해주기

; 다시 [S3 ]메뉴에서 [버킷]메뉴에 들어가, 권한 설정해줄 S3버킷을 누른다. 

 

; 선택한 S3버킷에서 [권한] 카테고리에 들어가 버킷 정책을 [편집] 한다.

 

🧺7.  버킷 정책 편집하기

;  버킷 정책 편집 후  >>> [변경사항 저장] 클릭

1) Sid: 유니크 ID

2) Pricipal:  보안의 주체. 특정 사용자에 대한 권한을 제어하고 싶다고 입력

- 나의 경우 전체에 대해 설정해주었다.

3) Effect:  버킷에 대한 명령제어를 Allow / Deny 둘 중에 선택 

4) Action: 동작할 것을 '서비스: 작업' 형식으로 작성 

 - 나의 경우 S3에서 파일객체Object를 Get할거니까 's3:GetObject'라고 작성함

5) Resource: 해당 statement에 대해 접근 권한을 주고자하는 버킷을 입력. 버킷 ARN을 사용해서 지정해준다.

- 정책 칸 바로 위에 써져있는 버킷 ARN 복사버튼을 눌러 복붙하면 편리함 

완료가 되면 위에 편집했다고 초록줄이 뜬다.

 

🧺8. 잘 만들어 졌는지 확인하기

8-1. 직접 업로드해보기

; [업로드]버튼을 눌러보고 사진 업로드 해보기

직접 업로드가 잘 되었음을 확인

 

8-2. 파이썬으로 파일 업로드해보기

; s3.upload_file( ) 함수를 사용하여 같은 디렉토리에 있는 '1.jpg' 파일 업로드하기

https://github.com/LIMSONA/KDT/blob/main/3wk/firstWeb/aws_bucket_test.py

 

 

 

* 앞으로 연결해놓은 AWS S3로 이미지 파일을 올릴 수 있게 되었다! 🙃

* 잘 이용해봐야지! 끄-읏!

 

 

 

 

728x90