오늘은 AWS의 S3서비스에 대해서 정리해보도록 하겠습니다.

 

1. S3

S3는 Simple Storage Service를 의미합니다.

간단한 저장 서비스라는 것이지요.

단순히 저장에 대한 서비스만 제공하는 것이 아니라,

저장한 데이터를 안전하게 분산하여서 99.999999999% Durability를 제공해준다고 합니다.

 

간단하게는 보면 S3는 우리가 저장하고자하는 파일과 폴더를 Bucket이라고 하는 단위에 저장하고,

이 Bucket은 여러 지역의 AWS서버들에 분산되어서 안전하게 저장되어집니다.

 

2. Bucket

S3에서는 프로젝트별로 Bucket을 구분합니다.

각각의 Bucket안에 파일과 폴더들이 들어가게 되겠지요.

S3의 공식문서를 보면, object라는 표현이 많은데요.

S3에 저장하는 File들이 object(파일과 그와 관련된 속성들)로 존재하게 됩니다.

따라서 공식문서를 볼 때, object라고 하면 저희가 저장하고자하는 또는 Access하고자 하는 파일들을 애기한다고 생각하면 됩니다.

 

2-1. Bucket 생성하기

S3를 시작한다는 것은 곧 Bucket을 생성해서 사용한다는 것을 의미합니다.

S3콘솔에 들어가서 좌측 메뉴에서 Buckets를 선택해 주시면,

Create Bucket버튼이 보이는 것을 알 수 있습니다.

 

 

 

버튼을 누르면 생성할 버킷의 속성을 설정하는 화면이 나오게 됩니다.

가장 먼저 설정한 것은 이름과 Region인데요.

이름은 수정하기 힘드니, 신중하게 선택하셔야 합니다.

 

 

다음 옵션은 Public Access에 관련한 세팅인데요.

가장 위의 Select Box를 선택하면 모든 public access가 거절되구요.

첫번재와 두번째옵션의 해제를 풀어주면, 공개가 되어서 일반사람들이 사용할 수 있게 됩니다.

 

 

 

사실 이 권한 부분은 조금 알아두실 필요가 있는데요.

각각 아래표와 같은 의미가 있습니다.

 

여기서 ACL이라고 등장하는 단어는 액세스 제어 목록(Access Control List) 의미합니다.

 

구분 내용
Block public access to buckets and objects granted through new access control lists (ACLs) 새로운 Bucket이나 object에 Public한 Access가 금지됩니다.
기존의 Bucket이나 Object에 접근할 수 있는 새로운 ACL의 public Access생성도 금지됩니다.
Block public access to buckets and objects granted through any access control lists (ACLs) bucket과 Object에 액세스 public한 액세스가 허가되는 것이 무시됩니다.
Block public access to buckets and objects granted through new public bucket or access point policies bucket과 object에 public access를 허가하는 access point policy들이 Block됩니다.
기존의 policy설정에는 영향이 가지 않습니다.
Block public and cross-account access to buckets and objects through any public bucket or access point policies public과 cross-account 액세스가 무시됩니다.
또한 bucket과 object에 public access를 허가하는 policy를 가진 access points 들도 무시됩니다.

 

쓴만큼 돈을 내는 S3를 인증을 거치는 AWS의 다른 서비스를 거치지않고,

퍼블릭 액세스를 허가할 필요가 있는 경우는 특별히 없을 것 같습니다.

(물론, 웹사이트의 이미지 리소스들을 S3를 통해서 호스팅하는 경우등은 예외가 되겠지요.)

디폴트값도 4개의 Block public access가 모두 on되어있습니다.

 

다음 옵션은, Bucket에 대해서 Version관리를 할지에 관한 것 인데요.

당연히 Version관리를 하면 좋겠지만, 공짜는 없습니다.

비용대비 필요성에 대해서 판단해야 하겠지요.

TAG도 설정할 수 있지만요 넘어가도록 하겠습니다.

 

 

암호화와 관련된 옵션도 있습니다.

디폴트값은 Disable로 되어있습니다.

 

 

 

이렇게 설정이 다 완료되었으니 화면하단의 Create Bucket버튼을 눌러주시면 됩니다.

