SNUCSE Cloud

SNUCSE Cloud는 준비 중입니다. 신규 자원 편입과 리소스 쿼터 조정 작업을 진행하고 있어, 지금은 로그인해서 둘러볼 수만 있고 인스턴스를 만들 수는 없습니다. 이 안내도 시험 운영 기준으로 쓴 것이라, 제공할 템플릿과 인스턴스 종류, 쿼터 신청 방법은 정식 오픈 때 정해서 SNUCSE ID와 이 문서에서 공지합니다.

안녕하세요, 서울대학교 컴퓨터공학부 서버 관리자 모임 바쿠스입니다.

SNUCSE Cloud는 컴퓨터공학부 주전공 회원과 허가된 외부 회원에게 가상 머신(인스턴스)을 제공하는 서비스입니다. 필요하면 GPU가 달린 인스턴스도 만들 수 있습니다. Apache CloudStack으로 운영합니다.

무엇을어디서
인스턴스 만들기·관리웹 UI https://cloud.snucse.org
인스턴스에 SSH로 접속ssh -p 2222 <유저명>:<인스턴스 이름>@cloud.snucse.org
인스턴스 화면 보기웹 UI의 콘솔

모든 것이 SNUCSE ID와 연동되어 있습니다. 계정을 따로 만들지 않고 SNUCSE ID로 로그인하면 되고, 인스턴스에 SSH로 접속할 때도 다른 클라우드처럼 SSH 키를 만들어 등록할 필요 없이 브라우저에서 SNUCSE ID로 로그인하면 됩니다. 자세한 내용은 이용 대상과 로그인인스턴스에 접속하기를 보세요.

문의는 contact@bacchus.snucse.org로 보내 주세요.

이용 대상과 로그인

이용 대상

SNUCSE ID 첫 화면: SNUCSE Cloud 안내와 전공 인증

  • 컴퓨터공학부 주전공: SNUCSE ID에서 주전공 인증을 마치면 "컴퓨터공학부 주전공" 그룹에 들어가고, 그 순간부터 SNUCSE Cloud에 로그인할 수 있습니다. 주전공 인증은 SNU Google Workspace(snu.ac.kr) 계정으로 학과를 확인하는 절차이며, SNUCSE ID 첫 화면에 있습니다.
  • 허가된 외부 회원: 주전공이 아니지만 사용이 필요하면 contact@bacchus.snucse.org로 문의해 주세요. 외부 회원을 위한 게스트 그룹을 SNUCSE ID에 신설할 예정이며, 그 그룹에 추가되면 같은 방법으로 로그인할 수 있습니다.

로그인

  1. https://cloud.snucse.org에 접속합니다.
  2. 아이디와 비밀번호 칸은 쓰지 않습니다. External 탭을 열고 Sign in with Keycloak을 누릅니다(Domain 칸은 비워 둡니다). 이 버튼이 SNUCSE ID로 연결됩니다.
  3. SNUCSE ID에 로그인하고, 처음 한 번 뜨는 권한 요청을 승인합니다.

SNUCSE Cloud 로그인 화면: External 탭의 Sign in with Keycloak

첫 로그인에서 계정이 자동으로 만들어집니다. 계정 이름은 SNUCSE ID 유저명과 같습니다.

"아직 사용할 수 없는 계정입니다"라는 화면이 나오면 아직 이용 대상 그룹에 없는 것입니다. 주전공 인증을 마친 뒤 다시 로그인해 주세요.

그룹에서 빠지면

이용 대상 그룹에서 빠지면(예: 졸업) 다음 로그인 때 계정이 비활성화됩니다. 인스턴스는 정지된 채 보존되고, 그룹에 다시 들어오면 계정도 다시 활성화됩니다. 계정과 인스턴스가 정리되는 기준은 정식 오픈 때 안내합니다.

리소스 쿼터

