본문 바로가기

AWS

[AWS 스터디모임] EC2 Instance Storage

0.요약

EC2 인스턴스의 스토리지 옵션들을 정리한다.

  • EBS
  • EBS Volume Type
  • EBS SnapShot
  • EBS Multi Attach
  • EC2 Instance Store
  • AMI
  • Amazon EFS
  • EFS vs EBS

1. EBS

개요 : Elastic Block Store, EC2 스토리지의 가장 중요한 옵션

인스턴스가 실행 중인 동안에 연결 가능한 네트워크 드라이브.

인스턴스 종료 후에도 데이터를 유지할 수 있다. 이를 통해  EBS를 통하여 데이터를 다시 받을 수 있다.

 하나에 한 인스턴스만 마운트 할 수 있다. (단 어소시에이트 레벨에서는 예외이다.)

  • CCP Level : 하나의 EBS는 하나의 EC2 인스턴스
  • Associate Level : 일부 EBS 다중 연결

특정 AZ에서만 생성가능 하다.

EX) xx-xxxx-1a AZ에서 생성된 경우에는 xx-xxxx-1b에는 연결이 불가능하다.

 

EBS Volume은 네트워크 드라이브다.

물리적인 드라이브가 아니다. 인스턴스와 통신을 위해 네트워크를 이용하며 지연이 발생할 수 있다.

동일한 AZ에 대해 인스턴스를 분리하고 다른 인스턴스에 연결할 수 있다.

다른 AZ에 대해 연결하고 싶다면 SnapShot을 통한 방법을 활용 해야한다.

볼륨이기 때문에 용량을 미리 결정해야 한다.

  • 따라서 원하는 양의 GB 및 IOPS, 즉 단위 초당 전송 수를 미리 지정해야 한다.
  • 꼭 EC2 인스턴스에 연결될 필요는 없다.

하나의 인스턴스에 대해 하나의 EBS를 연결할 수 있으며, 볼륨 레벨에 따라 다중 EBS 연결이 가능하다. 또한 인스턴스와 연결하지 않고 유지할 수 있다.

 

종료 시 삭제 속성 (시험 출제 가능성)

EC2 인스턴스가 종료될 시 EBS의 동작을 설정한다.

기본적인 Root EBS는 활성화가 Default이므로 삭제된다.

다른 연결된 EBS 볼륨은 비활성화가 Default로 삭제되지 않는다.

 

- 인스턴스 종료 시 루트 볼륨 보존이나 모든 볼륨 삭제 등에 활용할 수 있다.

 

EBS Volume Type

크게 6가지 유형으로 제공.

gp2 (SSD) 가장 기본적인 유형이며 가격과 성능이 균형적인 SSD 볼륨. 짧은 지연 시간을 자랑하고 효율적인 비용이다. 1Gib 당 3IOPS, 최대 16000 IOPS 제공한다. 부팅 볼륨 사용 가능
 gp3 (SSD)  gp2와 비슷하다. 단 더 최신 세대의 볼륨으로 처리량과 IOPS가 연결되지 않아 더욱 고성능을 발휘한다. 기본 3000IOPS 125Mib/s의 성능이며 최대 IOPS 16000, 최대 처리량 1000Mib/s까지 지원한다. 부팅 볼륨 사용 가능
io1  (SSD) DB 워크로드 같은 낮은 지연 시간 또는 고처리량 작업을 위한 최고 성능 ssd 볼륨, 16000 IOPS 이상의 처리량을 원하는 등의 프로비저닝을 마친 IOPS(PIOPS) 부팅 볼륨 사용 가능
io2 (SSD) io1과 비슷하나 성능이 io1에 비해 우월하다. Nitro EC2 인스턴스 등에서는 최대 64000 IOPS까지 가능하다. 부팅 볼륨 사용 가능
st1 (HDD) 빈번한 접근, 처리량은 많은 작업을 위한 저비용 HDD 볼륨, 빅 데이터, 데이터 웨어하우징 등에 사용된다. 부팅 볼륨 사용 불가능
sc1 (HDD) 덜 접근되는 작업을 위한 최저 비용인 HDD 볼륨, 아카이브 데이터용 등으로 사용된다. 부팅 볼륨 사용 불가능

 

*용어

더보기
데이터 웨어하우스
사용자의 의사 결정에 도움을 주기 위하여 기간시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환해서 관리하는 데이터베이스를 말한다

