node.js를 오라클 클라우드 평생 무료 가상 서비스로 구동해보자

trevor1107·2021년 3월 26일
5

2021년 3월 26일 기준에 작성된 글 입니다. 서비스가 어떻게 변할지는 모르지만 현재는 강력한 무료 서비스라고 생각합니다

상시 무료 클라우드 서비스란 무엇인가요?

오라클 클라우드 무료 서비스 링크

  • 데이터베이스
    Autonomous Transaction Processing 또는 Autonomous Data Warehouse 중에서 선택합니다. 총 2개의 데이터베이스, 각각 1개의 OCPU 및 20GB 스토리지 포함.

  • 컴퓨팅
    각각 1/8 OCPU 및 1GB 메모리가 있는 2개의 가상 머신.

  • 스토리지
    2개의 블록 볼륨, 총 100GB. 10GB 객체 스토리지. 10GB 아카이브 스토리지.

  • 추가 서비스
    로드 밸런서: 인스턴스 1개, 10Mbps 대역폭. 모니터링: 5억 개의 수집 데이터 포인트, 10억 개의 검색 데이터 포인트. 알림: 매월 https를 통해 전송되는 백만 개, 매월 이메일을 통해 전송되는 1,000개. 아웃바운드 데이터 전송: 매월 10TB.


진행 순서

가입 -> 구획 생성 -> 네트워크 생성 -> 인스턴스 생성 -> 고정 IP 설정 -> 포트 설정 -> 리눅스 설정

우선 가입에 대한 설명은 제외하고 설명한다.
가입에 대한 자세한 설명은 추천 링크를 참고하면 좋을 것 같다..

구획 생성

[메뉴] -> [ID] -> [구획]
위 사진에 나와 있는 것 처럼 왼쪽 상단의 메뉴를 클릭하고, 맨 아래로 스크롤 하다보면 메뉴가 나온다.

[이름 입력], [설명 입력], [상위 구획 선택] -> [구획 생성]
상위 구획은 처음 생성시 루트 밖에 없을 테니 자동적으로 루트로 선택되어 있다.

네트워크 생성

[메뉴] -> [네트워킹] -> [가상 클라우드 네트워크]

[VCN 마법사 시작]

[인터넷 접속을 통한 VCN] -> [VCN 마법사 시작]

[이름 입력], [구획 선택] -> [다음]
전에 생성한 구획을 선택!

정보 확인 후 [생성]

인스턴스 생성

[메뉴] -> [컴퓨트] -> [인스턴스]

[구획 선택] -> [인스턴트 생성]
왼쪽 하단에 전에 생성한 구획을 선택!

[이름 입력], [구획 선택] -> [이미지 및 구성 편집]

[이미지 변경] -> [구획 선택] -> [원하는 OS 및 버전 선택] -> [이미지 선택]
나는 CentOS 7버전을 기준으로 선택했다.

[공용 키 붙여넣기] -> [public SSH 키 입력]

SSH키를 생성하는 방법, 또 다른 방법 추천 링크
비밀번호 설정은 보안을 위해 필수적으로 하는 것이 좋다.
private 키는 잃어버리지 말고, 보안에 유의해서 잘 보관해놓길 바란다.
생성된 public 키를 ssh-rsa 부터 끝까지 복사해서 붙혀넣기 해야한다.

* 그리고 위에서 [SSH 키 쌍 생성] 항목을 클릭하고 private 키와 public키를 다운받아서 사용하는 방법도 있다.

[사용자 정의 부트 볼륨 크기 지정 체크] -> [크기 50 입력] -> [생성]
(무료 크기는 최대 100GB까지, 그리고 나는 2개의 인스턴스에서 50GB씩 사용한다)

생성을 누르게 되면, 프로비전 중.. 이라고 표시되는데 아직 생성 중인 것이다.
몇 분 정도 기다리면 [프로비전] -> [실행 중]으로 표시 된다. 그러면 생성이 완료 된 것이다.


고정 IP 설정

[메뉴] -> [네트워킹] -> [IP 관리]

[이름 입력], [구획 선택], [주소 소스 선택(Oracle)] -> [예약된 공용 IP 주소 클릭]

그리고 생성된 인스턴스로 다시 간다 [메뉴] -> [컴퓨트] -> [인스턴스] -> [생성된 인스턴스 클릭]

해당 인스턴스 정보들이 나올 것이다. 거기서 맨 밑으로 스크롤을 내리면 위 사진처럼 왼쪽에는 리소스 목록이 나오는데 거기서 연결된 VNIC에서 설정되어 있는 링크를 클릭하면 된다

[리소스 메뉴] -> [연결된 VNIC] -> [이름 링크 클릭]

[리소스 메뉴] -> [IP 주소] -> [IP 주소 목록에 맨 우측의 ... 클릭] -> [편집]

[공용 IP 없음] -> [업데이트]

다시 한번 아까와 같이 편집을 누른다.

[예약된 공용 IP 선택] -> [기존 예약된 IP 주소 선택] -> [업데이트]

* 생성된 IP가 없다면, 새 예약된 IP 주소 생성도 가능하다.


포트 설정

[공용 서브넷 링크 클릭]

[이름 링크 클릭]

[수신 규칙 추가] -> [소스 CIDR 입력], [대상 포트 범위 입력] -> [수신 규칙 추가]

* 위에서 설정하는 것은 지극히 기본적인 포트를 추가하는 것을 예로 들었다.
참고로 20, 21은 FTP, 80은 HTTP, 443은 HTTPS로 약속 되어있다.
나 같은 경우 3000-4000포트를 열어 주었다.

이로서 오라클 클라우드에서의 설정은 끝났다.


리눅스 접속 및 설정하기

글이 길어져서 간략하게 필수정보만 작성하고, 부족한 부분은 직접 찾아보길 바란다.
아마존 웹 서버, 구글 클라우드 플랫폼, 오라클 클라우드의 서버 설정이 처음에 어려울뿐이지, 리눅스 접속까지 성공했다면.. 이제는 리눅스에 대해서만 알아보면 된다!

아래 항목들의 링크는 CentOS 7 버전 기준이다.

* 80, 443 등 기본 규약 포트의 경우 root의 권한이 있어야 사용이 가능하다.
예를들어 npm start를 하는데 포트가 80으로 되어있는 상태 exit status 1이 발생한 경험이 있다. 찾아보니 모듈 문제인 줄 알았는데, 추측하고 실험해본 결과 root의 권한이 아니어서 방화벽에 포트를 설정해도 해당 포트를 사용할 수 없었던 것이다..
그래서 sudo npm start를 입력하니 not found command라고 떴다. root로 로그인 해서 실행하거나 root의 권한을 얻어서 실행하면 해결된다.
sudo bash 또는 sudo su 명령어로 현재 로그인 된 opc유저의 권한을 루트 권한으로 바꿔서 사용이 가능하다.



참고자료 및 사이트 (감사합니다)

profile
프론트엔드 개발자

0개의 댓글