어드민 전용 메뉴

어드민 계정으로 로그인 하면 왼쪽 사이드바에 Administration 메뉴가 추가로 보입니다. Backend.AI에 등록된 사용자 정보는 Users 탭에서 볼 수 있습니다. Active 탭에서는 활성화된 사용자를, Inactive 탭에서는 비활성화된 사용자를 조회할 수 있습니다. 어드민은 전체 사용자 정보를 조회할 수 있습니다. 사용자의 생성 및 비활성화는 어드민만 할 수 있습니다.

사용자 ID(이메일)과 username은 컬럼 헤더의 검색창에 텍스트를 입력하여 조회 결과를 필터링할 수도 있습니다.

User management page

새로운 사용자 생성 및 정보 갱신

사용자는 CREATE USER 버튼을 클릭하여 생성할 수 있습니다. 이 때 비밀번호는 8자 이상, 알파벳/특수문자/숫자를 1개 이상 포함해야 합니다. E-Mail과 Username 필드에는 최대 64자까지 입력할 수 있습니다.

주석

이미 같은 이메일이나 사용자 이름을 가지는 사용자가 존재한다면 사용자를 생성할 수 없습니다. 다른 이메일과 사용자 이름을 사용해 보십시오.

../_images/create_user_dialog.png

비밀번호가 정책과 일치하지 않을 경우 입력 필드 하단에 유효성 검사 실패 메시지가 표시됩니다. 입력한 비밀번호가 잘못된 이유를 메시지를 통해 쉽게 확인할 수 있습니다.

  • 입력한 값이 없는 경우
../_images/create_user_dialog_wrong.png
  • 비밀번호 확인 란에 입력한 값이 없는 경우
../_images/create_user_dialog_wrong2.png
  • 비밀번호와 비밀번호 확인란의 값이 일치하지 않는 경우
../_images/create_user_dialog_wrong3.png

사용자 생성이 잘 되었는지 확인합니다.

User management page

Controls 열에서 초록색 정보 버튼을 클릭하면 보다 자세한 사용자 정보를 확인할 수 있습니다. 사용자가 소속된 Domain과 Group 정보 또한 확인할 수 있습니다.

Detailed information of a user

Control 열에서 하늘색 톱니바퀴 버튼을 클릭하면 사용자 이름, 비밀번호, 활성화 여부 등과 같은 사용자 정보를 수정할 수 있습니다. 단, 사용자의 ID는 변경이 불가합니다.

비밀번호를 변경할 수도 있는데, 역시 사용자 생성 때와 동일한 규칙을 따릅니다.Username과 Fullname은 최대 64자까지 입력할 수 있습니다.

User update dialog

이 다이얼로그 하단의 두 항목은 각각 다음과 같은 기능을 합니다.

  • Active user?: 사용자의 활성 상태를 나타냅니다. 비활성 사용자의 경우 로그인을 할 수 없습니다. 이 옵션을 조정하여 사용자를 활성 또는 비활성 상태로 변경할 수 있습니다. 비활성 사용자의 경우 Inactive 탭에 별도로 표시되는 점에 주의하십시오.
  • Require password change?: 관리자가 일괄적으로 사용자를 생성하면서 비밀번호를 임의 지정했을 경우, 이 필드를 On으로 지정하여 구분할 수 있습니다. 비밀번호 변경이 필요하다는 일종의 기록 플래그로, 실 사용에는 아무런 영향을 미치지 않습니다.

사용자 계정 비활성화

사용자 계정을 삭제하는 기능은 사용량 통계 처리 및 메트릭 보존, 실수로 인한 계정 유실을 막기 위하여 만약을 위해 관리자라 할지라도 막혀 있습니다. 대신 사용자 계정을 비활성화 해서 사용자가 해당 계정을 통해 로그인 하는 것을 막을 수 있습니다. Controls 열의 휴지통 아이콘을 클릭합니다. 확인을 위한 다이얼로그가 뜨는데, OKAY 버튼을 클릭하면 사용자를 비활성화 할 수 있습니다.

Deactivating user account

사용자를 다시 활성화 하려면 Users - Inactive 탭에 방문하여 사용자 편집 버튼(톱니 아이콘)을 클릭한 후 “Active user?” 필드를 켜 주십시오.

