4주차-1 스토리지 서비스

아이수베어·2022년 1월 21일
0

AFOS[2기]

목록 보기
7/29
post-thumbnail

AWS 스토리지

블록 스토리지

데이터를 일정 크기의 블록으로 나누어 저장
호스트에서 파일 시스템을 생성
Storage Area Network (SAN)

파일 스토리지

디렉토리 구조로 파일을 저장
스토리지단에서 파일 시스템을 생성
Network Attached Storage (NAS)

오브젝트 스토리지

REST 기반의 API 호출을 통해 데이터에 접근
HTTP 프로토콜

EBS

블록(Block) 스토리지, Disk, OS Level, 포맷되지 않은 원시 스토리지

EFS

네트워크 파일(File) 스토리지, NAS, OS Level, 이미 포맷되어 있는 파일 시스템을 원격에서 마운트하여 접근
EFS는 공유 저장소이다 보니, 자주 활용 됨 (ex. 애플리케이션이 여러 EC2 서버에 동작 시, 동일한 저장소 공간이 필요 시 등) -가시다님 댓글 참고!-

S3

오브젝트(Object) 스토리지, Application(Web, CRUD)Level, 계층형이 아닌 수평적으로 데이터가 저장 (메타 데이터 및 개체 ID)

Block Storage : 호스트에서 직접 파일을 액세스하고 기록하며 빠른 성능을 요하는 경우

File Storage : 여러대의 서비스들이 데이터를 공유하고 사용해야 하는 경우

Object Storage : 대량의 데이터를 저장하고 또는 앱 컨텐츠로 사용되어야 하거나 다수의 서버에서 해당 데이터에 접근해야 하는 경우

EBS (Elastic Block Store)

EBS란?

EC2 인스턴스에서 사용할 수 있는 블록 수준 스토리지 볼륨을 제공
볼륨 사용 가능
인스턴스에 연결된 볼륨의 구성을 동적으로 변경 가능

EBS 사용 권장

빠르게 액세스하고 정기적으로 지속해야 하는 경우
EBS 볼륨은 빈번한 업데이트가 필요하고 자주 액세스해야 하는 파일 시스템, 데이터베이스 또는 애플리케이션의 스토리지로 사용하기에 특히 적합

EBS 기능

범용 SSD, 프로비저닝된 IOPS SSD, 처리량에 최적화된 HDD 및 Cold HDD 볼륨 유형을 제공
EBS 스냅샷(Snapshot)를 사용하여 증분식으로 EBS 볼륨의 데이터를 백업할 수 있음

증분식 백업이란 ? : 마지막 스냅샷 이후 변경된 디바이스의 블록만이 저장 (마지막 저장 이후, 변경된 것만 다시 저장된다고 이해하면 될 것 같다.)
스냅샷 복사 및 공유 및 리전간 복제 가능

EFS (Elastic File System)

EFS란?

AWS와 온프레미스에서 사용할 수 있는 확장 가능하며 탄력적인 Network File System*을 제공
애플리케이션을 중단하지 않고 온디맨드 방식으로 페타바이트 규모까지 자동으로 퐉장 축소가 됨
NFS 프로토콜 지원 - 동시에 액세스 가능으로 공통 데이터 원본을 서버들에 제공 가능
EFS 파일 시스템은 다중 가용 영역에 걸쳐 데이터와 메타데이터를 저장
데이터 일관성 및 파일 잠금 등 파일 시스템 액세스 기능 제공
파일 시스템 암호화 제공 - 전송 중 암호화, 유휴 시 암호화(모든 데이터와 메타데이터가 암호화됨)
두가지 성능 모드 제공 - 기본 범용 성능, 기본 버스팅 처리량 모드
EFS는 공유 저장소이다 보니, 자주 활용 됨 (ex. 애플리케이션이 여러 EC2 서버에 동작 시, 동일한 저장소 공간이 필요 시 등) -가시다님 댓글 참고!-**

