AWS 스토리지 서비스
스토리지(Storage)?
- 데이터를 보관하는 장소이며, 사용 방식과 저장 방식에 따라 여러 형태로 구분됨.
블록 스토리지(EBS) 기본 개념
- 특징
- 데이터를 블록 단위로 나누어 저장하고, 필요 시 조합하여 사용
- 개별 블록은 고유한 주소를 가지며 빠르게 접근 가능
- 하드디스크 추가 개념과 유사하며, 가상 머신(VM)에서 주로 사용
- 사용 예시
- 서버에서 고속 데이터 읽기/쓰기가 필요한 경우
- 데이터베이스 저장소, 운영체제 디스크, 애플리케이션 실행 디스크
- 연결 방식
- SAN (Storage Area Network) 기반
- FC, iSCSI 프로토콜 사용
* SAN: 고속 네트워크를 통해 서버와 스토리지를 직접 연결하는 방식이며, 고성능 데이터베이스에서 사용
파일 스토리지(EFS) 기본 개념
- 특징
- 폴더 및 디렉터리 구조로 파일 저장
- 다수의 장치가 동시에 접근 가능 → 여러 서버에서 공유해야 하는 환경에 적합
- 네트워크를 통해 연결되며, NAS(Network Attached Storage) 개념과 유사
- 사용 예시
- 웹 서버, 공유 디렉터리, 개발 환경 등
- 여러 인스턴스에서 동일한 데이터를 공유해야 하는 서비스
- 연결 방식
- NFS, CIFS 프로토콜 사용
* NAS: 네트워크를 통해 여러 장치에서 파일을 공유하는 방식, 집에서 쓰는 외장하드 + 공유기 개념과 유사
* NFS: 네트워크 기반의 파일 시스템으로, 공유된 원격 호스트 파일을 다른 시스템이 로컬에서 가용할 수 있도록 함
객체 스토리지(S3) 기본 개념
- 특징
- 데이터를 객체(Object) 단위로 저장하며, 파일 시스템이 아닌 평면 구조 사용
- 각 객체는 고유 식별자(키) 를 가지며, 빠르게 검색 가능
- REST API 기반으로 HTTP를 통해 접근 가능
- 사용 예시
- 대용량 데이터 저장 (이미지, 영상, 백업 등)
- 여러 서비스가 데이터를 공유해야 하는 경우
- 연결 방식
- HTTP 프로토콜 기반 REST API
스토리지 선택 기준
내구성 | 데이터 손실 가능성 최소화 |
가용성 | 서비스 지속 가능성 |
보안 | 저장 및 전송 중 데이터 보호 |
비용 | 저장 및 사용 비용 |
확장성 | 저장 용량 및 사용자 수 증가 대응 |
성능 | 데이터 처리 속도 |
통합성 | 다른 서비스와의 연계 가능성 |
EBS(Elastic Block Store) 서비스
EBS(Elastic Block Storage)란?
- EBS는 AWS의 블록 스토리지 서비스로, EC2 인스턴스(서버)에서 사용할 수 있는 저장공간을 제공
- 하드디스크처럼 사용할 수 있으며, 파일 시스템을 생성하고 마운트(연결)하여 저장공간으로 활용
EBS의 주요 특징
- 독립적인 데이터 수명 → EC2 인스턴스를 삭제해도 EBS 데이터는 유지되며, 다른 인스턴스에 연결 가능
- 고성능 → 데이터베이스, 빅데이터, 트랜잭션이 많은 애플리케이션에 적합
- 유연한 크기 조정 → 서비스 중단 없이 볼륨 크기, 유형, IOPS 성능을 조정 가능
- 네트워크 연결형 스토리지 → 물리적인 디스크가 아닌 고속 네트워크를 통해 EC2와 연결됨
EBS의 작동 방식
- EBS 생성 후 초기 설정 (포맷 & 마운트)
- EBS는 처음 생성하면 비어 있는 하드디스크 상태이므로 포맷해야 함
- 포맷 후 EC2 인스턴스에 마운트(연결) 하면 폴더처럼 사용 가능
- 운영체제(OS)에 따라 포맷 방식이 다름
- Linux → ext4 또는 xfs
- Windows → NTFS
- EBS 볼륨 연결
- EC2 인스턴스는 여러 개의 EBS 볼륨을 연결 가능
- 하나의 EBS 볼륨은 한 번에 하나의 인스턴스에만 연결 가능
- 필요하면 스냅샷을 생성하여 다른 인스턴스에서 복원 가능
EBS의 주요 기능
- 데이터 가용성
- 같은 가용 영역(AZ) 내에서 자동으로 데이터 복제
- 단일 하드웨어 장애로 인한 데이터 손실 방지
- AWS 서버가 고장나도 장애가 생기지 않도록 회사 자체에서 복사하는 것. 사용자가 관리할 필요 없음
- 데이터 지속성
- EC2 인스턴스가 종료되어도 EBS 볼륨의 데이터는 유지됨
- 데이터 안정성 (보안)
- EBS 암호화(AES-256)를 지원하여 데이터 보안 강화
- 데이터 백업 (스냅샷)
- EBS 스냅샷을 생성하여 Amazon S3에 저장 가능
- 스냅샷을 사용하면 다른 가용 영역(AZ)이나 리전(Region)에서도 복원 가능
- 데이터 확장성
- 서비스 중단 없이 볼륨 크기, 유형, IOPS(Input/Output operation Per Second) 조정 가능
EBS의 볼륨 유형
1. SSD (빠른 속도, 높은 IOPS)
볼륨 유형 | 주요 특징 | IOPS (성능) |
처리량 | 사용사례 | 비용 |
범용 SSD (gp3, gp2) | 기본 SSD, 대부분의 워크로드에 적합 |
중간 (~16,000) |
중간 (~1GB/s) |
웹 서버, 애플리케이션 서버, | 💲💲💲 (보통) |
프로비저닝 IOPS SSD (io2, io1) | 높은 IOPS 보장, 트랜잭션이 많은 DB 용도 |
높음 (~256,000) |
높음 (~4GB/s) |
DB, 금융 시스템, 고성능 애플리케이션 |
💲💲💲💲 (비쌈) |
2. HDD (대용량 데이터 저장, 저렴한 비용)
볼륨 유형 | 주요 특징 | IOPS(성능) | 처리량 | 사용사례 | 비용 |
처리량 최적화 HDD (st1) | 대량의 순차적 읽기/쓰기에 최적화 | 낮음 (~500) | 높음 (~500MB/s) |
빅데이터, 로그 저장, 대량 데이터 처리 |
💲 💲 (저렴) |
콜드 HDD (sc1) | 가끔 액세스하는 데이터 저장용 |
매우 낮음 (~250) |
낮음 (~250MB/s) |
백업, 오래된 데이터 보관 | 💲 (가장 저렴) |
EBS 스냅샷
- 특점 시점에서 포인트를 찍어서 그 시점으로 되돌아갈 수 있는 지점을 만드는 기능
- 증분식 백업 방식을 이용하여 마지막 스냅샷 이후 변경되는 블록만 기록하고 복제
- 스냅샷은 다른 계정으로 공유가 가능하며 스냅샷을 이용해 손쉽게 다른 리전으로 복제도 가능
- 저장 비용과 시간이 효과적으로 절감
EFS(Elastic File System) 서비스
Amazon EFS는 완전 관리형 네트워크 파일 시스템으로, 클라우드와 온프레미스 환경에서 모두 사용 가능하다.
완전 관리형이란?
- 하드웨어 프로비저닝, 유지 관리, 소프트웨어 구성, 모니터링, 성능 최적화 등을 AWS가 자동으로 관리
- 사용자는 별도의 관리 없이, 파일 시스템을 생성하고 서버에 연결하여 즉시 사용 가능
주요 특징
- 자동 확장: 스토리지 용량을 사전 설정할 필요 없이, 사용량에 따라 자동 확장
- 사용량 기반 과금: 사용한 만큼만 비용을 지불하며, 용량 제한 없이 확장 가능
- NFS(Network File System) 지원: NFS 표준 프로토콜을 기반으로 다양한 애플리케이션과 유연하게 통합 가능
- 다중 인스턴스 공유 가능: 여러 컴퓨팅 인스턴스가 동일한 파일 시스템을 동시에 사용 가능
- 고성능: 높은 IOPS와 처리량을 제공하며, 대기 시간이 짧아 빠른 데이터 접근이 가능
활용 사례
- 사용자 홈 디렉터리 공유: 여러 사용자 간 파일을 공유하는 환경에서 유용
- 웹 서비스 및 콘텐츠 관리: 다수의 서버에서 동일한 파일을 공유해야 하는 환경
- 데이터 분석 및 미디어 처리: 대량의 데이터를 빠르게 처리해야 하는 워크로드
S3(Simple Storage Service) 서비스
S3 특징
- 데이터를 객체(Object) 형태로 저장하며, 객체 저장소(Bucket)에 데이터를 저장
- HTTP 프로토콜을 기반으로 REST API를 통해 객체를 업로드, 다운로드 및 관리
- 데이터 내구성이 뛰어나며, 99.999999999% 내구성을 제공
- 사실상 무제한 용량을 제공하여, 필요에 따라 데이터를 효율적으로 저장하고 관리 가능
- 다양한 스토리지 클래스를 지원하여 비용 절감
- 웹에서 직접 접근할 수 있어, 정적 웹사이트 호스팅이 가능
- IAM(Identity and Access Management)과 연동하여 보안 및 접근 제어가 가능
S3의 주요 구성 요소
- 버킷 (Bucket)
- 데이터를 저장하는 컨테이너 역할
- 객체는 반드시 버킷에 저장되어야 하며, 한 번 생성된 버킷 이름과 리전은 변경 X
- 객체 (Object)
- S3에 저장되는 기본 단위로, 객체 데이터 + 메타데이터(설명 정보)로 구성
- 객체는 고유한 키(Key, 파일 이름)와 버전 ID를 가지며, 이를 통해 버킷 내에서 식별
- 예시: http://cloudneta.s3.amazonaws.com/2021-09-01/storage.png
- cloudneta = 버킷 이름
- storage.png = 객체 키(파일 이름)
- 키 (Key)
- 버킷 내에서 객체를 식별하는 고유한 식별자
- S3는 버킷 + 키 + 버전 ID를 이용해 객체를 관리
- 데이터 일관성 (Consistency)
- S3는 객체를 여러 개의 서버에 복제하여 고가용성 및 내구성을 제공
- 강력한 데이터 일관성 모델을 통해, 저장된 데이터가 안전하게 유지
S3의 장점
- 높은 내구성과 가용성
- S3는 11 9s(99.999999999%)의 내구성을 제공하며,
최소 3개 이상의 가용 영역(AZ)에 데이터 복제하여 저장 - 장애가 발생해도 데이터가 손실되지 않고, 고가용성을 유지
- S3는 11 9s(99.999999999%)의 내구성을 제공하며,
- 객체 스토리지
- 빠르고 내구성 높은 키 기반 접근 방식을 지원하여, 대량의 데이터를 효율적으로 저장/검색 가능
- 버전 관리 (Versioning)
- 동일한 객체의 여러 개의 버전을 저장 가능하며, 데이터 복구 및 롤백이 용이
- 다양한 AWS 서비스와 연동 가능
- 예를 들어, S3에서 이미지 업로드 시 AWS Lambda와 연동하여,
자동으로 다양한 해상도의 이미지 생성이 가능 - 머신 러닝, 빅데이터 분석, 백업 및 아카이빙 등 다양한 워크로드에서 활용
- 예를 들어, S3에서 이미지 업로드 시 AWS Lambda와 연동하여,
- 웹 서비스 가능
- S3에 정적 웹 콘텐츠(HTML, CSS, JavaScript, 이미지 등)를 업로드하면,
별도의 웹 서버 없이 정적 웹사이트를 직접 호스팅 가능
- S3에 정적 웹 콘텐츠(HTML, CSS, JavaScript, 이미지 등)를 업로드하면,
- 비용 절감 기능
- S3는 데이터를 액세스 빈도 및 용도에 따라 다양한 스토리지 클래스로 분류하여 비용 절감
S3 보안 및 접근 제어
- 기본 보안 정책
- S3 버킷 및 객체는 기본적으로 외부 접근이 차단
- 버킷을 생성한 사용자(소유자) 및 루트 사용자만 접근 가능
- 외부 접근을 허용하려면 IAM 정책, S3 버킷 정책, ACL 등을 설정
- IAM(Identity and Access Management) 연동
- IAM을 통해 사용자별 권한을 설정하여 데이터 접근을 제어
- S3 객체에 접근할 때, 인증 정보를 포함한 요청을 보내면 일시적으로 접근 권한을 부여 가능
- 버킷 정책 및 ACL (Access Control List)
- 버킷 단위 또는 개별 객체 단위로 세부적인 접근 제어가 가능
- 특정 사용자 또는 IP 주소에서만 접근하도록 설정 가능
S3 활용 사례
- 빅데이터 및 머신 러닝 데이터 저장: 대량의 데이터를 안정적으로 저장하고 분석하는 용도로 활용
- 기업 데이터 백업 및 장기 보관: 높은 내구성과 다양한 스토리지 클래스를 활용해 비용 효율적인 백업 및 아카이빙
- e커머스 및 미디어 서비스
- 웹 서버 없이도 대규모 이미지, 동영상 콘텐츠를 저장하고 빠르게 제공
- 이를 통해 웹 서버의 부하를 줄이고, 성능을 최적화
S3 스토리지 클래스 종류
스토리지 클래스 |
설명 | 내구성 | 가용성 | 가용 영역 | 최소 기간 | 사용 사례 | 고려 사항 |
S3 Standard | 자주 액세스하는 데이터를 위한 기본 스토리지 |
99.9% | 99.9% | 최소 3개 | 없음 | 웹사이트, 모바일 앱, 빅데이터 분석 |
비용이 가장 높지만, 높은 성능 제공 |
S3 Intelligent-Tiering | 액세스 횟수 패턴에 따라 자동으로 비용 최적화 |
99.9% | 99.9% | 최소 3개 | 30일 (단, Standard/ IA 간 이동은 즉시 가능) |
예측이 어려운 액세스 패턴의 데이터 |
객체당 월별 모니터링 비용 추가 발생 |
S3 Standard-IA (Infrequent Access) | 가끔 액세스 하지만 고속 액세스가 필요한 데이터 |
99.9% | 99.9% | 최소 3개 | 30일 | 장기 보관용이지만 빠른 검색이 필요한 데이터 |
표준보다 저렴하지만 액세스 비용 발생 |
S3 One Zone-IA | 단일 가용 영역에 저장되는 저비용 옵션 | 99.9% | 99.9% | 1개 | 30일 | 백업, 복제본 저장소, 재생 가능 데이터 |
단일 AZ 장애 발생 시 데이터 손실 위험 |
S3 Glacier | 장기 보관 및 아카이빙을 위한 저비용 스토리지 |
99.9% | 99.9% | 최소 3개 | 90일 | 규제 준수를 위한 데이터 보관, 장기 백업 | 검색 시간이 수분~수시간 (Expedited 옵션 제공) |
S3 Glacier Deep Archive |
가장 저렴한 장기 아카이빙 스토리지 |
99.9% | 99.9% | 최소 3개 | 180일 | 수십 년간 거의 액세스하지 않는 데이터 보관 |
검색 시간이 12~48시간 소요 |
Expedited 옵션: S3 Glacier에서 제공하는 데이터 복원(검색) 옵션 중 하나로, 데이터를 몇 분 내에 빠르게 복원 (비쌈)
'Cloud' 카테고리의 다른 글
Cloud_AWS 데이터베이스 서비스 (0) | 2025.02.27 |
---|---|
Cloud_AWS 스토리지 실습(EBS, EFS, S3 활용) (0) | 2025.02.26 |
Cloud_AWS ELB 서비스 & ALB/NLB 이용한 로드밸런싱 실습 (1) | 2025.02.21 |
Cloud_AWS 네트워크 서비스 & 퍼블릭/프라이빗 서브넷 구성 실습 (1) | 2025.02.21 |
Cloud_AWS 컴퓨팅 서비스 & EC2 실습 (1) | 2025.02.17 |