주석

사용자 계정을 비활성화 하면 그 사용자의 모든 자격증명도 따라서 비활성 상태로 바뀌게 됩니다. 하지만, 사용자를 다시 활성화 해도 비활성 상태의 자격증명을 다시 활성화 하지는 않습니다. 사용자는 여러 개의 자격증명을 가질 수 있어 어떤 키페어를 활성화 할지 일관된 정책을 정하기 어렵기 때문입니다.

그룹 Storage 폴더를 다른 사용자와 공유하기

Backend.AI는 개인용 Storage 폴더 외에 그룹 전용 Storage 폴더를 제공합니다. 그룹 Storage 폴더는 특정 사용자가 아닌 특정 그룹에 속하는 폴더이며, 해당 그룹에 속한 모든 사용자가 접근할 수 있습니다.

주석

그룹 폴더는 오직 관리자만 생성할 수 있습니다. 일반 사용자는 관리자가 생성한 그룹 폴더 내용을 공유해서 접근할 수 있을 뿐입니다. 또한, 시스템 설정에 따라 그룹 폴더 생성이 허용되지 않는 경우도 있을 수 있습니다.

먼저 관리자 계정으로 로그인 한 뒤 그룹 폴더를 만들어보겠습니다. Data & Storage 페이지로 이동 후 NEW FOLDER를 클릭하여 폴더 생성 다이얼로그를 엽니다. 폴더 이름을 입력하고 Type을 Group으로 설정한 후 목표 Group을 선택합니다. 이 때, 목표 그룹은 사용자B가 속한 그룹으로 설정합니다. Permission은 Read-Only로 설정하였습니다.

../_images/group_folder_creation.png

폴더가 생성된 것을 확인한 후 사용자B 계정으로 로그인 하여 Data & Storage 페이지에 방금 생성한 그룹 폴더가 별도의 초대 절차 없이 조회되는 것을 확인합니다. Permission 열에는 역시 R(읽기전용)이 표시된 것을 확인할 수 있습니다.

../_images/group_folder_listed_in_B.png

이렇게 Backend.AI는 개인 폴더의 초대 및 그룹 폴더를 제공하여 유연한 방식으로 데이터 및 모델을 공유할 수 있도록 돕고 있습니다.

사용자(키페어) 별 연산 자원 할당 및 제한

주석

목표

  • 관리자 계정 로그인 후 사용자(키페어) 별 허용 자원 설정 기능 활용
  • 연산 세션 생성 시 허용된 자원만 사용할 수 있음을 확인

Backend.AI에는 사용자 및 그룹 별로 총 사용 가능한 자원의 제한을 설정할 수 있습니다. 그룹 별 자원 제한은 엔터프라이즈 전용 관리자 GUI Hub를 통해서만 가능하나, 사용자 별(정확하게는 사용자의 키페어 별) 자원 제한은 사용자 GUI Console에서도 설정할 수 있습니다.

자원 제한 상태를 확인하기 위해 관리자 계정으로 사용자 GUI Console에 로그인 합니다. 관리자로 로그인 하면 좌측 메뉴 아래쪽에 관리자 전용 메뉴가 더 보입니다. 이 중 Users를 클릭하여 사용자 관리 페이지로 이동한 뒤 Resource Policies 탭을 클릭합니다. 현재 설정되어 있는 자원 정책의 리스트를 확인할 수 있습니다. 하단 그림에는 총세 개의 정책이 있습니다 (gardener, STUDENT, default). default 정책의 Resources 열을 보면 Cores, Ram, fGPU 등의 자원이 무한대(∞)로 표기된 것을 확인할 수 있습니다. 무한대 표시는 별도의 자원 제약이 이루어지지 않은 상태를 뜻합니다.

../_images/resource_policy_page.png

현재 이 가이드에서 사용 중인 사용자 계정은 default 자원 정책의 제한을 받고 있습니다. 좌측의 Credentials 탭에서 확인할 수 있습니다. Resource Policy를 보면 역시 모든 자원을 (하드웨어가 허락하는 한도 내에서) 무한대로 활용할 수 있음을 확인할 수 있습니다.

../_images/credentials.png

