본문 바로가기
AWS

4. AWS EC2 인스턴스 저장소

by JayAlex07 2023. 3. 10.

4. AWS EC2 인스턴스 저장소

AWS

 

EBS Volume

EBS (Elastic Block Store) Volume

EBS Volume은 인스턴스에 첨부할 수 있는 네트워크 드라이브다

  • 네트워크의 USB라고 생각하면 된다
  • 네트워크를 사용하여, 인스턴스와 연결을 할 때에 살짝의 지연시간이 발생할 수 있다
  • Free Tier은 30GB의 General Purpose (SSD) 또는 Magnetic EBS 저장소를 사용할 수 있다

 

인스턴스가 없어지더라도, 인스턴스에서 생성했던 데이터를 유지시켜줄 수 있다

 

EBS Volume은 헌번에 하나의 인스턴스에 붙을 수 있다

  • USB처럼 하나의 인스턴스에서 분리되고, 다른 인스턴스에 붙을 수 있다

 

기본적으로, 특정 Availability Zone에 제한되어 있다

  • us-east-1a 에서 생성된 EBS Volume은 us-east-1b 에서 사용될 수 없다
  • 만약 다른 Availability Zone에서 사용하고 싶으면 Snapshot (스냅샷)을 해야 한다
    • Snapshot (스냅샷) : EBS Volume을 복제해서, 다른 AZ에서 사용하는 것이다

 

저장 공간은 미리 설정을 해둬야 한다 (GB 사이즈 또는 Input/Output Operations Per Second/ IOPS)

  • 미리 설정한 저장 공간에 따라 비용이 청구된다
  • 드라이브의 용량은 늘릴 수 있다

 

 

EBS - Delete on Termination attribute

연결되어 있는 인스턴스가 삭제되면, EBS Volume도 삭제 되는지, 유지 되는지 설정을 할 수 있다

On으로 설정하면, 연결되어 있는 인스턴스가 삭제되면 EBS Volume도 삭제 된다

 

AWS 콘솔 또는 CLI에서 조작을 할 수 있다

  • root EBS Volume의 디폴트는 Delete on Termination이 활성화 되어 있다
  • 그 외에 디폴트 값은 Delete on Termination이 비활성화 되어 있다
    • 즉 인스턴스가 없어져도, 유지가 된다

 

 

EBS Snapshots

EBS Volume의 백업을 만드는 것이다

  • EBS Volume을 복제하는 것

 

volume을 떼고난 후 스냅샷을 하는 것을 권장한다

 

스냅샷들은 다른 AZ 또는 Region에서 사용될 수 있다

  • 다른 AZ 또는 Region에 스냅샷을 통해 저장하여, 재난을 피할 수 있다

 

 

EBS Snapshot Archive (기록 보관소)

  • 스냅샷을 Archive Tier로 옮기는 것이고, 75% 더 저렴하다
  • 기록 보관소로 옮기는데 24시간에서 72시간이 걸린다

 

Recycle Bin for EBS Snapshots

  • 스냅샷을 삭제하더라도, 특정 기간 내에 다시 복구할 수 있도록 따로 보관해준다
  • 1일부터 1년까지, 보관 기간을 선택할 수 있다

 

Fast Snapshot Restore (FSR)

  • 초기치를 설정할 때에, 지연시간 없이 사용할 수 있도록 도와준다
    • 데이터가 많을 때 유용하다

 

 

AMI

AMI : Amazon Machine Image / AMI는 EC2 인스턴스를 작동시킨다

  1. EC2 인스턴스를 만든다
  2. 데이터 완정성을 위해 인스턴스를 중단시킨다
  3. AMI를 만든다 - 이때 EBS 스냅샷도 생성된다
  4. 인스턴스를 다른 AMI들을 통해 실행 한

 

AMI는 EC2 인스턴스의 맞춤화 (Customization)다

  • 개인의 소프트웨어, 환경 설정, OS, 모니터링 등을 추가할 수 있다
  • 미리 만들어진 소프트웨어를 사용하는 것이라서, 부트 시간과 환경 설정을 더 빠르게 할 수 있다

 

AMI는 특정 Region을 위해 만들어 졌고, 다른 Region에 복사될 수 있따

 

EC2 인스턴스를 아래에 부터 실행할 수 있다

  • 공공 AMI : AWS 제공
  • 개인의 AMI : 개인이 만들고 유지를 한다
  • AWS Marketplace AMI : 다른 사람이 만든 AMI를 사서 사용할 수 있다

 

 

EC2 Instance Store

 

EBS volume들은 제한된 기능을 가진 네트워크 드라이브다

 

즉, 고성능 하드웨어 디스크가 필요하다면 EC2 Instance Store를 사용한다

  • 여기서 이 하드웨어 디스크들은 실제 물리 서버 (Physical Server)에 붙어 있다

 

특징

  • 입출력 (I/O) 성능이 뛰어나다
  • EC2 Instance Store가 멈추면, 저장소를 잃어버린다
  • 임시적인 컨텐츠, 캐시, 스크레치 데이터, 버퍼를 다루는 데이터에게는 좋을 수 있다
    • 하지만 하드웨어가 실패할 경우, 데이터를 잃어버릴 위험성이 있다
  • 즉 백업이나 복제하는 것은 유저들의 몫이다

 

 

EBS Volume 종류

EBS Volume은 총 6개의 종류가 있다

  • gp2, gp3, io1, io2, st1, sc1

EBS Volume은 크기, 처리량 (Throughput) 그리고 초당 입출력 작업량 (IOPS)를 따라 나눠진다

gp2, gp3, io1, io2만 부팅 볼륨으로 사용될 수 있