인스턴스 수, CPU 수, 메모리, 볼륨 수와 용량, 스냅샷, GPU 등 만들 수 있는 자원의 양은 계정마다 리소스 쿼터로 정해져 있습니다. 쿼터를 넘기는 요청은 거부됩니다.

  • 현재 사용량과 한도는 로그인 후 첫 화면(대시보드)의 자원 카드에서 볼 수 있습니다.
  • 새로 만들어진 계정의 쿼터는 모두 0입니다. 정식 오픈 후 쿼터 신청 절차를 안내할 예정이며, 그 전에는 contact@bacchus.snucse.org로 문의해 주세요.
  • 쓰지 않는 인스턴스와 볼륨은 삭제해 주세요. 정지된 인스턴스도 볼륨과 쿼터를 그대로 차지합니다.

인스턴스 만들기

왼쪽 메뉴의 Compute → Instances에서 Add Instance를 누릅니다.

인스턴스 목록과 Add Instance 버튼

순서대로 템플릿(운영체제), 컴퓨트 오퍼링(CPU·메모리·GPU), 데이터 디스크(선택), 이름을 고르면 됩니다. 네트워크는 하나뿐이라 자동으로 선택됩니다.

인스턴스 만들기: 템플릿, 컴퓨트 오퍼링, 데이터 디스크

제공할 템플릿과 컴퓨트 오퍼링은 정식 오픈 때 정해서 공지합니다. 지금 화면에 보이는 것은 시험용입니다.

  • 이름은 영문 소문자·숫자·하이픈만 쓰세요. SSH 접속 때 이 이름을 씁니다.
  • 만들어진 인스턴스는 목록에서 정지·시작·재시작·삭제할 수 있습니다. 컴퓨트 오퍼링 변경은 정지 상태에서만 됩니다.
  • 삭제한 인스턴스와 볼륨은 복구되지 않으니 필요한 데이터는 미리 옮겨 두세요.
  • 정지된 인스턴스도 볼륨과 쿼터를 그대로 차지합니다. 쓰지 않으면 삭제해 주세요.

인스턴스에 접속하기

인스턴스는 외부에서 직접 닿을 수 없는 내부 주소를 받습니다. SSH는 접속 게이트웨이(cloud.snucse.org의 2222번 포트)를 거치고, 화면은 웹 UI의 콘솔로 봅니다.

SSH

$ ssh -p 2222 <SNUCSE ID 유저명>:<인스턴스 이름>@cloud.snucse.org

처음 접속하면 터미널에 로그인 링크가 나옵니다. 그 링크를 브라우저로 열어 SNUCSE ID로 로그인하면 접속이 이어집니다. SSH 키를 만들어 등록할 필요가 없습니다. 접속 게이트웨이가 SNUCSE ID로 본인을 확인하고 인스턴스에 대신 들어가므로, 어느 컴퓨터에서든 브라우저 로그인만으로 접속할 수 있습니다. 인스턴스 안에서는 템플릿의 기본 사용자로 들어가며, 접속 게이트웨이에서 오는 SSH는 인스턴스에 자동으로 허용되어 있습니다.

~/.ssh/config에 적어 두면 scp, sftp, VS Code Remote-SSH 등도 그대로 쓸 수 있습니다.

Host my-vm
    HostName cloud.snucse.org
    Port 2222
    User <SNUCSE ID 유저명>:my-vm
$ ssh my-vm
$ scp data.tar.gz my-vm:

본인 계정의 인스턴스와, 구성원으로 속한 프로젝트의 인스턴스에 접속할 수 있습니다.

웹 콘솔

Compute → Instances에서 인스턴스를 고르고 오른쪽 위의 View console(모니터 아이콘)을 누르면 새 창에 화면이 뜹니다. 부팅이 안 되거나 SSH가 막혔을 때 씁니다. 콘솔에서 로그인하려면 비밀번호가 필요하므로, 먼저 SSH로 들어가 sudo passwd <사용자>로 비밀번호를 정해 두세요.

프로젝트 (협업)

