EKS Bottlerocket, 이미지 캐싱으로 컨테이너 시작 시간을 10초로!
by DD
1년 전
조회수 0
EKS 환경에서 GB 단위의 이미지 pull 시간으로 인한 비용 낭비 발생
Bottlerocket 환경에서 EBS 스냅샷을 활용하여 이미지 캐싱 구현
컨테이너 시작 시간 15분 → 10초로 단축, EC2 비용 70% 절감
Bottlerocket 아키텍처와 이미지 캐싱 원리
Bottlerocket은 읽기 전용 OS 볼륨과 컨테이너 데이터 볼륨을 분리하여 관리한다. 따라서 EBS 스냅샷을 통해 컨테이너 데이터 볼륨을 빠르게 복제할 수 있다. 구체적으로, admin 컨테이너를 활용하여 이미지 pull 후 스냅샷을 생성하고, Karpenter를 통해 새로운 노드에 스냅샷을 적용한다.
스냅샷 로딩 성능 트레이드오프
EBS 스냅샷 사용 시, 최초 접근 시 lazy loading으로 인해 부팅 시간이 길어질 수 있다. IOPS/Throughput을 높여 스냅샷 로딩 속도를 개선하거나, fast snapshot restore 기능을 사용할 수 있다. 반면, 비용 증가를 고려하여 IOPS/Throughput 조절을 통해 최적의 성능을 확보한다.
EBS 성능 최적화 가이드
애플리케이션의 I/O 패턴을 분석하여 EBS 볼륨 타입과 IOPS/Throughput 값을 설정해야 한다. 대용량 파일을 자주 읽는 경우, Throughput을 높여 파일 로딩 시간을 단축한다. 따라서, EC2 비용과 EBS 성능 비용 간의 균형을 고려하여 최적의 설정을 찾아야 한다.