General Purpose (SSD) - gp2, gp3

  • 가격면에서 효율적인 저장소고, 낮은 지연시간이 있다
  • 다양한 작업량을 처리할 수 있다
  • 시스템 부팅 볼륨, 가상 데스크톱, 개발과 테스트 환경을 위해 사용된다
  • 1 GiB 에서 16 TiB 까지 사용할 수 있다
  • gp2
    • 작은 gp2 용량은 3000 IOPS까지 burst된다
    • 용량들과 IOPS들은 연결이 되어 있고, 최대 IOPS는 16,000이다
    • 3개의 용량들이 있으면 한 개당 최대 5,334GB의 IOPS를 가질 수 있다
      • 5334 * 3 = 16,002
  • gp3
    • 최신 General Purpose면서 3,000 IOPS와 125MiB/s의 처리량을 제공한다
    • 독립적으로 16,000 까지 IOPS를 증가시킬 수 있으면서, 1000 MiB/s 까지 처리량을 늘릴 수 있다
      • 연결되어 있지 않다

 

Provisioned IOPS (PIOPS) SSD - io1, io2

  • 고성능 SSH 용량으로 더 높은 처리량과 더 낮은 지연시간이 필요로한 어플리케이션에 쓰인다
  • 지속적인 IOPS 성능이 필요한 비즈니스 어플리케이션을 사용할 때 필요하다
  • 데이터베이스에서 많은 작업량이 이루어질 때를 위해 설계가 되었다
  • EBS Multi-Attach를 제공한다
  • io1 / io2 (4GiB - 16TiB)
    • Nitro EC2 인스턴스의 최대 PIOPS는 64,000고, Nitro EC2 인스턴스가 없다면 32,000이다
    • 저장소 사이즈에서 PIOPS를 독립적으로 증가할 수 있다
    • io2의 내구성이 더 좋고, IOPS per GiB가 더 높다
  • io2 Block Express (4GiB - 64TiB)
    • Sub-millisecond의 지연시간을 가지고 있다
    • 최대 PIOPS는 256,000이고 IOPS:GiB의 비율을 1,000:1 이다

 

Hard Disk Drives (HDD) - st1, sc1

  • 부트 볼륨일 수 없다
  • 125 GiB에서 16TiB까지 가능하다
  • 처리량(Throughput)에 최적화된 HDD - st1
    • 저렴하고, 작업에 지속적으로 접근을 하고, 많은 처리량을 해결해야 할 때 사용될 수 있다
    • 빅 데이터, 데이터 창고, 로그 과정
    • 최대 처리량은 500MiB/s 이면서 최대 IOPS는 500이다
  • Cold HDD - sc1
    • 제일 저렴하면서, 작업량에 덜 접속하는 어플리케이션을 위해 설계가 되었다
    • 지속적이지 않게 데이터를 접속할 때
    • 가격이 제일 저렴한 EBS Volume이 필요할 때
    • 최대 처리량은 250MiB/s고 최대 IOPS는 250이다

 

 

EBS Multi-Attach - io1 / io2

  • 같은 EBS Volume을 같은 AZ에 있는 다수의 EC2 인스턴스가 사용할 수 있다
  • 각각의 인스턴스는 고성능의 volume의 읽고 쓰는 권한을 가지고 있다
  • 최대 16개의 EC2 Instance가 사용할 수 있다

 

 

EFS (Elastic File System)

네트워크 파일 시스템, NFS로 관리되며 다수의 EC2에 장착될 수 있다

  • 컨텐츠 관리, 웹 서빙, 데이터 공유 등을 할 수 있다

EFS는 다수의 AZ에 있는 EC2 인스턴스에 작동이 된다

비싸지만, 확장이 가능하고, 가용성이 높다 / 하지만 사용하면서 돈을 지불하기 때문에, 미리 메모리를 설정할 필요가 없다

 

NFSv4.1 프로토콜을 사용한다

 

EFS는 보안 그룹 (Security Group)을 통해서 EFS 접속을 통제한다

 

Linux 기반의 AMI와 호환이 가능하다 (not Window)

 

 

EFS - Performance & Storage Classes

  • EFS Scale
    • 1000개의 NFS 클라이언트와, 10GB/s 이상의 처리량을 얻을 수 있다
    • Petabyte-scale 네트워크 파일 시스템까지 자동으로 증가한다
  • Performance Mode (set at EFS creation time)
    • General Purpose (기본) - 지연시간이 민감한 사례에 사용된다 (웹 서버, CMS, etc)
    • Max I/O - 높은 지연시간이 있지만 높은 처리량을 가지고 있다 (빅데이터, 미디어 프로세싱)
  • Throughput Mode
    • Burst - 1TB = 50MiB/s + burst of up to 100MiB/s
    • Provisioned - 저장소 크기에 관계없이 처리량을 설정하는 것이다
    • Elastic - 자동으로 작업량에 따라 처리량을 늘리거나 줄일 수 있다
  • Storage Tiers : 라이프 사이클 관리 속성 - 몇 일 후에 파일을 옮기는 것
    • Standard : 파일에 지속적으로 접속할 때 유용
    • Infrequent access (EFS-IA) : 비용이 적고 라이프 사이클 정책을 활용해서 활성화 시킨다
  • Availability and durability
    • Regional : 다수의 AZ
    • One Zone : 하나의 AZ, 개발을 할 때 유용하고, 기본적으로 백업을 하고, IA와 호환이 가능하다

'AWS' 카테고리의 다른 글

6. AWS ASG  (0) 2023.03.17
5. AWS ELB  (0) 2023.03.17
3. AWS EC2 기초  (1) 2023.03.09
2. AWS IAM / CLI  (0) 2023.03.08
1. AWS Introduction  (0) 2023.03.06