[클라우드 왕초보 기초] GCP에서 가상 머신 인스턴스(virtual machine instance) 만들기 + 클라우드 장점 소개

만약 회사 서버가 T4라는 GPU를 사용 중인데 프로젝트 때문에 V100이란 더 좋은 GPU가 필요한 경우가 있습니다.  V100이 엄청 고가인데 잠깐 사용하기 위해서 구매하기엔 난감합니다. 회사 서버에 CPU와 메모리를 추가할 때(scale up)도 이런 경우는 항상 있습니다. 서버 자체를 추가해야 할 때(scale out)도 있습니다. 그리고 프로젝트가 끝나거나 서비스 사용자가 줄면 추가로 구매했던 시스템은 놀고 있게 됩니다. 내일 당장 서버 한 대가 필요한데 구매팀을 통해 발주를 하고 절차를 거쳐 서버가 회사에 오는데 2주 이상 걸립니다. 그리고 도착해도 서버를 설치하고 구축하는데 시간이 소요됩니다. 요즘은 기업들이 이러한 모든 문제를 클라우드를 이용해 해결합니다.

사용자는 모든 종류의 GPU를 직접 다 테스트해보고, 원하는 GPU를 딱 일주일간만 사용하고 그 비용만 지불하면 됩니다. CPU와 메모리가 부족하면 마우스 클릭 몇 번으로 1분만에 추가 됩니다. 그리고 CPU와 메모리가 놀고 있으면 안내 메세지가 뜨고 마우스 클릭 한 번으로 현재 서버가 필요한 CPU와 메모리만 사용하게 변경해 줍니다.  

클라우드 사용이 개발/테스트에만 편리한 것이 아닙니다. 프로덕션 서비스를 운영하는데 연휴에 사용자가 엄청 몰릴 때 그때만 클라우드에서 서버를 늘려주고, 그 기간이 지나면 다시 쉽게 줄이면 됩니다. 사용한 만큼만 돈을 내면 됩니다. 그리고 요즘은 오토 스케일링 기능을 다 쓰기 때문에 부하에 따라 자동으로 서버가 스케일 아웃됩니다. 바쁘면 알아서 일꾼이 늘어나고, 안바쁘면 일꾼의 수를 줄입니다. 우리는 사용한 일꾼에 대한 비용만 지불합니다. 놀고 있는 일꾼한테 돈을 안줘도 됩니다. 

(클라우드가 장점만 있는 것은 아닙니다. 여기에 클라우드의 장단점을 다 쓰면 글이 너무 길어져서 생략합니다. 제가 석사 때 클라우드 과목 이수했습니다. 자랑! 제 말의 50프로는 믿어도 됩니다!)  

회사에서 인프라를 관리하면 관리하는 인력 인건비, 서버실 냉방비, 서버 소프트웨어나 OS 패치 및 업그레이드, 전원 이중화 같은 부분도 신경써야 하고, 정전 시 대비 보조 전력 가동 시스템, 서버 수명 관리, 노후 부품 교체, 서버 모니터링, 사무실에서 차지하는 공간(물론 여름에 서버실에서 폰게임하면 개꿀이긴 하지만), 주말에 서버실에서 화재가 발생해 회사 건물을 다 태워먹지 않았나 하는 근심 등등 이 외에도 수많은 것들이 클라우드를 사용하면 해결됩니다. (브레인스토밍 ㅍㅌㅊ?) 

물론 클라우드는 잘못 쓰면 독입니다. 벼룩잡으려고 집을 태우는 것처럼 클라우드 서비스를 쓰시는 분들도 주위에 많습니다. 아직 국내에는 클라우드 전문가가 많이 부족하다고 합니다. 도전해 보세요! 전문가는 아니라도 클라우드를 잘 쓰면 회사에서 사랑 받으실 수 있습니다! 

오늘은 서론이 길었습니다. 실습갑니다. 구글 클라우드 콘솔을 이용해서 virtual machine instance를 만들 것입니다. 아주 쉽게 표현하면 구글 데이터 센터의 장비를 빌려 제 서버를 하나 만드는 겁니다. 관리는 구글이 해줍니다. 저는 사용한 만큼만 돈을 내면 됩니다. 소유가 아닌 렌트의 개념입니다. 조금 더 자세하게 말하면 구글 데이터 센터의 물리적인 서버들을 가상화하고 저는 그 일부를 마치 저 혼자 쓰는 것처럼 사용하게 됩니다. 

  • VM 인스턴스로 검색하시거나 Compute Engine > VM 인스턴스 를 클릭합니다. 

  • '만들기' 를 클릭합니다.

  • VM 인스턴스를 생성할 시 월간 예상 비용을 우측 상단에서 확인할 수 있습니다. 인스턴스 이름은 신중히 정하세요. 안내에는 영구적이라고는 하지만 변경하는 방법이 없는 건 아닙니다. 다만 귀찮습니다. (엄밀히 말하면 변경이 아니라 인스턴스를 새로 만들고 거기에 옮기는 것입니다.) 다른 인스턴스와 헷갈리지 않게 잘 정하세요. 아님 나중에 실수로 다른 사람이 막 지울 수 있습니다. 진짜로... 

  • 내 VM 인스턴스를 어디에 둘지 정해야 합니다. 리전(region)과 존(zone)을 선택해야 합니다. 2020년 4월에 한국에도 구글 데이터센터가 들어와서 서울 리전 선택가능합니다. 내 로컬 컴퓨터와 파일 전송들을 할 때 서버 위치가 가까울수록 전송 속도가 빠릅니다. 그리고 한국인은 한국 땅에서 한국 서버를 쓰고 살아야 하지 않겠습니까 (!?) 

  • CPU와 메모리(램)은 종류가 많습니다. 저처럼 잘 모르시면 표준 고르시면 됩니다. 그리고 가격을 잘 확인하시고, 예산에 잘 맞추어 고르세요. 

  • vCPU 2개 8 메모리 쓰려고 하니 한 달에 $63 달라고 하네요. 내 돈 나가는 거 아니라 안심입니다.

  • 가끔 엔지니어 중에 미신처럼 CPU와 메모리의 숫자가 홀수여야 장애가 안난다는 강박증이 있으시다면 커스텀(custom)에서 본인이 수동으로 정하시면 됩니다.