Nitro EC2 Instance
2018년에 제시된 5세대부터 도입된 Nitro System(차세대 가상화 인프라 기본 플랫폼)이 적용된 EC2 인스턴스
이전 4세대와 달리 Nitro hypervisor(메모리, CPU의 할당을 관리하고 대부분의 워크로드에있어서 베어 메탈과 거의 유사한 성능을 제공하는 하이퍼바이저), NVMe, ENA을 도입한 것이 큰 특징.

하이퍼바이저
단일 물리적 머신에서 여러 가상 머신을 실행하는 데 사용할 수 있는 소프트웨어

NVMe
Non-Volatile Memory express의 약자이며 초고속 저장장치. SSD전용으로 개발한 통신 표준/프로토콜

ENA
Elastic Network Adapter로 기존보다 향상된 네트워크 처리를 가능하게 해주는 네트워크 통신모듈


*표 정리

SSD Volume 요약
HDD Volume 요약

 

EBS SnapShot

스냅샷은 특정 시점의 시스템이나 데이터의 상태를 저장한 것으로 EBS 스냅샷은 특정 시점의 EBS 상태를 저장한 것을 말한다.

특정 EBS를 저장해놓거나, 다른 AZ나 리전으로 스냅샷을 이동해야할 때 주로 사용된다.

스냅샷의 주요 기능

  • EBS 스냅샷 아카이브
    • 스냅샷을 저장하는 것도 비용이 발생한다. 
    • 아카이브 계층으로 스냅샷을 이동하여 75%까지 비용을 절감할 수 있다.
      • 아카이브 복원엔 24~ 72시간이 소요된다.
  • EBS 스냅샷용 휴지통
    • 삭제된 스냅샷을 보관하도록 규칙을 설정 할 수 있다. 
    • 실수로 스냅샷을 삭제하여도 복구할 수 있게 해준다.
    • 보존 기간은 1일에서 1년까지 설정이 가능하다.
    • 단, 휴지통안의 스냅샷 역시 일반적인 스냅샷의 비용이 소모된다.
  • 빠른 스냅샷 복원(FSR)
    • 스냅샷의 전체 초기화를 강제하여 첫 사용 시에 지연이 발생하지 않도록 한다.
    • 일반적인 스냅샷 복원에서는 복원된 볼륨에 처음으로 액세스할 때 데이터를 로드해야 한다. 이는 '느린 볼륨 첫 읽기' 현상이라고도 부르며, 이 과정에서 복원된 볼륨의 성능이 일시적으로 저하될 수 있다.
    • 반면, 빠른 스냅샷 복원에서는 복원이 완료되면 복원된 볼륨의 모든 데이터가 즉시 사용 가능한다. 이는 복원 시간을 크게 단축시키며, 복원된 볼륨의 초기 성능 저하를 방지한다.

EBS Multi Attach

위의 개요에서 잠시 표현 했던 일부 EBS 다중 연결을 의미.

io 계열 유형에서 사용가능하다.

하나의 EBS 볼륨을 동일한 AZ 내의 여러 EC2 인스턴스에 연결한다.

각각의 인스턴스는 볼륨에 대한 전체 읽기 및 쓰기 권한을 가진다.

클러스터화된 리눅스 애플리케이션에서 더 높은 가용성을 가진다.

  •  Teradata 같은 경우
  • Application 동시 쓰기 작업 관리 같은 경우

한 번에 최대 16개의 인스턴스를 사용할 수 있습니다. (시험 출제 가능성 있음)

 

EC2 인스턴스 스토어

EBS 볼륨은 사용하기 좋지만 제한된 성능의 네트워크 드라이브이다.

고성능 하드웨어 디스크가 필요할 때 윺용한 것이 인스턴스 스토어. 더 높은 I/O 성능을 제공한다.

하나의 인스턴스에 직접적으로 연결됩니다. 이는 인스턴스와 스토어가 1 : n의 관계를 가짐을 의미합니다.

단 EC2 인스턴스, 즉 인스턴스 스토어를 중지 또는 종료하면 해당 스토리지 또한 손실된다. 이 때문에 임시 스토리지라고도 불린다.

버퍼/ 캐시 / 임시 콘텐츠 등에 사용됩니다.

인스턴스 하드웨어에 문제 발생 시 데이터 손실의 위험이 있기 때문에 사용자 필요에 따라 백업이나 복제를 설정해줄 수 있다.

