Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

SYDev

[핸즈온 AWS] Chapter 5. AWS 스토리지 서비스 본문

KHUDA 6th/Study

[핸즈온 AWS] Chapter 5. AWS 스토리지 서비스

시데브 2024. 8. 7. 02:32

5.1. 스토리지 개요

  • Storage: 데이터를 보관하는 장소 -> 우리가 사용하는 모든 저장 장치를 칭하는 말

 

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

5.2.1. 블록 스토리지

  • 블록 스토리지: 단일 스토리지 volume을 '블록'이라는 개별 단위로 분할해서 저장
  • 일반적으로 블록 스토리지는 SAN(Storage Area Network) 또는 가상 머신의 디스크로 사용됨

 

5.2.2. 파일 스토리지

  • 파일 스토리지: 파일 수준 또는 파일 기반 스토리지라고 하며, directory 구조로 파일을 저장
  • 일반적으로 파일 스토리지는 NAS(Network Attached Storage)에 사용됨

 

5.2.3. 객체 스토리지

  • 객체 스토리지: 각 데이터 조각을 가져와서 객체로 지정하고, 개별 단위로 저장
  • 중첩된 계층 구조 없이 단일한 평면적 주소 공간에 저장

 

5.2.4. 스토리지 선택 기준

 

5.3. Amazon EBS

5.3.1. EBS

  • EBS(Elastic Block Store): EC2 인스턴스에 사용할 수 있는 블록 스토리지 볼륨을 제공하는 서비스

 

5.3.2. EBS 특징

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

 

5.3.3. EBS 볼륨 유형

EBS 볼륨에는 크게 SSD(메모리형 디스크 사용) HDD(플래터 디스크 사용) 유형이 있다.

 

5.3.4. EBS 스냅샷

  • 특정 시점에 포인트를 찍어서 그 시점으로 되돌아갈 수 있는 지점을 만드는 기능
  • 변경된 부분만 증분되어 백업되는 방식

 

5.3.5. EFS

  • Amazon EFS(Elastic File System): Cloud 환경과 On-premises 환경에서 사용할 수 있는 완전 관리형 네트워크 파일 시스템
  • 완전 관리형 -> 클라우드에서 하드웨어 프로비저닝, 유지 관리, 소프트웨어 구성 등 모든 것을 관리하여, 사용자 입장에서 별다른 관리가 필요 X

 

5.3.6. EFS 특징

  • 고성능 네트워크 파일 시스템 -> 여러 대의 컴퓨터가 네트워크상의 동일한 데이터에 접근해야 할 때 사용
  • IOPS가 높고 용량이 매우 큼 -> 처리량이 많고 대기 시간이 짧음
  • 가용 영역 단위의 서비스가 아니라 가용 영역 전반에 걸쳐 사용할 수 있는 스토리지 -> 가용 영역 장애를 고려한 디자인이 가능해서 전통적 NAS보다 뛰어난 가용성

 

5.4. Amazon S3

5.4.1. S3

  • Amazon S3(Simple Storage Service): S3에 저장되는 데이터를 객체라고 하며, 이 객체 저장소를 버킷이라고 한다.
  • 객체에 대한 입출력은 HTTP 프로토콜 -> REST API를 이용하여 명령 전달
  • 99.9999999%의 내구성으로 디자인 -> 데이터 손실 최소화
  • 데이터 저장 공간이 거의 무제한
  • 간단한 정접 웹 콘텐츠를 올려 웹 서버의 도움 없이 웹 서비스 가능

 

5.4.2. S3 구성 요소

  • 버킷: 데이터 스토리지를 위한 S3의 기본 컨테이너 -> 객체는 반드시 버킷에 저장
  • 객체: S3에 저장되는 기본 매체, 객체 데이터와 객체 메타 데이터로 구성
  • : 버킷 내에서 객체의 고유한 식별자, S3는 '버킷 + 키 + 버전'과 객체 사이의 기본 데이터 맵
  • S3 데이터 일관성: S3 버킷에 있는 객체에 대해 여러 서버로 데이터를 복제하여 고가용성 및 내구성을 구현하고 데이터 일관성 모델을 제공

 

5.4.3. S3 특징

  • 객체에 대해 빠르고 내구성과 가용성이 높은 키 기반의 접근성을 제공하여 데이터의 저장 및 검색에 특화된 객체 스토리지
  • 하나의 리전 내 최소 세 개의 물리적으로 분리된 가용 영역에 데이터를 복제 -> 높은 내구성과 고아용성
  • 버전 관리 및 복구에 용이
  • AWS 람다: 이벤트에 대한 응답으로 코드를 실행하고 자동으로 기본 컴퓨팅 리소스를 관리하는 서버리스 컴퓨팅 서비스

 

5.4.4. S3 스토리지 클래스

S3는 여러 사용 사례에 맞게 설계된 다양한 스토리지 클래스를 제공

 

5.4.5. S3 보안

  • S3 버킷 접근 -> 버킷을 생성할 때 사용한 버킷 이름을 포함하여 생성된 유일한 식별자를 기반으로 언제, 어디서든 접근 가능
  • IAM으로 접속 사용자나 데이터 접근 관리 가능
  • S3 객체는 기본적으로 외부 사용자가 별도의 설정 없이 접근할 수 없도록 설정 -> 객체 소유자와 루트 사용자만 접근 가능

 

5.5. 다양한 AWS 스토리지 서비스 구성

  1. 실습에 필요한 기본 인프라 배포
  2. EBS 스토리지를 추가로 생성하고 사용
  3. EBS 스토리지의 볼륨 크기를 변경하고, 스냅샷 기능으로 백업을 확인
  4. EFS 스토리지를 생성하고 사용
  5. Public S3 스토리지로 외부 접근을 확인
  6. Private S3 스토리지의 제한된 접근 및 데이터를 백업
  7. 생성된 자원을 모두 삭제

 

 

 

 

 


참고자료

 

서버리스 컴퓨팅 - AWS Lambda 기능 - Amazon Web Services

AWS Lambda를 사용하면 새로운 언어나 도구, 프레임워크를 배울 필요가 없습니다. 기본 라이브러리뿐 아니라 모든 서드 파티 라이브러리를 사용할 수 있습니다. 또한, 모든 코드(프레임워크, SDK, 라

aws.amazon.com