여러 사람이 인스턴스를 함께 쓰거나 리소스 쿼터를 공유하려면 프로젝트를 만드세요. 프로젝트 안에서 만든 인스턴스와 볼륨은 개인이 아니라 프로젝트 소유이고, 구성원 모두가 관리하고 SSH로 접속할 수 있습니다. 프로젝트는 개인 쿼터와 별개인 자체 리소스 쿼터를 가지므로, 연구실이나 팀 단위로 쿼터를 받아 나눠 쓰는 데 알맞습니다.

  • 만들기: 왼쪽 메뉴의 Projects → New Project. 이름만 적으면 되고, 만든 사람이 프로젝트 관리자가 됩니다.

    New Project 대화상자

  • 구성원 추가: 프로젝트의 Accounts 탭에서 상대의 계정 이름(SNUCSE ID 유저명)을 추가합니다. 역할은 Admin(구성원 관리 가능)과 Regular(자원 사용) 중 고릅니다. 초대 승인 절차 없이 바로 들어갑니다.

  • 전환: 화면 위쪽의 프로젝트 선택에서 프로젝트를 고르면 그 프로젝트의 자원이 보입니다. 기본 보기는 개인 계정입니다.

  • 쿼터: 새 프로젝트의 쿼터는 0으로 시작합니다. 프로젝트 이름과 필요한 양을 적어 contact@bacchus.snucse.org로 신청하세요.

  • SSH: 접속 방법은 개인 인스턴스와 같습니다. 구성원은 모두 인스턴스의 같은 기본 사용자로 들어가므로, 사람마다 계정이 필요하면 인스턴스 안에서 만드세요.

네트워크

인스턴스는 모두 하나의 내부 네트워크에 붙고, 주소는 자동으로 설정됩니다. 네트워크 설정을 손볼 필요는 없습니다.

  • 바깥으로: 인터넷에 나갈 수 있습니다(패키지 설치, git, 다운로드 등). 학부 내부망과 서버 관리망으로는 나갈 수 없습니다.
  • 안으로: 인스턴스 주소는 외부에서 닿지 않습니다. 접속은 SSH 게이트웨이와 콘솔로만 하고, 인스턴스에서 서비스를 외부에 공개할 수는 없습니다.
  • 인스턴스끼리: 같은 네트워크라 서로 통신할 수 있지만, 받는 쪽의 보안 그룹(Network → Security Groups)에 허용 규칙이 있어야 합니다. 기본 보안 그룹 default는 접속 게이트웨이의 SSH만 허용합니다.
  • MTU: 네트워크 MTU는 1450이며 자동으로 설정됩니다. 인스턴스 안에 직접 만든 터널이나 컨테이너 네트워크가 있다면 이 값에 맞추세요.

GPU

GPU가 있는 컴퓨트 오퍼링을 고르면 인스턴스에 GPU 한 장이 통째로 연결됩니다(passthrough). 지금은 NVIDIA GeForce GTX 1080으로 시험 운영 중이며, 다른 GPU들을 추가로 반입할 예정입니다. 반입되면 GPU 종류별 컴퓨트 오퍼링과 함께 이 문서에서 안내합니다.

  • 호스트마다 GPU 수가 정해져 있어, 빈 GPU가 없으면 인스턴스가 만들어지지 않습니다. 정지된 GPU 인스턴스는 GPU를 놓았다가 시작할 때 다시 잡으므로, 쓰지 않을 때는 정지해 두면 다른 사람이 쓸 수 있습니다.
  • GPU 인스턴스는 다른 호스트로 옮길 수 없습니다. 호스트 점검 때는 정지될 수 있습니다.
  • GPU 사용량은 리소스 쿼터의 gpu 항목으로 제한됩니다.
  • 드라이버는 인스턴스 안에서 직접 설치합니다. 설치 방법은 정식 오픈 때 템플릿과 함께 안내합니다.

문의

문제를 알려 주실 때는 계정 이름(SNUCSE ID 유저명), 인스턴스 이름, 문제가 생긴 시각, 화면에 나온 오류 문구를 함께 적어 주시면 빨리 확인할 수 있습니다.