AWS 스토리지 서비스

이재영·2023년 12월 27일

SAA-C03

목록 보기
5/10
post-thumbnail

1. 스토리지 개요

스토리지(storage)

데이터를 보관하는 장소

2. 스토리지 서비스 및 주요 기능

AWS에서 제공하는 스토리지 서비스

블록(block) 스토리지, 파일(file) 스토리지, 객체(object) 스토리지

목적에 따라 구분

  1. 블록 스토리지

    단일 스토리지 볼륨(volume)을 ‘블록’이라는 개별 단위로 분할해서 저장

    각 블록은 저장된 위치에 고유한 주소가 있기 때문에 서버에서 파일을 요청하면 블록들을 재구성하여 하나의 데이터로 서버에 전달

    클라우드 환경에서 블록 스토리지의 각 블록은 가상 머신 인스턴스에 위치

    하드디스크를 논리적으로 구분해서 사용하는 것과 같다.

    일반적으로 블록 스토리지는 SAN(Storage Area Network) 또는 가상 머신의 디스크로 사용

  1. 파일 스토리지

    파일 수준 또는 파일 기반 스토리지라고 하며, 디렉터리(directory) 구조로 파일을 저장

    각 파일은 폴더에 종속, 폴더도 다른 폴더에 종속되어 계층 구조 형태

    파일을 찾으려면 어느 위치에 있는지 알아야 한다.

    파일 스토리지는 개인용 컴퓨터와 서버에서 일상적인 작업을 공유하여 사용(공유파일 서비스)

    파일이 늘어나면 분류하거나 정리(file system indexing)하는 데 시간이 점점 더 소요

    일반적으로 파일 스토리지는 NAS(Network Attached Storage)에 사용

  1. 객체 스토리지

    각 데이터 조각을 가져와서 객체로 지정하고, 개별 단위로 저장

    모든 객체는 중첩된 계층 구조 없이 단일한 평면적인 주소 공간에 저장

    평면 주소 공간에는 데이터 및 관련 메타데이터(metadata)로 구성된 객체에 고유 식별자가 있다.

    OS나 파일 시스템에 의존하지 않으면서 데이터를 저장하고 객체에 쉽게 접근

    객체의 키(이름)만 알고 있으면 쉽고 빠르게 대상을 검색

    객체 스토리지 접근에는 HTTP 프로토콜 기반의 REST(REpresentational State Transfer) API(Application Programming Interface)사용

    저장할 수 있는 데이터의 수와 파일 크기에 제한이 없으며 데이터 저장의 총 용량 역시 무제한에 가깝다

    오늘날 많은 사용자가 사용하는 이미지, 영상 등 복잡하고 대용량인 비정형 데이터를 효율적으로 처리할 수 있어 대부분의 스토리지 서비스로 사용

스토리지 선택 기준

어디서나 접근할 수 있는 클라우드 스토리지의 종류별 특징을 충분히 이해하고 목적과 상황에 맞게 선택

3. Amazon EBS

EBS(Elastic Block Store)란

  1. 정의: EC2 인스턴스에 사용할 수 있는 블록 스토리지 볼륨을 제공하는 서비스
    1. 데이터를 일정한 크기의 블록으로 나누어 분산 저장
    2. 볼륨 위에 파일 시스템을 생성하거나 하드디스크 드라이브 같은 블록 디바이스를 사용하는 것처럼 볼륨을 쓸 수 있다.
    3. 인스턴스에 연결된 EBS 볼륨의 구성을 동적으로 변경 가능
  2. 사용법: AWS 관리 콘솔에서 필요한 용량과 성능에 맞추어서 볼륨을 생성한 후 EC2 인스턴스에 연결하고 파일 시스템을 포맷한 후 사용
    1. 파일 시스템 포맷 운영 체제에 따라 다르게 사용
      1. 리눅스: xfs 또는 ext4 유형이 주로 사용
      2. 윈도우: NTFS 포맷이 주로 사용
    2. 포맷이 완료되면 해당 볼륨을 서버에서 마운트 한 후 데이터를 해당 디렉터리에 저장해서 사용
  3. 특성: EBS는 고속 네트워크로 연결되어 있으며, 데이터 수명 시간이 독립되어 있다.
    1. 인스턴스와 EBS 볼륨은 서로 종속 관계에 있지 않다.
    2. EBS 볼륨은 한 번에 하나의 인스턴스에만 연결할 수 있다.
    3. 해당 인스턴스에서 지원하는 형태의 시스템으로 포맷 해야만 사용할 수 있다.