다시 사용자 계정으로 로그인 합니다. Sessions 페이지로 이동해서 상단의 리소스 인디케이터 를 확인합니다. CPU, RAM, FGPU의 최대 할당량을 확인 합니다. 이는 현재 테스트 노드가 보유하고 있는 총 자원량과 일치합니다.

../_images/resource_indicator_no_limit.png

START를 클릭하여 연산 세션 생성 다이얼로그를 열고 CPU, RAM, GPU 슬라이더를 우측 끝까지 당겨보면 리소스 인디케이터에 보이던 총량 이상으로는 할당할 수 없음을 알 수 있습니다.

../_images/session_launch_dialog_no_limit.png

이제 다시 관리자 계정으로 접속한 후 Resource Policies 탭으로 이동합니다. default 정책의 Control 열에 있는 톱니바퀴 버튼을 클릭하여 정책 편집 화면으로 들어옵니다. 자원 정책 편집 화면에서 자원 정책 명을 제외한 모든 설정은 수정이 가능합니다. 이는 자원 정책 명이 자원 정책 리스트로 부터 각 자원 정책을 구분하는 고유 키이기 때문입니다. 수치로 입력할 수 있는 모든 부분들은 세션 생성/삭제 또는 vfolder의 갯수에 사용되는 최대 값을 나타냅니다. CPU, RAM, fGPU 하단의 Unlimited 체크박스를 해제하고 원하는 값으로 자원 제약을 설정해봅니다. 이 때,제약하는 자원의 양이 하드웨어의 총 자원량 보다 작게 설정합니다. 여기서는 각각 2,4,1 로 설정을 했습니다. UPDATE 버튼을 클릭하여 자원 정책을 수정합니다.

../_images/update_resource_policy.png

자원 정책 창의 각 옵션에 대한 자세한 내용은 아래 설명을 참조하시기 바랍니다.

  • 자원 정책
    • CPU : CPU 코어 최대 할당 가능량을 설정합니다. (최대 입력 값: 512)
    • RAM : GB 단위로 최대 할당 가능한 메모리 양을 설정합니다. 최대 할당 가능한 GPU 메모리 양의 두 배 이상으로 설정하는 것을 권장합니다. (최대 입력 값: 1024)
    • GPU : 할당 가능한 최대 물리 GPU 개수를 설정합니다. 서버에서 GPU 분할 가상화 기능이 켜져 있는 경우에는 (대부분의 엔터프라이즈 사이트에는 켜져 있습니다) 아무런 효과가 없습니다. (최대 입력 값: 64)
    • fGPU : Backend.AI의 Fractional GPU (fGPU) 기능이 켜져 있으면, 물리 GPU를 분할하여 여러 사용자 세션에 나눠어 배치하고 효율적으로 사용할 수 있습니다. 할당 가능한 최대 분할 GPU 양은 여기서 설정합니다. 만약 서버에 GPU 분할 가상화 기능이 꺼져 있다면 이 항목은 효과가 없습니다. (최대 입력 값: 256)
  • 세션
    • Container Per Session : 한 세션이 가질 수 있는 최대 컨테이너의 수. 현재는 서버에서 한 세션 당 하나의 컨테이너만 강제하고 있으므로 값을 설정하더라도 효과가 없습니다. (최대 입력 값: 100)
    • Idle timeout (sec.): 사용자가 세션에 영향을 주지 않고 비활성 상태일 수 있는 최대 시간입니다. 유휴 제한 시간 동안 연산 세션에 아무런 활동이 감지되지 않으면, 해당 세션은 자동으로 삭제 됩니다. (최대 입력 값: 15552000(초) (약 180일))
    • Concurrent Jobs : 키페어를 통해 동시에 생성할 수 있는 최대 연산 세션의 개수입니다. 예를 들어, 이 값이 3으로 지정되어 있을 경우, 이 정책에 영향을 받는 사용자는 동시에 3개를 넘는 연산 세션을 생성할 수 없습니다. (최대 입력 값: 100)
  • 폴더
    • Allowed hosts : Backend.AI는 여러 NFS 마운트포인트를 인식할 수 있습니다. 이 항목을 통해 사용자가 접근할 수 있는 마운트 위치를 지정할 수 있습니다. 예를 들어, “data-1” 이라는 NFS가 Backend.AI에서 인식되어 있는 상태일지라도, Allowed hosts 정책으로 허용되지 않은 경우 사용자는 해당 NFS에 접근할 수 없습니다.
    • Capacity(GB) : 하나의 저장 폴더가 가질 수 있는 최대 파일 크기입니다. 이 항목은 FlashBlade 등과 같은 특별한 저장소나 파일시스템에서만 작동합니다.(최대 입력 값: 1024)
    • Max. #: 생성 또는 공유 초대 받을 수 있는 저장 폴더의 최대 개수입니다. (최대 입력 값: 50)

