2021. 9. 8. 23:39ㆍCloud/AWS 기초
이전시간에 이어 이제는 instance가 사용하는 storage에 대해 알아보도록 하자. 인스턴스가 단독으로 사용하는 블록 레벨 스토리지는 2가지가 있는데 EBS(Elastic Block Store), instance storage 서비스 이다. 각각의 서비스가 어떤 상황에서 사용되는지 알아보자.
EBS(Elastic Block Store)는 기본적으로 사용자가 만드는 어플리케이션이 블록 레벨 스토리지가 필요할때 사용된다.. 보통 이것은 SSD나 HDD에서 제공을 해 준다. 특히 instance storage와 달리 EBS는 휘발성이 아닌 지속적인 저장이 가능하다. 데이터 볼륨을 백업할 수 있는 스넵샷 기능을 제공하는데 여기서 말하는 스넵샷은 WM웨어같은 프로그렘에서 사용하는 개념과는 조금 다르다. 완전히 현 상황을 기록해서 스넵샷 활용을 하는 기술은 EBS볼륨이다. 유의할 점은 한 번에 하나의 인스턴스만 연결할 수 있으며 볼륨과 동일한 가용 영역에 있어야 한다. 또한 instance storage에 비해 네트워크 속도에 많은 영향을 받는다.
또한 굉장히 높은 성능을 가지는 디스크가 필요할때, 저장공간이 필요할때 사용한다. 분석이 된 이후 결과만 발생하면 되는 데이터 분석과 같은 경우에 사용된다. 단 사용자가 요구하는 조건(데이터를 어느 시점에 지워라)가 있을 경우 사용할 수 없다.
그림1 을 보자. 기본적으로 구현환경에서 차이점이 있다. 먼저 EBS볼륨에 대해 알아보자. EBS볼륨은 이 서비스가 제공해 주는 거대한 스토리지 안에 사용자가 용량을 요청하고, 요청된 용량에 사용자가 만든 인스턴스에 네트워크를 연결해 스토리지와 연결이 된다.
EBS볼륨은 네트워크를 통해 연결이 되는 만큼 네트워크 성능도 당연히 중요한데 이를 위한 서비스가 EBS 최적화 인스턴스 이다. 인스턴트 생성 시 2번쩨 단계에서 선택할 수 있으며 볼륨과 네트워크 사이의 경합을 최소화 시킬 수 있다.
425Mbps~14,000Mbps 정도의 범위를 가지는 속도를 유지할 수 있으며 최적화된 구성 스택구성을 할 수 있다. 마지막으로 EBS I/O를 위한 추가 전용 용량을 지급해 준다.
instance storage는 그러면 어디에 있을까? Host가 있을때 CPU ,NIC 등등과 함께 있는 개념이다. 즉 실제 물리적인 장비를 끌어다 사용하기 때문에 직접 연결되어 있는 환경이다. 그렇기에 네트워크로 연결된 EBS보다 훨씬 빠르다.
instace storage는 기본적으로 EBS에 비해 성능이 압도적으로 뛰어나지만 기본적으로 휘발성을 띄는 스토리지 이다. 그렇다고 해서 RAM에 올라가는 그런 개념은 아니고 SSD, HDD에 보관되어 있다. 그런데 왜 휘발성일까?
그림2는 instance storage가 휘발성을 띄는 것에 대한 설명이다. 특정 Host에 올라가있는 instance를 정지시키면 host에 남아 있는것이 아닌 host에서 내려오게 된다. 그 이유는 비용을 절감시키기 위해서 인데 '리소스를 차지한다.' 라는 의미는 결국 '비용이 발생한다.' 라는 의미이기 때문이다. instance 는 어떤 호스트에 올라갈것인지 찾는 단계부터 시작하기 때문에 일반적으로 기존에 사용하던 Host가 아닌 다른 Host에 올라간다. 이것이 휘발성이라는 의미이다.
'EBS를 사용하겠다.' 라고 의사 결정이 내려진 이후에는 저장공간을 SSD로 잡을 것인지 HDD를 잡을것인지를 정해야한다. IOPS 가 높은 수치로 필요할때 SSD를 사용하지만 그렇지 않을고 대용량의 데이터를 처리하기 위해서는 HDD를 사용하는것이 좋다.
* IOPS input output per second 입출력을 초당 얼마나 빨리 처리하는가?
아래의 표는 어떤 저장공간을 사용할 것인지에 대해 표로 설명을 해 둔 것 이다.
SSD 기반
범용 SSD | 프로비저닝(요구사항에 맞춰 생성된) 된 IOPS | |
설명 | 다양한 워크로드에 사용할 수 있으며 가격 대비 성능이 우수한 범용 SSD볼륨이다. | 지연시간이 짧거나 처리량이 엄청나게 많은 미션 크리티컬 워크로드에 적합한 고성능 SSD볼륨이다. |
사용 사례 |
대부분의 워크로드에서 사용하기 쉽다. | IOPS성능을 유지해야하는 크리티컬 비즈니스 에플리케이션에 사용된다 대규모인 데이터베이스 워크로드에 사용된다. |
HDD 기반
처리량 최적화 HDD | Cold HDD | |
설명 | 자주 액세스하고 처리량 집약적인 워크로드에 적합한 저렴한 HDD볼륨이다. | 자주 사용하지 않는, 말 그대로 얼어버린(보관, 백업 등등)워크로드에 적합한 최저 비용의 HDD 볼륨이다 |
사용 사례 |
스트리밍 워크로드 빅데이터 데이터 웨어하우스 로그 처리 * 부트 볼륨이 될 수는 없다. |
자주 엑세스 하지 않는 대용량 데이터를 위한 처리량 중심의 스토리지 이다. 스토리지 비용이 최대한 낮아야 하는 시나리오이다 * 처리량 최적화 HDD와 같이 부트 볼륨이 될 수는 없다. |
'Cloud > AWS 기초' 카테고리의 다른 글
AWS Container part.1(Container란 무엇일까?) (0) | 2021.10.04 |
---|---|
Amazon EC2 Part.3 (공유 파일 시스템) (0) | 2021.09.10 |
Amazon EC2 part.1 (0) | 2021.09.08 |
Amazon S3 part.2 (0) | 2021.09.06 |
Amazon S3 part.1 (0) | 2021.09.06 |