운동하는 공대생
AWS S3 본문
1.Intro
s3 버킷은 아마존 웹 서비스에서 제공하는 온라인 클라우드 스토리지 웹 서비스로 Simple Storage Service를 줄여서 s3 라고 부른다.
s3는 일반 저장 폴더처럼 데이터를 저장도 가능하고 API에서 호출을 하여 데이터를 저장, 불러오기 등이 가능하다.
아마존에서는 스토리지 서비스를 매달 1GB 당으로 계산하여 비용을 지불한다.
2. AWS S3
AWS S3 서비스는 AWS 서비스 안에서는 권한을 적용하면 호출과 접근이 자유롭지만 외부에서 접근을 하려면 버킷에서 제공하는 key값을 입력하고 버킷을
public으로 전환하여 접근을 해야한다.
3. S3 호출
이번 프로젝트를 진행하면서 S3에 값을 저장하거나 호출하는 방식을 굉장히 많이 이용하였다.
호출은 Lambda에서 호출하는 방식과 외부에서 S3를 호출하는 방식 2가지를 나눠서 설명 하겠다.
3.1 Lambda에서 S3호출
Lambda에서 S3를 호출하는 방식은 client, resource 2가지 방식이 있다.
client
import boto3
s3_client = boto3.client('s3')
Client: low-level service access
API와 일대일로 지원
resource
import boto3
s3_resource = boto3.resource('s3')
Resource: higher-level object-oriented service access
자원에 대한 조작 중심
3.2 외부에서 S3 호출
외부에서 S3 버킷을 호출하거나 파일을 업로드 해야하는 상황이 발생한다면 먼저 버킷이 public 상태가 아니라면 접근 권한을 허용하는 키 값을 가지고 버킷에 접근을 해야한다.
a. 버킷이 퍼블릭 상태인지 아닌지 확인
b. AWS계정의 접근 권한을 관리하는 IAM에서 액세스 키 관리 선택
c. 새 액세스 키 값을 만들어서 액세스 키 값과 Secret 키 값을 부여받는다.
d. 부여받은 키값을 이용하여 S3를 호출한다.
'AWS > S3' 카테고리의 다른 글
Pre-signed URL using python for file upload in AWS S3 (0) | 2022.11.08 |
---|