EBS 특징(다섯 가지)

  1. 데이터 가용성
    단일 하드웨어 구성 요소의 장애 때문에 데이터가 손실되지 않도록 해당 가용 영역 내에서 자동으로 데이터를 복제
  2. 데이터 지속성
    EBS 볼륨은 인스턴스 수명과 관계없이 유지되는 비관계형 인스턴스 스토리지
  3. 데이터 안정성
    Amazon EBS 암호화(encryption) 기능으로 암호화된 EBS 볼륨을 생성할 수 있으며, 암호화 표준 알고리즘(AES-256)을 사용
  4. 데이터 백업
    모든 EBS 볼륨의 스냅샷(snapshot)(백업)을 생성하고, 다중 가용 영역에 중복 저장이 가능한 Amazon S3(Simple Storage Service)에볼륨 내 데이터 사본을 백업할 수 있다
  5. 데이터 확장성
    서비스를 중단할 필요 없이 볼륨 유형, 볼륨 크기, IOPS(Input/Output operations Per Second) 용량을 수정할 수 있다.

EBS 볼륨 유형

  1. SSD 유형
    메모리형 디스크를 사용, 빠른 속도, os나 DB 보관용 스토리지 유형으로 주로 사용
  2. HDD 유형
    플래터(Platter) 디스크 사용

사용하다가성능이나 비용 때문에 볼륨 유형을 변경해야 하는 상황이 생기면 서비스를 중단할 필요 없이 다른 볼륨 유형으로 변경 가능

EBS 스냅샷

EBS 스냅샷

특정시점에 포인트를 찍어서 그 시점으로 되돌아갈 수 있는 지점을 만드는 기능

증분식 백업 방식 사용

저장 비용과 시간도 효과적 절감, 복구 용이성, 다른 계정으로 공유, 다른 리전으로 복제 가능

스냅샷은 기본적으로 Amazon S3라는 스토리지 공간에 저장되어 여러가용 영역에 자동으로 복제

EFS 란

EFS(Elastic File System)

고성능 네트워크 파일 시스템

클라우드 환경과 온프레미스 환경에서 사용할 수 있는 완전 관리형 네트워크 파일 시스템

용량 제한 없이 사용 가능(사용한 만큼 지불)

EFS 특징

  1. 여러 대의 컴퓨터가 네트워크상의 동일한 데이터에 접근해야 할 때 사용
    1. NFS 표준 프로토콜 기반의 연결을 지원
      1. 기존 다양한 애플리케이션과 유연하게 통합
      2. 여러 컴퓨팅 인스턴스에서 동시에 사용
      3. 기존 NAS처럼 사용자 홈 디렉터리를 공유하여 작업 가능
  2. IOPS가 높고 용량이 매우 크기 때문에 처리량이 많고 대기시간이 짧다.
    1. 탄력적인 네트워크 스토리지 용량 및 성능
  3. EFS는 EBS처럼 가용 영역 단위의 서비스가 아니라 가용 영역 전반에 걸쳐 사용할 수 있는 스토리지
    1. 용 영역 장애를 고려한 디자인이 가능해서 전통적인 NAS보다 뛰어난 가용성 가짐

4. Amazon S3

S3 소개

Amazon S3(Simple Storage Service)

AWS 서비스 중에서 EC2 서비스와 더불어 가장 오래되고, 기본이 되는 객체 스토리지 서비스

객체

S3에 저장되는 데이터

버킷(bucket)

객체 저장소

객체에 대한 입출력은 HTTP 프로토콜, REST API를 이용하여 명령이 전달

  1. 99.999999999%의 내구성으로 디자인되어 있어 데이터 손실을 최소화
  2. 데이터 저장 공간이 거의 무제한
    1. 다양한 스토리지 계층으로 데이터를 분류하여 데이터 저장 비용을 절감
  3. S3의 객체는 기본적으로 웹 접속이 가능
    1. 간단한 정적 웹콘텐츠를 S3에 올려 웹 서버의 도움 없이 바로 웹 서비스가 가능
  4. 보안 규정 준수 및 감시 기능을 제공
    1. 데이터가안전하게 저장되고 인증된 사용자만 접근할 수 있도록 구성
    2. 접근 권한 정책을 이용하여 해당 객체의 접근을 제어

