gony-dev 님의 블로그

Section 6. EC2 Instance Storage 본문

AWS

Section 6. EC2 Instance Storage

minarinamu 2024. 9. 25. 10:57

EBS

1. EBS(Elastic Block Store)란?
인스턴스가 실행 중인 동안 연결 가능한 네트워크 드라이브이다.
EBS 볼륨을 사용하면 EC2가 종료된 이후에도 사용할 수 있다.
한 번에 하나의 인스턴스에만 마운트할 수 있다.
 - CCP레벨: 하나의 EBS는 하나의 EC2 인스턴스에만 마운트 가능
 - Associate 레벨: 일부 EBS의 다중 연결

2. EBS Volume
네트워크 드라이브
인스턴스와 EBS 볼륨이 연결되기 위해서는 네트워크를 필요로 한다.
다른 리전으로 이동이 불가하다. 하지만 스냅샷을 이용하면 다른 가용 영역으로 이동 가능

3. EBS - Delete on Termination attribute
속성에 EC2 삭제 시 함께 삭제된다는 속성이 있다.(default)
실제 사용 예시로는 인스턴스가 제거되었을 때 루트 볼륨을 보존한다.

 

EBS  스냅샷

  • EBS 스냅샷은 EBS 볼륨의 특정 시점에서의 백업을 의미한다.
  • 해당 스냅샷은 다른 가용 영역이나 다른 리전에 복사할 수 있다.

EBS 스냅샷의 특징

  1. EBS 스냅샷 아카이브
    • 스냅샷을 최대 75% 더 저렴한 아카이브 티어로 옮길 수 있는 기능을 의미한다.
    • 아카이브를 복원하는데 24시간에서 72시간 정도 걸린다.
  2. EBS를 위한 쓰레기통
    • EBS 스냅샷을 영구적으로 삭제하는 대신 휴지통에 보관한다. 이 경우에 하루에서 1년 까지 보관 기간을 설정할 수 있다.
  3. 빠른 스냅샷 복원
    • 스냅샷을 완전히 초괴화하는 기능
    • 스냅샷이 매우 클 때 EBS 볼륨을 초기화해야 하거나 매우 빠르게 인스턴스화해야 하는 경우에 유용하다.
    • 비용이 많이 들기 때문에 주의해야한다.

EBS Volume 유형

  1. gp2 / gp3 | 다양한 워크로드에 대해 가격과 성능의 균형을 맞추는 범용 SSD 볼륨이다. 지금까지 사용한 볼륨의 종류
    1. gp2는 비용 효율적인 스토리지로 낮은 대기 시간을 제공하고, 시스템 부팅 볼륨, 가상 데스크톱, 개발 테스트 환경에 사용할 수 있다.
    2. gp3는 최신 세대 볼륨으로 3000 IOP와 초당 125MB 처리량을 제공한다. IOP는 최대 16000까지, 처리량은 초당 최대 1000MB까지 독립적으로 증가 시킬 수 있다.
  2. io 1 / io2 | 가장 높은 성능의 SSD 볼륨으로 미션 크리티컬, 저지연 등의 작업에 적용된다.
    1. 16000 IOPS가 필요하다면 io1과 io2를 사용하는 것이 좋다.
    2. io1는 nitro EC2 인스턴스의 경우 최대 64000 PIOPS이고 다른 종류는 32000이다. 그리고 스토리지 크기와 별도로 프로비저닝된 PIOPS를 늘릴 수 있다.
    3. io2는 최대 53 테라바이트 데이터를 사용할 수 있고, 최대 256000 IOPS가 제공된다.
  3. st1 | 자주 액세스하고 처리량이 많은 워크로드를 위해 설계된 저비용 HDD 볼륨이다.
    1. st1은 빅 데이터, 데이터 웨어하우징, 로그 처리에 적합하고, 초당 최대 500MB 처리량과 500 IOPS를 제공한다.
  4. sc1 | 가장 저렴한 HDD 볼륨으로 액세스가 빈번하지 않은 워크로드를 위해 설계되었다.
  • EBS volume은 크기, 처리량, 초당 입출력 작업 수를 의미 하는 IOP로 특성화되어 있다.

결론

1. 데이터베이스가 필요하다면 범용 SSD와 프로비저닝된 IOP SSD이고, 높은 처리량과 낮은 비용을 필요로 한다면 st1 / st2를 선택하면 된다.

2. gp2, gp3, io1, io2만 부팅 볼륨으로 사용할 수 있다.

 

EBS Multi-Attach - io1/io2 family

  • 같은 AZ 안에서 여러개의 EC2 인스턴스에는 같은 EBS volume을 붙힐 수 있다.
  • 각 인스턴스는 고성능 볼륨에 대한 읽기와 쓰기 권한을 가지고 있다.
  • EBS 볼륨은 한 번에 최대 16개의 EC2 인스턴스에 부착할 수 있다.

AMI

