Amazon Web Services 한국 블로그

Bottlerocket – 컨테이너 호스팅을 위한 오픈 소스 운영체제(OS) 공개

최근 IT 업계에서는 컨테이너가 현대적 애플리케이션을 패키징하고 확장하기 위한 엄선된 방법으로 많이 활용되고 있습니다. AWS 고객 역시 Amazon ECSAmazon Elastic Kubernetes Service를 효율적으로 활용하고 있으며 모든 클라우드 기반 컨테이너의 80% 이상을 AWS에서 실행하고 있습니다.

컨테이너 기반 환경은 쉽게 확장할 수 있으며 고객은 수백 또는 수천 개의 인스턴스를 포함하는 호스팅 환경을 실행할 수 있습니다. 이러한 대규모 환경에서는 호스트 운영 체제에서 몇 가지 문제가 발생합니다. 예를 들어, 다음과 같습니다.

보안 – 종속성을 충족하기 위해 단순하게 추가 패키지를 설치하는 것으로 인해 공격에 대한 취약성이 증가할 수 있습니다.

업데이트 – 기존의 패키지 기반 업데이트 시스템 및 메커니즘은 복잡하고 오류가 발생하기 쉬우며 종속성에 문제가 있을 수 있습니다.

오버헤드 – 불필요한 추가 패키지가 디스크 공간 및 컴퓨팅 주기를 소모하며 부팅 시간도 늘립니다.

드리프트 – 일관되지 않은 패키지 및 구성으로 인해 시간이 지남에 따라 클러스터 무결성이 손상될 수 있습니다.

Bottlerocket 소개
오늘 컨테이너 호스트용으로 특별하게 설계 및 최적화된 새로운 Linux 기반 오픈 소스 운영 체제인 Bottlerocket을 소개하려고 합니다.

Bottlerocket에는 지난 몇 년 동안 우리가 배운 많은 것들이 반영되었습니다. Bottlerocket은 운영 체제를 뛰어난 컨테이너 호스트로 만드는 데 필요한 패키지만 포함하고 있으며 기존 컨테이너 오케스트레이터와 통합됩니다. Bottlerocket은 Docker 이미지 및 Open Container Initiative(OCI) 이미지 형식을 따르는 이미지를 지원합니다.

Bottlerocket은 패키지 업데이트 시스템 대신 필요한 경우 신속하고 완전한 롤백이 가능한 단순한 이미지 기반 모델을 사용합니다. 따라서 충돌과 파손의 기회가 사라지며 EKS와 같은 오케스트레이터를 사용한 신뢰도를 통해 플릿 전체 업데이트를 더 쉽게 적용할 수 있습니다.

최소한의 패키지 세트 외에도, Bottlerocket은 주로 읽기 전용이고 부팅 시 dm-verity를 통해 무결성이 검사되는 파일 시스템을 사용합니다. SSH 액세스는 권장되지 않으며 별도의 admin 컨테이너의 일부로만 사용할 수 있습니다. 이 컨테이너는 필요에 따라 활성화하고 문제 해결 목적으로 사용할 수 있습니다.

시험 사용
오늘 Bottlerocket 공개 평가판을 출시할 예정입니다. QUICKSTART의 단계에 따라 EKS 클러스터를 설정하고 GitHub 리포지토리를 살펴볼 수 있습니다. 지금 바로 사용해보고, 버그를 보고하고, 풀 요청을 전송하고, 의견을 알려주십시오.

Jeff