그럼 아래와 같이 생성했던 Bucket이 리스트에 나오는 것을 알 수 있습니다.

선택을 해주면, 왼쪽에 radio버튼을 체크하시면, Delete버튼이 활성화 되어서 생성했던 Bucket을 지울수도 있습니다.

 

 

2-2. Folder 생성하기

생성된 Bucket의 이름이 클릭할 수 있는 색으로 나와있는데요.

이를 클릭해서 Bucket안으로 들어가보면 아래와 같은 화면을 볼 수 있습니다.

Create folder와 Upload버튼을 이용하면, folder를 생성하거나 파일을 업로드를 할 수 있는데요.

예전에 웹하드를 사용해보신분들이라면 크게 어렵지 않으실 것 입니다.

 

 

 

폴더이름을 적어주고, 우측하단의 Create folder를 눌러서 folder를 생성해 주면 됩니다.

 

 

 

아래와 같이 위에서 폴더가 생성된 것을 볼 수 있습니다.

 

 

이외에도 아래와 같은 Action들을 Action드롭다운메뉴를 눌러서 여러 기능들을 선택할 수도 있습니다.

 

 

 

 

2-3. 파일 추가하기

폴더안에 들어가서 Add files를 눌러주어도 되구요.

그냥 로컬 컴퓨터에서 파일 또는 파일이 들어있는 폴더전체를 아래의 화면 UI에 드래그해서 드롭해주어도 됩니다.

 

 

매우 간단하게 폴더나 파일을 추가할 수 있습니다.

 

2-4. 파일 링크와 권한

Properties를 선택하면 아래와 같이 해당 파일의 object link(파일 링크)를 볼 수 있는데요.

이 링크가 바로 이 파일(Object)에 접근할 수 있겠지요.

 

 

 

현재는 Public에 권한을 Block해 놓았기 때문에, 그냥 브라우저에서 해당링크를 열면 아래와 같은 화면을 보게 됩니다.

 

 

이 파일의 권한에 대해서는 파일을 선택하면 나오는 탭중, 두번째인 Permissions를 열어보면 볼 수 있는데요.

현재는 owner만 권한을 가지고 있네요.

수정하기 위해서는 Edit버튼을 누르면 되는데요.

 

상위의 Bucket에서 public access를 Block해 놓았기 때문에,

Edit버튼을 눌러도 Public에 Access가능하도록 설정할 수 없습니다.

 

 

3. 요금표

S3는 Bucket을 많이 만든다고 많이 과금되는 형태가 아닙니다.

얼마나 많은 Object가 들어있어서 용량을 차지하고, Request나 Data Transfer가 얼마나 많이 일어났느냐등에 따라 과금이 되게 됩니다.

 

3-1. FreeTier

AWS에서는 가입한 후 1년간 FreeTier를 제공해 주는데요.

다음과 같은 양의 스토리지를 무료로 사용할 수 있습니다.

 

구분 무료 사용량
S3 Storage 5GB
GET Request 20,000
PUT, COPY, POST 
or List Request
2,000
Data Transfer 15GB/월

 

 

3-2. 요금

요금에 대해서는 Storage, Request & data retrivals, Data transfer, Managements, Replication, Lambda등에 대해서 각각 사용량만큼 과금되어지는 구조입니다.

 

아래는 Storage에 대한 것 이구요.

서울을 기준으로 했을 때는 아래와 같습니다.

 

 

오하이오를 기준으로 하면 아래와 같습니다.

가격이 조금 저렴해지는데요.

위치가 가까울수록 서비스속도가 빨라지는 것은 당연한 이야기이겠지만,

사용자가 이를 얼마만큼 체감할 수 있느냐가 중요하겠지요.

 

 

Request당 요금은 아래와 같습니다.

 

 

 

4. 정리

S3의 Bucket을 생성하고 File을 넣는 방법등의 사용법과 요금에 대해서 정리해 보았는데요.

S3는 이외에도 여러가지 기능을 많이 가지고 있지만,

다른 AWS서비스를 사용하면서 알아아할 기본적인 부분들을 중심으로 정리해 보았습니다.

더 필요한 부분들이나 좋은 방법이 있다면 이 글을 통해서 업데이트하도록 하겠습니다.

 

728x90

+ Recent posts