* 아 CPU 홀수 안되네요. ㅋㅋ 강박분들 ㅈㅅ 

  • GPU를 장착하겠습니다. CPU 플랫폼 및 GPU를 눌러주세요. 

  • GPU추가 버튼이 비활성화되어 있어도 놀라지 마세요. 머신 구성 시리즈를 E2에서 N1으로 변경해 주세요. 
  • N1으로 변경했는데도 활성화 안되면 놀라지마세요. 현재 Zone 에 GPU가 다 팔려서 그렇습니다. Zone을 변경해 주세요. 

  • GPU 추가 버튼을 누르시면 현재 해당 Zone에서 사용 가능한 GPU가 T4밖에 없다고 나옵니다. GPU 다른 종류를 쓰시려면 리전과 존을 뒤져서 찾아야 합니다. 한국 구글 데이터 센터는 태어난지 얼마안돼 아직 서버에 물도 안말라서 아직 개털입니다. 


  • 요금을 확인하면 GPU가 꽤 비싸다는 것을 알수 있습니다. 물론 회사가 내지만 걱정하는 척이라도 해줘야 한다는 점 명심하세요! (사회생활 규칙 제 53조) 

  • CPU, RAM, GPU를 달았으니, 이제 디스크를 답시다. 부팅 디스크 변경을 누릅니다.

  • 윈도우 서버 저런거 라이센스 비용때문에 많이 비쌉니다.  저는 디스크에 CentOS 리눅스를 운영체제로 깔 것입니다.

  • 부팅 디스크 유형을 보시면  SSD나 표준 중에 고르실 수 있습니다. 균형있는 영구 디스크는 SSD와 표준을 섞는 건데 구글이 재고 상태 파악해서 맞춰줄 것 같아서 그냥 SSD와 표준만 썼습니다. ㅋㅋ (상상력 굿?) SSD는 빠르지만 비싸고, 표준 HDD 싸지만 느립니다. 그리고 크키는 웬만하면 넉넉하게 잡으세요. 보통 read/write 성능이 디스크 크기와도 관련이 있습니다. 머리 아프신 분들은 그냥 SSD 100 GB 쓰십쇼! 


  • 예상 비용을 보니 100GB SSD는 $22.10 정도 입니다. 

  • 마지막으로 external ip(외부 IP)를 하나 만들겠습니다.  '관리, 보안, 디스크, 네트워킹, 단독 임대'라고 적힌 부분을 클릭합니다.

  • 네트워킹 부분을 클릭하고 연필 모양을 클릭합니다.

  • 외부 IP 에서 IP 주소 만들기를 눌러 새 고정 IP 주소를 예약합니다. 그리고 완료를 누릅니다.



* 외부 고정 IP를 사용하지 않으면 서버가 재기동 될때마다 IP가 바뀌어 불편합니다. 하지만 외부 고정(static, reserve) IP는 비용이 발생합니다. 한 달에 만원 이하입니다. 요즘은 보안상 외부 IP를 사용하지 않고 로드밸런서(LB)나 배스천호스트(bastion host)를 많이 쓰는 것 같슴다.

  • 마지막으로 만들기 버튼을 눌러 VM 인스턴스를 생성합니다. 

  • VM 인스턴스가 provision 되고 나면 SSH 를 눌러 접속해봅니다.

  • 본인이 만든 서버에 접속을 하셨습니다. ㅊㅋㅊㅋ

  • 서버를 사용안하실 땐 정지하거나 삭제하세요. 서버 정지를 해도 고정 IP나 디스크 스토리지 비용은 발생합니다. 저는 서버를 삭제하겠습니다. 

  • 서버를 삭제하고 나서 '외부 IP 주소'로 가서 아까 내가 선점한 IP 주소를 해제합니다.




* 클라우드 서비스를 사용할 땐 리소스 관리를 잘 하셔야 됩니다. 예전에 만들었던 리소스를 깜빡해서 계속 두면 비용이 계속 발생합니다.  클라우드는 잘못 쓰면 독입니다. 꼭 기억하세욧!!! 내가 쓰면 약, 남이 쓰면 독. 내약남독!

Comments