본문으로 건너뛰기

22.09: 2022년 9월 업데이트

· 약 9분
Lablup

안녕하세요! Backend.AI 22.09 / Enterprise R2 의 2022년 9월 업데이트 개선 사항에 대해 알려드립니다!

6개월 단위의 통합 업데이트 릴리즈이며, 주요 버그 수정 및 필수 개선 사항은 Backend.AI 22.03 / Enterprise R2 에도 반영됩니다. Backend.AI 21.09 및 그 이전 버전은 현재 사용 중인 고객들을 위한 긴급 보안 패치가 아닌 한 더 이상의 업데이트가 제공되지 않습니다.

실행중인 컨테이너 내용을 저장해주는 커밋 기능 지원

Backend.AI 의 세션(커널)은 가상 머신(VM)과 달리 컨테이너로 생성되어 컨테이너 내부의 모든 내용은 컨테이너와 수명주기를 같이 합니다. 다시 말해, 컨테이너가 종료되면 내부의 모든 내용 역시 사라지게 되는 것이죠 (단, NFS로 마운트 된 가상폴더에 저장한 내용은 보존됨). 이러한 한계점을 해결하기 위해 docker에서 지원하는 컨테이너 작업 내역을 파일로 저장하는 기능인 컨테이너 커밋(commit) 기능을 Backend.AI에서도 지원하게 되었습니다. 이 때 저장되는 커밋 내용은 tar.gz 확장자를 가지며, 컨테이너가 실행되고 있던 agent 노드에 저장됩니다.

SAML(Security Assertion Markup Language) 2.0 추가 지원

Backend.AI 는 기본적으로 사용자 계정을 별도의 DB 테이블로 두어 관리하고 있습니다. 따라서 SSO 플러그인을 적용하지 않는 한 회원가입 역시 온-프레미스(On-premise) 환경이나 클라우드 환경에 상관없이 따로 진행 되어야 했었는데요. 이번 업데이트에서 SAML 2.0을 추가 지원하게 되어 사용자가 가입해 있는 특정 사이트의 정보를 십분 활용해 최소한의 정보 입력으로 Backend.AI 에 접속해 AI 모델을 만들고, 학습할 수 있게 되었습니다.

세션(커널)의 상태 내역 기록 및 표시

21.09 버전 이후로 Backend.AI에서는 세션 상태에 대해 자세한 정보를 제공하고 있습니다. 단, 세션의 상태 변화 내역에 대해서는 아직 미지원 상태였는데요. 이번 업데이트를 통해 세션이 준비중 상태에서 실행, 그리고 실행중에서 종료에 이르기까지의 타임라인을 한 눈에 보실 수 있게 되었습니다. 이 기능은 현재 관리자 패널에서만 지원하므로, Backend.AI 22.09 / Enterprise R2 에서만 확인하실 수 있습니다.

NAT가 적용된 환경에서도 wsproxy v2를 사용할 수 있도록 지원

Backend.AI 는 manager, agent, storage-proxy, webserver 외에도 wsproxy(v1, v2)와 proxy-coordinator 등과 같은 다양한 컴포넌트가 서로 상호작용을 하는 구조입니다. 이 때, 네트워크 환경에 따라 다양한 상황이 발생할 수 있습니다. NAT 을 통해 Backend.AI 에 접근하게 될 경우 manager와 wsproxy IP 주소가 달라 wsproxy v2를 사용할 수 없는 문제가 있었는데요, 이번 업데이트를 통해 주소가 다를 때에도 wsproxy v2를 사용할 수 있게 되어 좀더 유연한 네트워크 환경에 대응할 수 있게 되었습니다.

사용자 IP 기반의 접근 차단 기능

특정 사용자에 대해 지정한 IP 대역에서만 접근이 가능토록 제한하는 기능이 추가됩니다. 단일 IP 및 특정 네트워크 대역으로부터의 접근을 모두 허용할 수 있으며, 여러 개의 대역을 추가하는 것 또한 가능합니다.

CLI에서 가상폴더 파일 이어받기 지원

Backend.AI 는 GUI인 WebUI 뿐만 아니라 CLI(Command Line Interface)도 지원하고 있습니다. 이 때, CLI 로 파일을 내려받을 때에 네트워크 장애 등의 이유로 파일을 받다가 실패할 때에는 처음부터 받아야하는 불편함이 있었죠. 이번 업데이트에서는 파일 다운로드 중 서버와의 연결이 끊기는 경우에도 직전 시점부터 파일을 이어받을 수 있도록 최대 재시도 횟수(--max-retries)를 옵션으로 추가할 수 있게 되었습니다. 이제 불안정한 네트워크 상황에서도 걱정 없이 파일을 다운로드 받으실 수 있습니다.

psycopg2 의존성 제거

다음 내용은 Backend.AI 를 직접 받아서 사용하시는 분들을 위한 중요 업데이트 내역입니다. DB 마이그레이션 툴인 alembic 작동을 위해 사용되던 DB 어댑터인 psycopg2가 이제 더 이상 사용되지 않습니다. 기존에 사용중이던 alembic.ini의 경우 DB 연결 URI의 postgresql:// 부분이 postgresql+asyncpg:// 로 수정되어야 합니다.

그 외 사용자 인터페이스 및 사용성 개선 내용

  • 일반 사용자도 세션을 강제 종료할 수 있도록 허용
  • (WebUI 관리자용) agent의 자원 정보를 더 자세히 확인할 수 있도록 인터페이스 개선
  • (관리자 패널 전용) 앱 도메인 정보를 앱 프록시 화면에서 볼 수 있도록 사용자 인터페이스 제공
  • 파일브라우저를 읽기 전용 스토리지 폴더에서도 사용할 수 있도록 개선
  • 에이전트 정보를 사용자들도 볼 수 있게 하는 관리자용 옵션 추가
  • wsproxy 시작시 타겟 앱의 프로토콜(HTTP 또는 TCP)도 함께 전송할 수 있도록 지원
  • agent에서 컨테이너 생성 시 기본 Docker 네트워크 외의 다른 네트워크를 사용 가능하도록 지원
  • agent에서 단일 컨테이너를 생성할 경우에도 InfiniBand 장치가 있는 경우 항상 마운트 하도록 변경(GPU Direct Storage 지원)
  • 개발 환경에서 Pants CLI 실행 속도 개선
  • client에서 .env를 자동으로 읽어 환경 변수에 반영하는 기능 추가

개발 및 연구 프레임워크 지원

  • Conda 지원 업데이트
    • Conda 22.06 이미지를 제공합니다.
  • NGC 업데이트
    • NGC PyTorch 22.05를 지원합니다.
    • NGC Triton 22.07을 지원합니다.
  • Ubuntu 22.04 베이스 이미지 지원
    • Ubuntu 22.04 기반의 환경 이미지들을 제공합니다. python 3.10-ubuntu22.04 멀티아키텍처 이미지부터 제공합니다.