자원 정책 리스트에서 default 정책의 Resources 값이 업데이트 된 것을 확인합니다.

../_images/update_check.png

다시 한 번 사용자 계정으로 로그인 합니다. Session 페이지로 이동합니다. 상단의 리소스 인디케이터에 좀전에 설정한 자원 제약 값이 반영된 것을 볼 수 있습니다.

../_images/resource_indicator_limit.png

START를 클릭하여 연산 세션 생성 다이얼로그를 열고 CPU, RAM, GPU 슬라이더를 우측 끝까지 당겨보면 리소스 제약을 건 후의 값 이상으로 움직일 수 없음을 알 수 있습니다.

../_images/session_launch_dialog_limit.png

이렇게 사용자의 키페어 기반으로 개발 사용자가 연산 세션 생성시 할당할 수 있는 최대 자원량을 조절할 수 있음을 확인 할 수 있었습니다.

Control 열의 휴지통 아이콘을 눌러서 자원 정책을 삭제할 수도 있습니다. 아이콘을 클릭하면 삭제 확인 다이얼로그가 나타나게 됩니다. OKAY 버튼을 눌러서 삭제할 수 있습니다.

../_images/resource_policy_delete_dialog.png

주석

비활성 사용자를 포함한 어떤 유저가 삭제할 자원 정책을 따르고 있다면, 삭제가 되지 않을 수 있습니다. 자원 정책을 삭제하기 위해서는 반드시 해당 자원 정책을 선택한 사용자가 남아 있지 않도록 하십시오.

주석

USERS, CREDENTIALS, RESOURCE POLICIES 탭의 우측 끝부분에 모양의 아이콘이 있습니다. 이 버튼을 클릭하면 export CSV 메뉴가 뜨고, 다시 이 메뉴를 클릭하면 각 탭 자원 별 CSV export 다이얼로그가 뜹니다. 필요한 경우 적당한 파일 이름을 쓰고 EXPORT CSV FILE 버튼을 클릭하면 사용자, 키페어, 자원 정책의 리스트를 CSV 형태로 다운로드 할 수 있습니다.

../_images/export_csv_user.png

세션 리스트 다운로드

세션 페이지에는 관리자를 위한 추가 기능이 있습니다. OTHERS 탭 우측을 보면 으로 표시된 메뉴가 있습니다. 이 메뉴를 클릭하면 export CSV 라는 하위 메뉴가 나옵니다.

../_images/export_csv_menu.png

이 메뉴를 클릭하면 현재까지 생성된 연산 세션의 정보를 CSV 형태로 다운로드 받을 수 있습니다. 다음과 같은 다이얼로그가 열린 후, (필요한 경우) 적당한 파일 이름을 입력하고 EXPORT 버튼을 클릭하십시오. 파일 이름은 최대 255자까지만 입력 가능한 점에 유의하십시오. 곧 CSV 파일 하나가 다운로드 될 것입니다.

../_images/export_session_dialog.png

서버 관리

Maintenance 페이지로 이동하면 서버를 관리할 수 있는 몇 가지 버튼을 볼 수 있습니다.

  • RECALCULATE USAGE: 간혹 네트워크 접속이나 도커 데몬의 컨테이너 관리 문제로 컨테이너가 실제로 사용하고 있는 자원과 Backend.AI에서 출력되는 자원 점유량이 일치하지 않는 경우가 있을 수 있습니다. 그 때 RECALCULATE USAGE 버튼을 클릭하면 자원 점유량을 수동 보정할 수 있습니다.
Maintenance page

Information

Information 페이지는 Backend.AI 서비스, 라이선스 정보 등과 같은 몇 가지 시스템 정보를 출력합니다.