본문 바로가기

AWS

EC2 인스턴스 스토리지

EBS

  • Elastic Block Store
  • 인스턴스에 붙일 수 있는 네트워크 드라이브
    • EC2와 EBS가 서로 통신하기 위해서는 네트워크를 필요로 함
    • 인스턴스에서 뗄 수도 있고, 다른 인스턴스에도 붙일 수 있음
  • 인스턴스가 종료되어도 데이터를 유지할 수 있게 도와줌
  • 한 번에 하나의 인스턴스만 마운트 할 수 있음
  • 특정 가용영역에서만 생성할 수 있음
    • 스냅샷을 이용하면 다른 영역으로도 볼륨을 옮길 수 있음
  • 용량을 미리 결정해야 함
    • 더 좋은 용량이나 큰 사이즈가 필요하면, 이후에 용량을 늘릴 수도 있음
  • 종료 시 삭제 기능
    • EC2 인스턴스를 생성할 때 콘솔에서 EBS 볼륨을 생성하면 종료 시 삭제 기능을 사용할 수 있음
    • 인스턴스 종료시 EBS 행동을 제어함

EBS Snapshots

  • EBS volume의 백업
  • 스냅샷을 하기 위해서 EBS를 인스턴스로부터 떼는 것을 권장함
  • EBS 스냅샷은 다른 가용영역이나 다른 리전에도 복사할 수 있음
  • 특징
    • EBS Snapshot Archive
      • 최대 75%까지 저려함 아카이브 티어
      • 스냅샷을 옮길 수 있는 기능
      • 아카이브를 복원하는 데 24시간에서 최대 72시간이 걸림
    • Recycle Bin
      • EBS 스냅샷을 삭제하는 경우 영구 삭제하는 대신에 휴지통에 넣을 수 있음
      • 실수로 삭제하는 경우, 휴지통에서 복원 가능
      • 휴지통에서 보관되는 기간은 1일에서 1년 사이로 설정할 수 있음
    • Fast Snapshot Restore (FSR)
      • 스냅샷을 완전 초기화해 첫 사용에서의 지연 시간을 없애는 기능
      • 스냅샷이 아주 크고 EBS 볼륨 또는 EC2 인스턴스를 빠르게 초기화해야 할 때 특히 유용함
      • 그러나 비용이 많이 

AMI

  • Amazon Machine Image
  • EC2 인스턴스를 커스텀한 것
  • AMI가 EC2 인스턴스에서 처리되는 방법
    • EC2 인스턴스를 원하는 대로 설정함
    • 인스턴스를 중지해 데이터 무결성을 확보함
    • 이 인스턴스를 바탕으로 AMI를 구축함 -> 이 과정에서 EBS 스냅샷이 만들어짐
    • 다른 AMI에서 인스턴스를 실행할 수 있음

EBS  Volume Types

  • gp2 / gp3 (SSD)
    • 다양한 워크로드에 대해 가격과 성능의 균형을 맞추는 범용 SSD 볼륨
  • io1 / io2 Block Express (SSD)
    • 성능이 가장 높은 SSD
    • mission-critical, low latency, 고 처리량 작업에 사용됨
  • st1 (HDD)
    • 저비용 고용량 볼륨
    • 자주 액세스 하고 처리량이 많은 작업을 위해 설계되었음
  • sc1 (HDD)
    • 가장 저렴한 HDD
    • 액세스 빈도가 낮은 작업을 위해 설계되었음
  • EBS Volume를 정의하는 것 : size, throughput, IOPS(I/O Ops Per Sec)
  • gp2 / gp3과 io1/ io2 만 부팅 볼륨으로 사용할 수 있음

EBS 다중 연결 - io1 / io2 family

  • 하나의 가용 영역에 있는 여러 개의 EC2에 하나의 EBS volume을 연결할 수 있음
  • 각 인스턴스는 고성능 볼륨에 대한 읽기 및 쓰기 권한을 전부 가짐 -> 동시에 읽고 쓸 수 있음
  • 한 번에 16개의 EC2 인스턴스만 같은 볼륨에 연결할 수 있다는 제한이 있음
  • 다중연결을 실행하려면 cluster-aware 파일 시스템을 사용해야 함

EBS 암호화

  • EBS 볼륨을 생성하면 즉시 다음과 같은 일이 발생함
    • 저장 데이터가 볼륨 내부에 암호화됨
    • 인스턴스와 볼륨 간의 전송 데이터 역시 암호화됨
    • 스냅샷 뿐만 아니라 스냅샷으로 생성한 볼륨 역시 모두 암호화됨
  • 이때 암호화 및 복호화 메커니즘은 보이지 않게 처리되고 아무것도 하지 않아도 됨 -> 뒤에서 EC2와 EBS가 알아서 함
  • 종합적으로 봤을 때 암호화를 사용해야 하는 이유는 지연 시간에는 영향이 거의 없고 KMS에서 암호화 키를 생성해 AES-256 암호화 표준을 가짐
  • 스냅샷을 복사해 암호화를 푼 것을 다시 암호화 활성화를 함
  • EBS 볼륨 암호화 및 암호화 풀기
    • 볼륨의 EBS 스냅샷 생성하기
    • 복사 기능을 통해 EBS 스냅샷 복사하기
    • 스냅샷을 이용해 새 EBS 볼륨을 생성하면 해당 볼륨도 암호화됨
    • 암호화된 볼륨을 인스턴스 원본에 연결하기

Amazon EFS - Elastic File System

  • 관리형 network file system이므로 많은 ec2 인스턴스에 마운트 될 수 있음
  • 그리고 ec2 인스턴스는 서루 다른 가용 영역에 있을 수도 있음
  • highly available, scalble, expensive (3 x gp2), 사용량에 따라 비용 지불
  • 사용 사례
    • 콘텐츠 관리, 웹 서빙, 데이터 공유, 워드프레스
  • 내부적으로 NFS 프로토콜을 사용함
  • EFS에 대한 액세스를 제어하려면 보안그룹을 설정해야 함
  • linux 기반 AMI와만 호환됨
  • KMS를 사용해서 EFS 드라이브에서 미사용 암호화를 활성화할 수 있음
  • POSIX 파일 시스템을 사용하고, 표준 파일 api가 있음
  • EFS의 좋은 점은 용량을 미리 계획할 필요가 없다는 것 -> 파일 시스템은 자동으로 확장되며 EFS에서 사용하는 데이터 사용량에 따라 비용을 지불함

EBS vs  EFS

Elastic Block Storage

  • EBS volume
    • 한 번에 하나의 인스턴스에 연결 (다중 연결하는 io1/io2 제외)
    • AZ 수준에서 잠겨있음
  • EBS 볼륨을 AZ 간에 마이그레이션 하려면, 스냅샷을 찍어 EBS 스냅샷에 넣은 후 이 스냅샷을 다른 AZ에 복원해야 함
  • EBS 볼륨 백업은 IO를 사용하므로 애플리케이션이 많은 트래픽을 처리하는 동안에는 성능에 영향을 줄 수 있으므로 실행하지 않아야 함
  • EC2 인스턴스의 경우, EC2 인스턴스가 종료되면 기본적으로 root EBS 볼륨도 종료되지만 해당 동작을 비활성화 할 수 있음

Elastic File System

  • 네트워크 파일 시스템
  • 여러 가용영역에 걸쳐 수백 개의 인스턴스에 연결하는 것이 목표
  • EFS는 EBS보다 가격이 더 높지만 스토리지 계층을 활용하여 비용을 절감할 수 있음

 

'AWS' 카테고리의 다른 글

EC2  (0) 2024.08.21