Amazon EBS에서 비용 최적화를 위해 확인해야 할 사항을 정리해 봤습니다.
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon EBS에서 비용 최적화를 위해 확인해야 할 사항을 정리해 봤습니다.
불필요한 EBS 볼륨 제거
EC2 인스턴스에 새로운 EBS 볼륨을 연결하고서, EC2 인스턴스를 삭제하면 EBS 볼륨이 남아있는 문제가 발생합니다.
EC2 인스턴스에서 스토리지를 확인해 보면 [종료 시 삭제]가 [아니요]라고 되어있는 것을 확인할 수 있습니다. 추가 볼륨 연결 혹은 루트 볼륨을 교체할 때 [종료 시 삭제]를 별도로 설정할 수 없기 때문에 주의가 필요합니다.
볼륨을 분리한 후에도 스토리지 용량이 AWS 프리 티어 한도를 초과하는 한 볼륨 스토리지에 대한 요금이 계속 부과됩니다.
EBS 볼륨은 EC2 인스턴스에서 분리된 상태(Detached)더라도 삭제하지 않으면 계속해서 스토리지 요금이 청구됩니다.
따라서, 더 이상 사용하지 않는 볼륨은 정기적으로 확인하여 삭제하거나, 스냅샷 후 정리하는 것이 비용 최적화에 도움이 됩니다.
[종료 시 삭제]는 EBS 볼륨을 연결할 때 설정할 수 없으므로 AWS CLI를 사용해서 지정합시다.
설정하는 방법은 아래 블로그를 참고해 주세요.
적절한 스토리지 타입 선택
EBS 비용을 최적화하는 또 다른 방법은 적절한 스토리지 타입을 선택하는 것입니다. EBS 볼륨에는 어떠한 스토리지 타입이 있는지 아래 표를 확인해 봅시다.
볼륨 유형 | 특징 | 비고 |
---|---|---|
범용 SSD(gp2, gp3) | 기본 EBS 볼륨 유형이며, 비용과 성능면에서 밸런스가 좋고 폭넓은 용도로 사용 가능 | SDD 볼륨 |
프로비저닝된 IOPS(io1, io2) | 미션 크리티컬하고 높은 I/O 성능이 요구되는 데이터베이스, 애플리케이션에 적합 | SDD 볼륨 |
처리량에 최적화된 HDD(st1) | 고속 HDD를 기반으로 사용하며 안정적인 처리량이 필요한 시스템에 적합한 볼륨 유형이며, 로그 관리, 스트리밍, 빅 데이터에 최적화 | HDD 볼륨 |
Cold HDD(sc1) | 저비용 볼륨 유형으로 액세스 빈도가 적은 대용량 데이터를 저장하는 용도에 적합 | HDD 볼륨 |
일반적으로 널리 사용되는 EBS 볼륨 유형은 범용 SSD(gp2 및 gp3)입니다. 만약 어떤 볼륨 유형을 선택해야 할지 망설여진다면 범용 SSD(gp2 및 gp3) 선택이 권장됩니다. 또한, gp2와 gp3를 비교했을 때 gp3는 GB당 최대 20%의 비용 절감을 제공하며, 저렴한 비용으로 더 적은 볼륨을 프로비저닝할 수 있어 더 높은 성능을 유지하는 데 도움이 됩니다. 따라서 볼륨 유형은 SSD gp3의 사용을 권장하고 있습니다.
gp2에서 gp3로 마이그레이션 하는 방법은 아래 블로그를 참고해 주세요.
생성한 스냅샷의 라이프사이클 관리
EBS 볼륨뿐만 아니라, 해당 볼륨을 기반으로 생성한 스냅샷 역시 저장 용량에 따라 요금이 청구됩니다.
백업 목적이라 하더라도 스냅샷을 무분별하게 생성할 경우 비용이 증가할 수 있으므로, 불필요하거나 오래된 스냅샷은 주기적으로 확인하고 삭제하여 효율적으로 관리하는 것이 좋습니다.
2025년 4월 서울 리전 기준으로 스냅샷 요금은 다음과 같습니다.
EBS 스냅샷 유형 | 특징 | 요금 | 비고 |
---|---|---|---|
스탠다드 | 증분 백업으로 이전 스냅샷과 비교하여 변경된 부분만 저장(백업) | GB당 월 USD 0.05 | 기본이 되는 백업 방식이며 복원에 필요한 요금은 무료 |
아카이브 | 스냅샷 생성 당시 볼륨의 전체 내용을 저장(백업) | GB당 월 USD 0.0125 | 검색된 데이터 GB당 USD 0.03 |
그렇다면 스냅샷의 라이프사이클은 어떻게 관리할까요? 기본적으로 AWS Backup 혹은 당사의 opswitch를 이용해 주기적으로 스냅샷을 생성하고 삭제하여 스냅샷을 관리할 수 있습니다.
이 외에도 Amazon Data Lifecycle Manager(DLM)을 이용하여 스냅샷 혹은 AMI를 생성하고 삭제하는 등 라이프사이클을 관리할 수 있습니다.
EBS 볼륨 크기 최적화
EBS 볼륨은 사용한 용량이 아닌, 프로비저닝한 용량(지정한 볼륨 크기)에 따라 요금이 청구됩니다.
예를 들어, 500GB로 볼륨을 생성했다면 실제 사용량이 50GB이더라도 500GB 전체에 대한 비용이 발생합니다.
현재 사용중인 EBS 볼륨의 용량과 남아있는 용량은 아래 명령어를 통해 확인할 수 있습니다.
sh-5.2$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 8.0G 1.7G 6.4G 21% /
여기서 중요한 것은 스냅샷으로 EBS 볼륨을 다시 생성하려고 해도 기존 볼륨 사이즈보다 작게 설정할 수는 없기 때문에 EBS 초기 설계 단계에서 주의할 필요가 있습니다.
AWS Trusted Advisor 활용
마지막으로 AWS Trusted Advisor를 활용하여 불필요한 혹은 사용률이 낮은 EBS 볼륨을 감지할 수 있습니다.
사용률이 낮은 EBS를 감지합니다.
상세 정보를 확인해 보면, 권장 조치와 함께 사용률이 낮은 EBS 볼륨 목록을 제공해 줍니다.
해당 리스트에는 각 볼륨의 크기와 월별 예상 스토리지 비용도 함께 표시되어, EBS 볼륨을 보다 효율적으로 관리하는 데 도움이 됩니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 jaewookkim533@yahoo.com로 보내주시면 감사하겠습니다.