Intro
본 포스팅은 이전 Oracle Cloud 가입과 간단한 설정에 관하여 작성했던 포스트의 IBM 버전이다. IBM Cloud의 가입과 Free Tier인 Lite 계정에서 클라우드 초심자가 개발 환경을 설정해 본 경험을 (= 미래의 내가 잊어먹지 않도록 정리해둔 것을) 다룬 것이다. 나와 같은 분들과 IBM Cloud를 처음 사용하시는 분들께 조금이나마 참고 자료로서 도움이 되었으면 하는 마음에 글을 작성하였다.
IBM Cloud란?
IBM Cloud는 어디선가 한 번쯤은 들어봤을 IBM사에서 운영하는 Cloud Flatform으로, 현재 무료 티어인 Lite 계정을 지원하고 있다. 특히 무료 티어에서도 2GB의 데이터 스토리지, 1 vCPU 제공 등 무료임에도 준수한 서비스들을 제공하고 있다는 것이 특징이다. 또한, Free Tier인 Lite 계정의 경우 기간 제한이 없고, 신용 카드 정보도 필요하지 않다는 점을 내세우고 있다.
가입
가입은 과정을 따라 진행하면 되며, 메일로 code를 인증하면 계정 생성이 완료된다.
로그인하게 되면 여타 클라우드 서비스와 마찬가지로 대시보드 화면을 마주할 수 있게 된다.
설정 및 샘플 앱 생성
대시보드 화면에서 좌측 상단의 메뉴를 클릭하면 위와 같이 숨겨져 있던 메뉴들이 주루룩 나오는데, Cloud Foundry메뉴에서 vCpu를 생성할 수 있으므로 클릭해주도록 하자.
클릭하면 설정하는 화면으로 이동하게 되며, 해당 화면에서 생성하고자 하는 앱과 리소스 구성에 대한 설정을 손쉽게 할 수 있다. 별도의 Shell 환경에서의 지정을 거치지 않아도 된다는 게 아주 편했다.
설정 화면을 넘어가면, 샘플 앱에 대한 이름과 위치(국가), 요금제 등을 선택하는 화면이 출력된다.
Lite 계정은 최대 256MB의 메모리까지 사용 가능하다.
무료 티어를 체험하는 것이 목적이므로, 플랜에 맞는 요금제를 선택하면, 어떤 언어와 자원으로 앱을 구성할 것인지를 선택하게 된다. Node.js 테스트 목적으로 환경을 구성할 것이기 때문에 SDK for Node.js 를 선택하고, 간단한 태그를 기입해주었다.
설정이 완료되면 다음과 같은 화면을 마주할 수 있다.
그리고 앱 URL 방문을 클릭하여 URL로 이동하면, 반가운 Hello World 화면을 마주할 수 있다.
Node.js Repository Clone
IBM github에서 get-started-node 레포지토리를 클론해서 Node.js 샘플 프로젝트를 실행해 볼 수 있다. 클론해서 관련 의존성 자료들을 설치하고,
npm install
npm start
를 해주면 3000번 포트에 서비스가 돌아가고 있다는 결과를 받을 수 있다. https://localhost:3000 에 접속하면 다음과 같은 화면이 나오는 것을 확인할 수 있다.
IBM Cloud CLI 를 통하여 배포하기
IBM 홈페이지의 IBM Cloud CLI 시작하기 문서는 IBM Cloud CLI를 통하여 Foundry 환경에 배포하는 방법을 단계적으로 설명하고 있다. 우선, 운영체제에 맞는 IBM Cloud CLI 를 설치한다.
MacOS or Linux
curl -sL https://raw.githubusercontent.com/IBM-Cloud/ibm-cloud-developer-tools/master/linux-installer/idt-installer | bash
Windows 10 Pro (PowerShell 관리자 모드로 실행)
[Net.ServicePointManager]::SecurityProtocol = "Tls12, Tls11, Tls, Ssl3"; iex(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/IBM-Cloud/ibm-cloud-developer-tools/master/windows-installer/idt-win-installer.ps1')
설치가 완료되면 명령어를 통하여 로그인하여 지역설정을 해주자. 지역은 Foundry를 생성할 때 설정했던 지역과 동일하게 선택해주도록 하자. (ex. 댈러스 = us-south)
ibmcloud login
로그인이 완료되면, Cloud Foundry 앱 설정 관련 파일인 manifest.yml 을 변경해주어야 한다. 앞서 생성한 Cloud Foundry에 맞게 설정해주어야 하며 설정을 제대로 해주지 않으면 앱이 하나 더 생겨서 메모리 아웃 (에러 정리 3번, 메모리 부족 참고)에러가 발생하므로 제대로 설정해주도록 하자.
설정을 완료하였다면 다음 명령어를 통하여 ibmcloud에 배포하면 된다.
ibmcloud target --cf
ibmcloud cf push
로그에 찍히는 URL로 접근해보면 아까 레포지토리를 클론해서 배포 테스트했던 화면이 나오는 것을 확인할 수 있다. 만약 나오지 않는다면 리소스 그룹 설정 및 포트 관련 설정을 한 번 체크해보자..ㅠㅠ
설치 중 발생했던 에러 정리
리소스 그룹 관련 에러
다음과 같이 ‘대상으로 지정된 리소스 그룹이 없습니다.’ 라는 에러가 발생하였다.
리소스 지정만 해주면 된다.
ibmcloud target -g Default
- IBM Cloud Foundry를 통해 만들어둔 app 지정이 안되어 있었다는 것을 알았더라면 쉽게 해결했을 문제…
‘Cloud Foundry CLI가 IBM Cloud CLI에 설치되지 않았습니다.’
ibmcloud cf install
메모리 부족
메모리가 부족하다면서 에러가 발생할 때 ibm cloud 대시보드에서 app이 2개가 올라가진 않았는지 체크해보자.
- manifest.yml 에서 app name을 안바꿔서 get-started-node가 별도의 app 으로 올라가서 메모리 아웃이 발생한 상황
- 로그인하고, manifest.yml 파일을 열고 app name을 안바꿔주면 새로운 Cloud Foundry 앱을 만들어버린다는 점 상기할 것.