스토어의 Read Write IOPS 성능

 

2. AMI

Amazon Machine Image 의 약자로 사용자 지정 EC2 인스턴스를 나타낸다.

AMI는 EC2 인스턴스를 시작하기 위한 기본 정보를 제공하는 템플릿 으로 운영체제, 애플리케이션 서버 및 추가 애플리케이션을 포함할 수 있다. 이를 사용하면 필요한 소프트웨어 구성이 설치된 상태로 빠르게 인스턴스를 구성할 수 있다.

  • 특정 리전을 위해 생성된다. (다른 리전으로 복사 가능)
  • Public AMI : AWS가 제공
  • 자신의 AMI : 직접 만들고 유지 및 관리한다.
  • AWS 마켓플레이스 AMI : 타인이 생성한 AMI(구매 및 판매 가능)

AMI 프로세스

  1. EC2 인스턴스를 시작하고 커스터 마이징한다.
  2. 데이터 무결성을 위해 인스턴스를 중지한다.
  3. AMI를 빌드한다. (이때 EBS 스냅샷도 생성된다.)
  4. 다른 AMI에서 인스턴스를 시작한다.

3. Amazon EFS

EFS란?

Elastic File System의 약자로 여러 EC2에 마운트 할 수 있는 관리형 Network File System이다.

멀티 AZ 영역의 EC2 인스턴스와 함께 작동한다.

  • 고가용성
  • 확장 가능성
  • 높은 비용 (gp2의 세 배), 사용량에 따라 지불

내부적으로 NFS 프로토콜을 사용 , EFS에 대한 액세스를 제어하려면 보안 그룹을 사용하여야 한다.

리눅스 기반으로 AMI 호환된다. (윈도우 미호환, 우회 방식 등으로 사용 가능)

파일 시스템은 자동으로 확장되며, 사용량에 따라 지불하므로 용량 계획이 필요하지 않는다.

사용 사례

  1. 콘텐츠 관리
  2. 웹 서비스
  3. 데이터 공유
  4. 워드 프레스

성능 및 스토리지 클래스

성능

EFS 스케일

  • 수천 개의 NFS 클라이언트, 10GM+ /s 처리량 지원
  • 자동적으로 PB 규모 네트워크 파일 시스템 확장

Performance Mode

  • 기본 - 지연 시간에 민감한 사용 사례 (웹 서버, CMS[콘텐츠관리 시스템] 등)
  • Max I/O - 높은 지연 시간, 처리량, 고도의 병렬화( 빅데이터, 미디어 처리)

Throughput Mode

  • 버스팅 - 1 TB 당 50MiB/s ~ 최대 100MiB/s까지의 버스트
  • 프로비저닝 - 저장소 크기와 무관하게 처리량 설정
  • 탄력적인 조정 - 작업 부하량에 따라 처리량을 자동으로 조정
    • 읽기 작업에 최대 3gib/s, 쓰기에 최대 1gib/s
    • 작업 부하를 예측할 수 없는 경우 사용합니다.

스토리지 클래스

  • 스토리지 티어 (라이프사이클 관리 기능 - N일 후에 파일 이동)
    • 표준: 자주 접근하는 파일에 사용
    • Infrequent access [자주 접근하지 않는] (EFS-IA): 파일을 검색하는 비용, 저장 비용이 더 낮습니다. 라이프사이클 정책으로 EFS-IA를 활성화.
EFS-IA 
자주 액세스 하지 않는 계층. 저장 비용은 낮아지지만 검색 비용이 발생한다.
  • 가용성 및 내구성 측
    • 표준: Multi-AZ, 프로덕션에 적합
    • One Zone: One AZ, 개발에 적합, 기본적으로 백업이 활성화되어 있으며, IA와 호환된다 (EFS One Zone-IA 라고 한다.)
  • 비용 절감이 90% 이상입니다.

 

 

'AWS' 카테고리의 다른 글

[AWS 스터디 모임] ElasticCache 생성해보기  (0) 2024.03.04
[AWS 스터디모임] ElasticCache  (0) 2024.03.04
[AWS 스터디모임] RDS 실습해보기  (0) 2024.02.19
[AWS 스터디모임] RDS  (0) 2024.02.18
AWS VPC 및 서브넷 설정하기  (0) 2023.10.13