스토리지는 쉽게 저장공간이라고 생각하면 쉽다 .
AWS에서 지원하는 스토리지는 크게 세가지가 있다.
- 블록 스토리지 : 인스턴스 스토어 볼륨, EBS볼륨
- 객체 스토리지 : S3 , VAULT
- 칼럼 스토리지 : REDSHIFT
이번 포스팅에서는 블록 스토리지에 대해 다뤄보겠다.
EC2인스턴스를 생성하면 같이 부착되어서 생성되는 볼륨이 인스턴스 스토어 볼륨이다 .
- 인스턴스 프로비전 비용 이외에는 따로 비용이 발생하지않는다. (비용효율적)
- 매우 높은 IOPS를 가지고있다 - 데이터에 빠르게 접근할 때 유용하다. (최대 365000IOPS)
- 비지속의 속성을 갖는다 = 인스턴스를 중지하거나 종료하면 볼륨안의 데이터는 손실된다.
📌 임시적이거나 손실되어도 상관없는 워크로드에 주로 사용된다. EBS에 비해 IOPS가 매우높기에 처리속도는 압도적이라 볼 수 있다.
💡 IOPS = Input/Output operatoins Per second
=IOPS가 높다는 것은 처리속도가 빠르다.
- EBS는 따로 프로비전해서 EC2에 부착해서 사용한다.(비용 청구 된다)
- EBS여러개를 인스턴스에 부착할수도 있다 <>하나의 EBS를 여러 인스턴스에는 부착 X
-지속성의 속성을 갖고있다. 인스턴스를 중지하거나 종료해도 데이터는 손실되지 않는다.- 범용 SSD스토리지(gp2), 프로비전 IOPS SSD스토리지(io1)
처리용량 최적화 HDD(st1), 콜드 HDD(sc1) 4가지가 있다.
- GB당 3IOPS의 비율을 가지고 있다.
- 순간가속(Burst)기능 사용 가능.
- 최대 3000IOPS의 성능을 낼 수 있다.
- 초당 가속 성능 = (크레딧 잔고/[3000-3*스토리지 용량]
- USE CASE : 높은 IOPS를 요구하지않으면서 트래픽이 변동적일 때 사용한다.
- GB당 50IOPS의 비율을 가지고 있다.
- 순간 가속기능 사용 X
- 사용자가 원하는 IOPS를 인스턴스 생성시 프로비전
- USE CASE: 높은 IOPS의 수준으로 일관되게 높은 성능을 유지하고 싶을때 사용한다.
📌최대 32000IOPS, NITRO기반 인스턴스라면 최대 64000IOPS까지 가능하다.
테라바이트당 40MBps의 처리용량을 가지고 있는 마그네틱 스토리지이다.
테라바이트당 1MBps의 처리용량을 가지고있다.
당연히 비용은 콜드HDD가 처리용량 최적화 HDD보다 싸다.
캐시된 데이터에 대한 읽기/쓰기 작업은 성능이 같지만
일반적인 데이터에 대한 읽기/쓰기 작업은 압도적으로 인스턴스 스토어가 빠르다.
💡 인스턴스스토어: 데이터가 손실되도 되며, 임시적이며 IOPS가 매우 높아야 할때 사용한다.
💡 EBS: 데이터가 보존되어야 하면 IOPS에 따라 gp2,io1중 선택한다.
- 인스턴스가 종료되었을때 같이 종료시키는 옵션이다.
- USE CASE: 많이 사용되지는 않지만 그렇다고 따로 필요하다고 명시 하지않은 것들에 대해서 DELETE ON TERMINATION을 활성화하면 활성화율이 많이없는 EBS에 대해서 비용을 절감할 수 있다.
📌 DELETE ON TERMINATION은 DEFAULT로 루트볼륨은 활성화 상태다. 나머지 볼륨은 비활성화상태.
📌 루트볼륨으로는 SSD만 가능. HDD는 루트볼륨 X
- EBS를 종료하지않고도 작업중에 설정을 변경할 수있다.
- EBS의 유형을 바꿀 수 있다.
- 볼륨의 크기를 확장 할 수 있다
📌축소는 할 수 없다.- USE CASE : 활성화율이 그렇게 높지않은 볼륨에 대해서 MODIFY VOLUME을 이용해 io1->gp2로 변경해 비용을 절감 할 수 있다.
이번 포스팅에서는 스토리지중 블록스토리지에 대해서 알아보았다.EBS와 인스턴스 스토어가 무엇인지,어떤 상황에 써야하는지 배웠다.다음 포스팅은 AWS의 핵심 서비스인 S3에 대해서 다루어 보겠다.