AMI란?
Amazon Machine Image
사용자 지정 EC2 인스턴스이다.
특정 리전에서 설계되고 다른 리전에도 복제될 수 있다.
AWS에서 제공되는 AMI를 사용해도 되고, AMI를 직접 생성해도 된다.

AMI 과정

  1. EC2 인스턴스를 시작하고 커스터마이징한다.
  2. 인스턴스를 멈춰서 데이터 무결성을 확보한다.
  3. AMI를 설계한다. 이때 EBS 스냅샷 또한 생성된다.
  4. 다른 AMI에서 인스턴스를 실행할 수 있게 된다.

EC2 Instance Store

  • EBS 볼륨은 네트워크 드라이브를 연결해 주지만, 성능이 제한된다.
  • 만일 고성능의 하드웨어 디스크가 필요하다면, EC2 Instance Store를 사용하자.
  • I/O 성능 향상에 도움을 준다.
  • 임시 스토리지로 사용되기에 인스턴스가 멈춘다면 스토리지 또한 잃게 된다.
    • 그러므로 버퍼나 캐시, 스크래치 캐시 등은 좋은 사용 예시가 되지만 이 외에는 적합하지 않다.

EFS

Elastic File System

  • EFS는 관리형 NFS(네트워크 파일 서비스)이다.
  • 사용량에 따라 비용을 지불하므로 프로비저닝 할 필요 없다.
  • 사용 범위
    • 콘텐츠 관리
    • 웹 서빙
    • 데이터 공유
  • 내부적으로 NFS 프로토콜을 사용하며, EFS에 대한 액세스를 제어하려면 보안 그룹을 설정해야 한다.
  • 오로지 Linux 기반 AMI와만 호환된다!!
  • 장점은 용량을 미리 기획할 필요가 없다는 것이다.

Performance & Storage Classes

  1. EFS Scale
    1. 동시 NFS 클라이언트 수천 개와 10GB 이상의 처리량을 확보할 수 있고, PB 규모의 네트워크 파일 시스템으로 자동 확장 할 수 있다.
  2. Performance Mode
    1. 범용 모드 | 지연 시간에 민감한 사용 사례에 사용한다.
    2. Max I/O 모드 | 지연시간이 긴 네트워크 파일 시스템이지만 처리량이 높고  병렬성이 높은 워크로드에 적합하다. 빅데이터 처리에 유용하다.
  3. Throughput Mode
    1. Bursting 모드 | 50MB +  최대 100MB
    2. Provisioned 모드 | 스토리지 크기에 상관없이 처리량을 설정한다.
    3. Elastic 모드 | 워크로드에 따라 처리량을 자동으로 조절한다. 워크로드를 예측하기 어려울 때 사용한다.

Storage Classes

  1. Storage Tiers(파일을 다른 계층으로 옮길 수 있음)
    • Standard | 빈번히 액세스되는 파일들을 저장하는데 사용되는 계층
    • Infrequent access(EFS-IA) | 자주 액세스하지 않는 용도로 사용되는 계층. 저장하면 비용이 감소한다.
    • Archive | 거의 액세스하지 않는 파일을 저장하는데 사용되는 계층
  2. Availability and Durability
    • Standard | 다중 AZ이 있다면 해당 클래스 사용
    • One Zone | 개발만 하고 싶고 더 저렴한 옵션을 원할 때 사용. 하나의 AZ에만 있고 백업이 기본적으로 활성화되도록 설정되어 있다. 액세스 빈도가 낮은 스토리지 계층과 호환된다.

전반적으로 올바른 EFS 스토리지 클래스를 사용하면 최대 90%의 비용을 절감할 수 있다.


EBS vs. EFS

EBS(Elastic Block Storage)

  • EBS 볼륨은 한 번에 하나의 인스턴스에만 연결된다.
  • 다른 AZ의 인스턴스에 연결될 수 없다.
    • 다른 AZ로 EBS 볼륨을 옮기고 싶다면 스냅샷을 찍고 다른 AZ에서 스냅샷을 복구한후에 사용할 수 있다.
    • 이때 EBS 볼륨 백업이 IO를 사용하므로 어플리케이션이 대용량 트래픽을 다룰 때 실행하면 안된다.

EFS

  • 서로 다른 AZ에 수백만개의 인스턴스를 연결할 수 있다.
  • 여러 인스턴스가 하나의 파일 시스템을 공유할 수 있다.
  • Linux에만 사용할 수 있고, EBS보다 비용이 높지만 EFS-IA 기능을 통해 비용을 절감할 수 있다.

'AWS' 카테고리의 다른 글

Section 11. Amazon S3  (0) 2024.09.26
Section 10. VPC(Basic)  (0) 2024.09.26
Section 9. Route 53  (0) 2024.09.26
Section 8. RDS+Aurora+ElasticCache  (0) 2024.09.26
Section 5. EC2(Basic)  (2) 2024.09.24