이두잉의 AWS 세상

AWS Elastic Block Store(EBS) 이해

2015.11.18 12:54 - leedoing leedoing

안녕하세요, 이두잉입니다.

금일은 EBS에 관해서 포스팅해보도록 하겠습니다.

 

1. AWS Disk?

AWS의 Disk는 S3 / EBS / EFS 정도로 나눌 수 있습니다.

S3는 Http 통신을 하는 대용량 스토리지 서버

EBS는 일반 Disk

EFS는 Nas 정도로 생각하실 수 있습니다.

 

2. EBS 분류

EBS는 General Purpose SSD (이하 gp2) / Provisioned IPOS SSD(이하 io1) / Magnetic으로 나뉠 수 있습니다.

1.GP2

가장 일반적인 Disk로 1GB~1.5TB Size를 지정할 수 있으며 볼륨 크기에 따라 IOPS를 보장합니다.(1GB 당 3)

버스팅 기능이 있어 I/O가 발생되지 않는 시간동안 IOPS가 충전됩니다. 최대 3,000 IOPS까지 충전됩니다.

2. io2

프로비전 된 Disk로 용량에 상관없이 IOPS를 보장합니다. (Min 100 IOPS / Max 20000 IPOS)

3. Magnetic

기존에 마그네틱 테이프 개념으로 일반적인 서비스 용도로는 권장되지 않습니다.

 

3. EBS 네트워크 구조

일반적으로 AWS Disk는 Network로 연결되어 있습니다.

Instance Type에 따라 EBS 전용 네트워크가 연결되기도 하고 공용으로 사용되기도 합니다.(EBS-Optimized Available)

대량의 트래픽이 발생되는 서비스의 경우 성능 보장을 위해서는 EBS-Optimized를 사용을 권장합니다(비쌉니다).

여러 환경을 배경으로 테스트 결과 Optimized 대비 기본 EBS의 성능이 대략적으로 1/2 정도 떨어지는 벤치마크 결과가 있기도 합니다.


Instance Type 별 Throughput / IOPS (참고 - http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-ec2-config.html)

따라서 적당한 Instance type과 EBS IOPS를 잘 매핑해서 사용해야 합니다. 또한 처음 EBS를 사용하기 위해서는 EBS prewarm을 사용해야 최대 성능을 사용할 수 있습니다.

(참고 - http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/benchmark_piops.html)

 

4-1. 별첨 * EBS 성능 및 Snapshot 영향도 측정(c3.xlarge / Block Size 16KB / gp2 / Disk Size 100GB)

AWS 성능 측정 가이드 방법으로 fio 명령어와 간단한 스크립트를 통해 Snapshot 중 초당 EBS Performance 도출

스냅샷 시점에 0에 IOPS가 0에 수렴하며 일정시간이 지난 후 EBS가 정상 성능으로 증가.

Prewarm 효과는 글쎄요? 차이가 없네요.

 

4-2. 별첨 * EBS 성능 및 Snapshot 영향도 측정(c3.xlarge / Block Size 16KB / io1_iops 10000 / Disk Size 100GB)

AWS 성능 측정 가이드 방법으로 fio 명령어와 간단한 스크립트를 통해 Snapshot 중 초당 EBS Performance 도출

스냅샷 시점에 0에 IOPS가 0에 수렴하며 일정시간이 지난 후 EBS가 정상 성능으로 증가.

io1의 경우 prewarm한 경우가 좀 더 빠른 성능을 보여줍니다.

 

4-3. 별첨 * EBS Snapshot 관련 영향도 결론

EBS Snapshot 진행 시에는 Disk 성능이 나오지 않으며 약 30초에서 2분 가량 시간이 지나며 점차 성능을 회복한다.

Snampshot은 Incremental 방식으로 이루어지기 때문에, Snapshot 시에 Disk 성능 회복 속도는 Snapshot 데이터 양과 횟수에 따라 반비례한다.

prewarm으로 인한 큰 차이는 없다. 하지만 확신은 못드립니다.(AWS에서 더이상 EBS에 대한 prewarm을 할 필요가 없다고 합니다.)

 

EBS 관련 이슈가 생겼을 경우 Instance Type / EBS IOPS를 확인하시기 바랍니다.


감사합니다.



'Compute > EBS' 카테고리의 다른 글

AWS EBS mount: unknown filesystem type ‘LVM2_member’ error  (0) 2016.01.28
AWS Elastic Block Store(EBS) 이해  (0) 2015.11.18