S3 구성 요소(네 가지)

Amazon S3

데이터를 버킷 내 객체로 저장하는 객체 스토리지

  1. 버킷
    데이터 스토리지를 위한 S3의 기본 컨테이너(container)입니다. 객체는 반드시 버킷에 저장되어야 하며, 하나의 리전에서 생성된 후에는 버킷 이름과 리전을 변경할 수 없습니다.
  2. 객체
    S3에 저장되는 기본 매체로, 객체 데이터와 객체 메타데이터로 구성되어 있습니다. 메타데이터는 객체를 설명하는 이름 - 값에 대한 하나의 쌍으로 존재합니다. 객체를 저장할 때 사용자 정의 메
    타데이터를 지정할 수 있으며, 객체는 키(이름) 및 버전 ID를 이용 하여 버킷 내에서 고유하게 식별됩니다.

  3. 버킷 내에서 객체의 고유한 식별자입니다. 버킷 내 모든 객체는 고유한 하나의 키를 갖게 되며, S3는 ‘버킷 + 키 + 버전’과 객체 사이의 기본 데이터 맵으로 생각할 수 있습니다.
  4. S3 데이터 일관성
    S3 버킷에 있는 객체에 대해 여러 서버로 데이터를 복제하여 고가용성 및 내구성을 구현하고 데이터 일관성 모델을 제공합니다

S3 특징

  1. 내구성과 가용성
    1. 키 기반 접근성을 제공하여 데이터의 저장 및 검색에 특화된 객체 스토리지
    2. 하나의 리전 내 최소 세 개 이상의 물리적으로 분리된 가용 영역에 데이터를 복제해서 저장
    3. 서버의 OS 도움 없이 객체별 접근이 가능
  2. 버전 관리 기능
    1. 동일 버킷 내 여러 개의 객체 변형을 보유하여 데이터 복구에 특화된 객체 스토리지
    2. 버킷에 저장된 모든 버전의 객체를 보존하거나 검색 및 복원
    3. 의도하지 않은 사용자 작업 및 애플리케이션 장애에서 쉽게 복구
  3. AWS의 람다
    1. AWS와 다른 서비스를 유기적으로 연동시켜 다양한 형태로 사용가능
    2. 접근 장치별 인터페이스 화면에 전달하여 동일한 내용을 확인
  4. 데이터 를 보관하거나 분석할 때 자주 사용
    1. 빅데이터, 머신 러닝을 위한 데이터를 저장하거나 기업의 데이터를 영구적으로 보관
    2. 뛰어난 내구성
  5. 웹 서버의 장치 도움 없이 S3 서비스 객체에 직접 접근
    1. 대규모 이미지 동영상 → S3 → 고객 제공 가능, 웹 부하를 줄여 서비스 안정성과 성능 향상에 기여

S3 스토리지 클래스의 종류 및 특징

  1. standard
    가장 일반적인 스토리지 클래스
  2. intelligent-tiering
    객체 접근 정보가 고정되어 있지 않을 때 자동으로 빈번한 접근 그룹과 간헐적 접근 그룹에 나누어서 저장
  3. infrequent access
    객체가 자주 사용되지는 않지만 조회가 필요할 때 사용되는 데이터를 저장하는 클래스
    1. standard-infrequent access: 내구성이 높음
    2. one zone-infrequent acces: 내구성 낮음, 데이터 재생산에 용이
  4. standard-IA
    수명이 길고 자주 액세스 하지 않는 데이터
  5. one zone - IA
    수명이 긴 데 이터에 자주 액세스 하지 않는 중요하지 않은 데이터
  6. glacier
    데이터 아카이브와 장기간 백업을 고려하여 만든 스토리지 클래스
  7. glacier deep archive
    재사용이 거의 없는 데이터를 보관할 때 사용하는 클래스

S3 보안

S3 버킷 접근
버킷을 생성할 때 사용한 버킷 이름을 포함하여 생성된 유일한 식별자를 기반으로 언제, 어디에서든 접근이 가능해서 보안이 중요하다.

