[튜토리얼] Oracle Cloud로 내 개인 서버를 열어보자

오늘은 Oracle Cloud를 이용해 평생 무료의(!!!) 개인 서버를 구축해보도록 하겠습니다.
앞 부분에는 간단한 배경 설명으로 채웠습니다. 실제 구축 과정은 여기(클릭)서 시작합니다.

Oracle Cloud란?

요즘 들어 클라우드 컴퓨팅이 대세인 것 같습니다. 인터넷 쇼핑으로 유명한 Amazon의 Amazon Web Service(링크), 세계 최대 검색 엔진 Google의 Google Cloud(링크), Microsoft사의 Azure까지, 가장 유명한 클라우드 서비스라고 하면 저는 이 3개가 먼저 생각납니다. 이 외에도, 중소규모의 클라우드 서비스들이 다양히 존재하고 또 새로이 우후죽순으로 생겨나는 클라우드 서비스들이 있습니다.

Java와 SQL로 유명한 Oracle 역시, 기존 기업을 대상으로 클라우드 서비스를 제공해주고 있었습니다. 그러던 중, 2019년 9월 Free Tier라는 이름으로 평생 무료 클라우드 서비스를 선보였습니다(링크). 기존 클라우드 서비스 업계에서 기간 무료(AWS – 12개월), 혹은 크레딧 제공(Azure, Google Cloud) 등의 이벤트성으로 클라우드를 무료로 사용해볼 수 있었지만, 이제는 무료로 사용할 수 있는 클라우드 서비스가 있다는 점에서 그 강점이 있습니다.

클라우드 리젼 및 가용성

현재 2020년 8월 기준으로, Oracle Cloud에는 한국 내 2개의 Region(서울, 춘천)이 존재합니다. 사실상 위에서 언급한 3대 클라우드사들은 모두 한국에 Region이 존재합니다. 다만 춘천이라는 생소한(!) 곳에 리젼이 존재하는 것은 처음 봐서 너무 신기했습니다.

사실 클라우드 리젼 그 자체보다는 1. 가격과 2. 네트워크 연결성, 그리고 3. 가용성이 가장 큰 선택의 요소가 될 것 같습니다. 저는 체감적으로는 Oracle사가 가격으로는 가장 저렴한 클라우드 서비스가 아닐까 하고 생각합니다. 실제로도 Oracle은 AWS와 비교하며 가격 경쟁력을 무기로 마케팅을 하고 있습니다.

다만 저는 Azure를 주 클라우드로 사용하고 있습니다. 주 신분이 학생이라, 학생 크레딧으로 체험 형식으로 사용중입니다. 개인적으로 테스트해본 결과 네트워크가 가장 빠른 클라우드가 Azure였네요.

1. Oracle Cloud 가입

본격적으로 Oracle Cloud를 사용해보도록 하겠습니다. 여기서는 가입보다는 클라우드 인터페이스 사용을 중점으로 언급하도록 하겠습니다. 가입은 여기(링크)서 “무료로 시작하기” 링크로 시작하실 수 있습니다.

2. 홈 리젼(Home Region) 설정

Oracle Cloud 내 Region을 의미하는 “인프라 지역”

Oracle Cloud를 가입할 당시, 홈 리젼을 선택하는 과정이 포함되어 있습니다. 이 과정에서 “South Korea Central (ap-seoul-1)”과 “South Korea North (ap-chuncheon-1)” 둘 중에서 선택할 수 있습니다 (한번 선택한 리젼은 바꾸기 어려우므로 신중하게 정하시는것이 좋습니다). 저는 춘천을 선택하도록 하겠습니다.

3. VM 인스턴스 생성

Oracle Cloud 첫 화면

Oracle Cloud의 첫 화면으로 이동합니다(좌측 상단의 Oracle Cloud 로고를 클릭하시면 됩니다). 위 빠른 작업 창에 “VM 인스턴스 생성”을 눌러 VM 생성을 시작합니다.

VM 인스턴스 생성 화면 – 이미지 선택 창

VM 인스턴스 생성을 위해 위 인스턴스 이름(ID)을 입력합니다. 저는 임의로 my-vm-instance라는 이름을 사용했습니다. 다음으로, 세번째 선택란에서 “이미지 변경”을 선택해 위 그림처럼 이미지 선택 창을 띄웁니다.

