DevOps/AWS

[AWS] AWS 클라우드 : 스토리지

샤아이인 2022. 1. 25.

2021/09/30 에 있었던 AWSome Day 컨퍼런스의 내용을 요약한 글 입니다. 해당 글의 모든 사진의 출처는 AWS 입니다.

 

강의 3 : AWS 클라우드 핵심 서비스 소개 - 스토리지

AWS는 다양한 스토리지 옵션을 제공하고있다.

인터넷상 어디서나 원하는 양의 데이터를 저장하고 검색할수 있는 객체 스토리지가 Amazon S3이다.

 

NAS처럼 여러 사람이 동시에 write 작업을 할 수 있는 공유파일 스토리지로 Amazon EFS가 있습니다.

AmazonEBS는 EC2에서 사용하도록 설계된 고성능 블록 스토리지 입니다. 일반적으로 EC2 인스턴스에 대한 영구 저장소로 사용

 

● Amazon S3

S3 는 Simple Stroage Service 의 약자로 객체 수준의 스토리지 입니다.

객체 스토리지는 어떠한 데이터이든 네이티브 형식으로 저장할 수 있는 고도로 확장가능하고 비용 효율적인 스토리지를 제공함으로써

빅데이터 시대에 각광받는 스토리지 타입입니다.

 

특징 1 : 높은 내구성

기본적으로 S3에 하나의 객체를 업로드 하면 AWS에서 S3 리전내 최소 3개의 AZ에 걸쳐서 여러 디바이스에 중복 저장합니다.

때문에 높은 가용성과 내구성을 지닌 스토리지입니다.

 

특징 2 : 높은 수평확장성, 유연성

다수의 동시 트랜젝션이 가능하여 빅데이터의 분석용 스토리지로 유용합니다.

 

이벤트 트리거 기능이 있는데, 이 기능을 사용하면 특정 버킷으로 객체가 업로드 되거나 삭제되는 등 이벤트 발생시 자동 알람을 보낼수 있습니다.

 

S3에 업로드 된 각 객체는 고유한 URL에 연결됩니다. 이를 활용한 콘텐트 배포와 저장이 가능합니다.

 

더 나아가 S3는 클라우드 네이티브 어플리케이션에 대한 스토리지로 사용이 가능합니다.

S3를 사용하여 클라우드 네이티브 애플리케이션을 구성하는 마이크로서비스에서 공유하는 개발 및 프로덕션 데이터를 저장함으로써 빠르고 비용 효율적인 애플리케이션 구축이 가능합니다.

 

● S3에 저장하는 방식

데이터를 버킷 이라는 리소스 내 객체 단위로 저장합니다.

버킷은 아마존 S3과 파일 저장과 함께 사용하는 다른 접근 방식을 말합니다. 폴더 대신 여러개의 객체를 저장할수 있는 큰 공간으로 버킷을 생성합니다.

 

파일 스토리지처럼 계층적으로 데이터에 접근하는 구조가 아니라!, 객체 스토리지라는 점이 중요합니다.

S3는 간단한 key : value 기반의 객체 스토리지 입니다. 따라서 신속한 객채 검색이 가능합니다.

 

● Amzon S3 Glacier

Glacier는 S3옵션중 선택할수 있는 여러 옵션중 하나로, 매우 저렴한 데이터 아카이브용 스토리지 서비스를 활용할수 있습니다.

키워드는 아카이브 입니다.

예를 들어 CCTV데이터를 몇년간 보관해야한다거나, 탈퇴한 회원의 정보를 보관해야 한다는 규정이 있을때 S3 Glacier를 활용하면 1G당 약 5원 정도의 아주 저렴한 가격에 데이터를 저장할수 있습니다.

 

● Amazon Elastic Block Store (Amazon EBS)

EBS는 대규모로 처리와 트랜잭션 집약적인 워크로드 모두를 지원하기 위해서 EC2인스턴스에서 사용하도록 설계된 쉬운 고성능 블록 스토리지 입니다.

EBS는 2가지 큰 카테고리가 있습니다.

1) SSD 지원 스토리지 : 트랜잭션 워크로드를 위한용도

2) HDD 지원 스토리지 : 처리량 워크로드를 위한용도

 

(워크로드란? 고객 대면 애플리케이션이나 백엔드 프로세스 같이 비즈니스 가치를 창출하는 리소스 및 코드 모음 또는 주어진 기간에 시스템에 의해 실행되어야 할 작업의 할당량을 의미)

 

EBS는 보다 높은 수준의 데이터 내구성을 제공하기 위해 볼륨의 특정 시점 스냅샷을 제공하는 기능을 사용하실 수 있습니다.

EBS의 스냅샷은 S3에 저장이 됩니다. 때문에 하나의 가용 영역에 문제가 발생하더라도 다른 가용 영역에 저장된 사본으로 데이터 손실을 방지할수 있습니다.

 

데이터베이스

AWS에서 데이터 베이스를 상용하는 방법에는 2가지가 있다.

 

다음 사진과 함께 보시죠!

1) AWS의 EC2 인스턴스 위에 직접 DB를 호스팅해서 구축하시는 옵션이 왼쪽에 제시되어 있습니다.

 

2) 오른쪽에는 AWS의 관리형 DB를 사용하는 옵션이 있습니다.

이 방식은 이중화를 빠르게 할수있으며, DB관리 대신 어플리케이션 개발에 집중할수 있습니다.

관리형 DB를 이용하면 DB관리와 관련된 여러 복잡한 작업을 AWS에 위임하고 이외의 중요한 비지니스에 집중할수 있습니다.

 

● Aurora

기존의 상용화된 DB가 아닌, AWS 자체적으로 개발한 Aurora라는 DB도 존재한다.

Aurora는 클라우드 위에 구축된 MySQL, PostgreSQL 호환 관계형 데이터베이스 입니다.

이 서비스는 고성능 상용 데이터베이스의 성능과 가용성에 오픈 소스 데이터베이스의 간편성, 비용 효율성을 결합한 서비스이다.

 

Aurora는 내결함성을 갖춘 자가 복구 분산 스토리지 입니다.

'DevOps > AWS' 카테고리의 다른 글

[AWS] EC2에 MySQL 설치하기  (8) 2022.03.19
[AWS] EC2 인스턴스 만들기  (0) 2022.03.19
[AWS] AWS 클라우드 : 네트워크  (0) 2022.01.25
[AWS] AWS 클라우드 : 컴퓨팅  (0) 2022.01.25
[AWS] AWS 클라우드 소개  (0) 2022.01.25

댓글