IAM(Identity and Access Management)
AWS의 자격 증명 서비스, 사용자 및 정책별 접근 권한을 제어
하지만 S3만의 버킷 정책으로 S3 버킷 내 모든 객체에 대한 권한을 조정할 수도 있습니다.

일시적 허용 여부 관한

쿼리를 요청할 때 쿼리 문자열을 인증하여 사용자 인증 정보도 함께 보내해당 객체에 접근할 때 이 인증 정보로 일시적 허용여부 권한을 이용, ex)presign 기능


참고
SAN(Storage Area Network)
서로 다른 종류의 데이터 저장 장치를 한 데이터 서버에 연결하여 총괄적으로 관리해 주는 네트워크를 의미합니다.

NAS(Network Attached Storage)
컴퓨터 네트워크에 연결된 파일 수준의 컴퓨터 기억 장치로, 서로 다른 네트워크 클라이언트에 데이터 접근 권한을 제공

독립된 데이터 수명 시간
서로 연결된 인스턴스와볼륨을 사용하다 해당 인스턴스를 삭제해도 볼륨은 계속 사용할 수 있고 그 볼륨에 저장된 데이터도 다른 인스턴스와 연결하여 이어서 사용할 수 있다.

인스턴스는 다수의 볼륨을 연결하서 사용할 수 있다.
EBS 볼륨은 한 번에 하나의 인스턴스에만 연결할 수 있다.

AES-256
대칭형, 블럭 암호화 알고리즘
데이터베이스 암호화 또한 VPN 시스템에도 사용

전체 백업
전체 백업을 수행할 때 백업 소프트웨어는 데이터 변경 여부에 관계없이 전체 데이터 세트를 복사합니다. 이 유형의 백업은 일반적으로 현실적인 이유로 자주 사용되지 않습니다. 예를 들어 시간이 많이 걸리며, 많은 양의 스토리지 공간을 차지할 수도 있습니다. 전체 데이터 백업의 대안으로는 차등 또는 증분 백업이 있습니다.

증분 백업
증분 백업은 마지막 백업 이후 수정된 데이터만 복사합니다. 예를 들어 일요일에 전체 백업을 수행한 경우 월요일에 증분 백업하면 일요일 백업 이후의 변경 사항만 복사됩니다. 화요일에는 월요일 백업 이후 변경 사항만 백업 이미지 파일에 복사됩니다.

차등 백업
차등 백업 전략에서는 마지막 전체 백업 이후 새로 추가되고 변경된 데이터만 복사합니다. 마지막 전체 백업이 일요일이었다면 월요일에 백업할 경우 일요일 이후의 모든 변경 사항이 복사됩니다. 화요일에 다시 한번 백업을 수행할 경우 마찬가지로 일요일 이후의 모든 변경 사항이 복사됩니다. 따라서 백업 파일 크기가 다음 전체 백업까지 점진적으로 증가합니다.

백업 참고 자료: https://aws.amazon.com/ko/compare/the-difference-between-incremental-differential-and-other-backups/

비관리형(Non-Managed)
사용자가 직접 관리
사용자가 데이터센터를 운영하는 경우
장비 운영, OS 설치 및 운영, 데이터베이스 솔루션 설치 및 운영까지 모두 담당

관리형(Managed)
사용자와 AWS가 함께 관리
AWS EC2 서버에 데이터베이스 솔루션을 설치 하고 운영하는 경우
장비 운영, OS 설치 및 운영은 AWS가 담당하고, 데이터베이스 솔루션의 설치 및 운영은 사용자가 담당

완전관리형(Fully-Managed)
AWS가 모두 관리
AWS에서 제공하는 RDS 솔루션을 이용하는 경우
장비 운영, OS 설치 및 운영, 데이터베이스 솔루션 설치 및 운영까지 AWS에서 모두 담당

NFS(Network File System)
네트워크 기반의 파일 시스템으로, 공유된 원격의 호스트 파일을다른 시스템이 로컬에서 가용할 수 있도록 구현한 방식입니다.

profile
LinkedIn: www.linkedin.com/in/sooonzero Tistory(이사중): https://sooonzero.tistory.com/

0개의 댓글