EFS 직동 방식

동일 리전에 여러 가용 영역(고가용성)에서 액세스 가능 - 가용 영역 별 각각 EFS IP 와 공통 DNS 주소를 제공

S3(Amazon Simple Storage Service)

S3란?

인터넷용 객체(Object) 기반 무제한 스토리지 서비스

S3 장점

버킷 만들기 : 버킷은 데이터 스토리지를 위한 S3의 기본 컨테이너
버킷 저장 : 버킷에 데이터를 무한정 저장, S3 버킷에 객체를 원하는 만큼 업로드 가능, 객체에 최대 5TB 데이터를 포함
데이터 다운로드
권한 : 데이터를 S3 버킷ㅇ으로 업로드 또는 다운로드하려는 사용자에게 액세스 권한을 부여하거나 해당 권한을 거부
표준 인터페이스 : 표준 기반 REST API 또는 AWS SDK 사용

S3 개념

버킷 : 버킷은 데이타 스토리지를 위한 S3의 기본 컨테이너. 객체는 어떤 버킷에 포함됨, 리전에서 생성됨
객체 : S3에 저장되는 기본 매체. 객체는 객체 데이터와 객체 메타데이터로 구성됨 (메타데이터: 객체를 설명하는 이름-값 페어의 집합)
키 : 키는 버킷 내 객체의 고유한 식별자, 버킷 내 모든 객체는 정확히 하나의 키를 가짐(S3는 버킷+키+버전 과 객체 자체 사이의 기본 데이터맵으로 생각할 수 있음)
Regions : 버킷을 저장할 지리적 AWS 리전을 선택함
S3 버킷에 있는 객체에 대해서 여러 서버로 데이터를 복제함으로 고가용성을 구현하고 일관성 모델을 제공

S3 버킷

버킷 이름은 전역 수준에서 고유해야 하며, 네임스페이스는 모든 AWS 계정이 공유 가능
버킷을 만든 후에는 이름 또는 리전 변경 불가
AWS 계정 각각에 대해 최대 100개 버킷을 만들 수 있음, 증가 요청시 최대 1000개 버킷을 만들 수 있음

S3 스토리지 크래스

S3 Standard : 사용중, 자주 접근, 가장 비쌈
S3 Intellogent-Tiering : 변화하는 접근 패턴 데이터
S3 Standard-IA(Infrequent) : 비상시 접근
S3 One Zone-IA(Infrequent) : 재생산 가능, 접근이 적은 데이터, 한 공간만 사용
S3 Glacier : 아카이빙 데이터, 접근시 수분/수시간 소요, S3 콘텐츠의 수명 주기 보관을 구성 가능
S3 Glacier Deep Archive : 아카이빙 데이터, 접근시 12 or 48시간 소요, 제일 가격이 쌈

CloudFormation

CloudFormation이란 ?

AWS 인프라를 개략적으로 설명하여 선언하는 방법 (인프라를 코드로 만들 수 있음)
정의한 대상에 대해 자동으로 순서대로 자원을 생성
아키텍처의 전체 정의가 하나의 파일에 있고 AWS에 제출하여 AWS가 모든 리소스를 관리

Infrastructure as code

수동으로 리소를 만들지 않아도 됨
Github을 활용하여 제어
코드를 통하여 인프라 변경사항을 검토 가능

Cost

리소스 비용을 쉽게 추정할 수 있음
필요한 경우만 CloudFormation을 배포하고 필요하지 않을 경우 삭제하여 비용 절감

Productivity

클라우드 상 인프라를 즉시 삭제하거나 재 생성이 가능
Diagram 기능으로 Template 구성 가능 (Automated Generation)
Declarative Programming(선언적 프로그래밍)

Don;t re-invent wheel

웹 상에 기존 Template을 활용
다양한 정보와 문서가 많이 있음


참고 자료 : AFOS[2기] 노션 내용

profile
Junior Cloud Engineer

0개의 댓글