여기서 이미지란, 마치 PC를 새로 설치할 때 사용할 부팅 USB를 고르는 것과 동일한 작업입니다. 어떤 운영체제를 설치할지 고르는 과정으로, 저는 최신 Ubuntu 20.04를 선택하도록 하겠습니다. (선택한 후 반드시 맨 아래까지 페이지를 내려 “이미지 선택”을 눌러야 적용됩니다.)

SSH 개인 키(여기서는 전용 키) 다운로드 화면

마지막으로, SSH 키 추가 부분에서 전용 키 다운로드 버튼을 클릭해 SSH 개인 키를 다운로드합니다. 추후 이 키를 이용해 SSH 원격 접속이 가능하므로 반드시 이 키를 다운로드하고 진행해야 합니다!!

4. 인스턴스 접속

생성중인 VM 인스턴스

인스턴스가 다 만들어지면, 우측 기본 VNIC 아래, 전용 IP 주소가 생성됩니다. 이 주소가 곧 우리가 외부에서 SSH로 접속하는 주소입니다. 이 주소를 이용해 접속하도록 합니다. 그러나…

응? Windows 10에서 SSH로 접속이 안된다.

위 화면은, 다운로드 받은 개인 키를 이용해, Windows 10에서 WSL나 기본 SSH 클라이언트로 해당 IP에 접속할 때 발생하는 오류입니다. (해결 방법)

해결하고 접속을 완료한 화면

이제 이 VM에, 원하시는 어플리케이션을 설치하셔서 웹 서버 등을 운용할 수 있습니다.

참고자료

[1] Windows SSH: Permissions for ‘private-key’ are too open
[2] Oracle Cloud Infrastructure (OCI) : Create a Compute VM

구름 반값/성능두배! & 구름에서 VNC를?

구름IDE 로고 클라우드형 코딩 서비스 구름

설치가 필요 없는 클라우드 통합개발환경에 당신의 아이디어를 쏟아내세요! 클라우드 통합개발환경 – 구름IDE

기존에 Java를 공부하려면 Eclipse부터, C나 C++등을 공부하려면 Visual Studio부터, Python을 공부하려면 Anaconda부터 설치해야 했던 기억들이 납니다. 이걸 매일 해야하는 곳이 있습니다. 군부대라고…

그래서 오늘은 웬 메일이 한통 와있더군요. 구름이 새롭게 바뀐 가격 정책을 내일(4/19)부터 선보인다고 합니다.

변경된 구름IDE 가격 정책

정말 신나는군요. 이제 결제하고 코딩만 하면 되겠군요! …그런데 잠시만, 그래도 한번씩 써본지라, 개인적으로 생각한 장단점 대표적으로 몇가지만 끄적여봅니다.

구름의 장단점?

Q. 장점?

A. 아무래도 클라우드 서비스이다 보니까, 공유기능이나 코드 같이 수정하기각종 단축키 지원Markdown 자체 지원SSH 원격접속 기능 지원디버깅 지원, 그리고 무려 채팅 기능 지원! 이정도겠네요. 쓰면서 신나는 타이핑도 나쁘지않은 기능인거같네요. 지루하지 않을뿐

Q. 단점?

A1Linux입니다. 아무래도 Windows에서 많이 작업하시다가 Linux에서 개발환경을 접하게 되면 조금(많이) 당황스러우실 수도 있습니다. 이점 참고하세요. A2컴파일링이 조금 귀찮습니다. 마찬가지로 리눅스라서 그런것도 있기는 한데, 초기 Java 컨테이너나 Python 컨테이너를 생성한 뒤에, 뭔가 하나 새로 만들려고 하는데 컴파일 위치지정 등이 Windows에서 하던 것보다(비교적) 상당히 귀찮더군요. (와중에 Jupyter Notebook용으로 쓰는것도 나쁘지 않을것 같네요)

결론

저는 뭐 구름 홍보대사도 아니고, 그냥 일개 군인에 불과할 뿐입니다. 다만 같은 처지에 놓이신 프로그래머or컴공생 여러분들에게는 좋은 정보가 되길 바랄 뿐이겠네요. 하핳.

추가로! VNC도!

제가 구름 컨테이너 쓰면서 이것저것 괜찮은 스크립트를 만들어봤었네요. Linux 환경이다 보니까 VNC로 데스크톱 환경을 구현할 수 있는데, 이것저것 시도하시기에 시간이 없으신 여러분들께! 제가 미리 만들어놓은 스크립트들을 공개합니다.