지난 주에 나린이2님께 소개해주신 Oracle Cloud Free Tier 라는 무료 호스팅(?) 서비스를 알게 되어
주말동안 이것 저것 삽질하면서 파악한 내용을 정리해 보았습니다.
그대로 따라하시면 무료로 200G에 달하는 Ubuntu 서버 하나 만들 수 있으니
개인 서버에 관심 있으신데 방법을 모르셨던 분 계시면 가이드 참고하여 따라해 보세요.
주의! 참고로 처음 가입시 지역(region)을 선택해야 하는데 고민이 필요합니다.
한번 지역(region) 선택하여 가입하고 나면, region 변경은 불가능하니 신중하게 선택하세요.
한국 region 선택시 서울에 서버가 있어서 네트워크 속도가 빠르지만, 1코어(2쓰레드) 1G 메모리가 제공되고
미국 region 선택하면 네트워크 속도가 한국보다 느리지만, 4코어 24G 메모리를 사용 할 수 있다고 합니다. -.-;;
1부. Oracle Cloud 인스턴스 구성 (번호에 링크 연결)
- [링크] 개요. Oracle Cloud Free Tier에 무료로 Ubuntu 서버 만들기 가이드
- [링크] 1-1. 구획 생성
- [링크] 1-2. 가상 클라우드 네트워크 생성
- [링크] 1-3. 인스턴스 생성 (Ubuntu 20.04)
- [링크] 1-4. 인스턴스 수신 규칙 설정
- [링크] 1-5. 예약된 공용 IP 생성 및 인스턴스 연결
- [링크] 1-6. 인스턴스 ssh 접속 확인
- [링크] 1-7. 인스턴스 부트 볼륨 백업 및 복구
- [링크] 1-8. 인스턴스 및 구획 삭제 (초기화)
다음 단계로는 Ubuntu 20.04 에 보안 셋팅하고 docker로 NPM, Portainer 셋팅하는 과정을 정리할 예정입니다.
2부. Ubuntu 20.04에 Docker + NPM 서버 셋팅
- (예정) ubuntu 20.04 초기 설정
- (예정) ubuntu 기본 및 보안 설정
- (예정) 도커 설치
- (예정) 도커 Nginx Proxy Manager/jc21 설치 및 Add Proxy Host 등록 방법
- (예정) 도커 Portainer설치 및 NPM 과 컨테이너 service 이름으로 Proxy Host 연동 시키기
설명을 위해서 Oracle Cloud 사용해 보면서 파악한 내용을 그림 한장으로 그려 봤는데...
처음에 구획, 가상 네트워크, 서브넷, 인스턴스 등 낯선 용어 때문에 셋팅하면서 애를 좀 먹었는데
도커 NPM과 포트 설정 때문에 구글링하다가 Proxy Host 연동하는 새로운 방법을 알게 된게
이번 삽질의 큰 수확인듯 합니다.

지금까지 시놀로지 NPM 셋팅해 도커 사용하면서 포트 수동으로 지정해서 오픈하고 Proxy Host 등록했는데
위 그림처럼 docker network 하나 만들어서 모든 도커 컨테이너들을 NPM 과 동일한 docker network로 묶어주니
포트 오픈하지 않고도 service 이름으로 Proxy Host 연동되는게 신기했습니다.
위 방법으로 셋팅하면 도커 컨테이너가 포트 오픈 할 필요가 없으니 오라클 클라우드에서 80, 443 만 오픈하면 끝이더라구요.
제가 정리한 1~2부를 그대로 따라해 보시면 오라클 클라우드에 Ubuntu 20.04 설치하고
도커로 Nginx Proxy Manager 와 Portainer 까지 Proxy Host 셋팅 가능한 상태가 되니
그 뒤로는 개인적으로 선호하시거나 필요한 docker 서비스들 설치하시면서 운용하시면 되지 않을까 싶습니다.
2부는 나중에 정리가 완료되면 다시 공유 하겠습니다.
근데 현재 docker compose 설치가 뭐가 꼬여서인지 인터넷을 보고도 안되더라구요. 아마도 공부한답시고 이것저것 따라하면서 저도 모르게 수정하고 건드린게 문제가 된 듯 합니다. 혹시 초기화상태 또는 깨끗한 상태로 돌리는 방법이 있을까요? 저장소 부분만을 삭제하고 다시 생성해서 연결한다던가 하는... 어렵게 생성한 인스턴스를 지우고 다시 하려니 몇일간 생성하려고 고생한게 아까워서요~~ ^^;
리눅스라서 윈도우 10처럼 셋팅을 깔끔히 최기화하는 기능은 없을것 같습니다.
리눅스 삭제는 그냥 인스턴스 삭제하고 다시 만드시면 깔끔하게 초기화 되거든요.
공부가 목적이시라면 싹 지우고 다시 처음부터 해보시면 이전보다 시간이 더 단축되고
한번 해봤던거라 꼭 필요한것만 다시 셋팅해주니 깔끔하게 진행되지 않을까 싶습니다.
아 부트 백업은 생각도 못했네요.
그러고 보면 서버 셋팅 리셋하고 싶을때 다시 첨부터 셋팅하는 수밖에 없었는데
삽질한다고 5번 정도 인스턴스 재설치한건 비밀.... ㅎㅎ
아 혹시 오라클 클라우드에 스냅샷 같은 기능은 없을지 구글링 함 해봐야겠네요.
조언 감사합니다.
말씀처럼 부트 볼륨 백업이라는 메뉴가 아예 존재해서, 인스턴스 전체를 백업할 수 있더라구요.
1부 7번으로 생성한 인스턴스 백업하는 부분까지 내용을 추가해 보겠습니다.
네 그렇더라구요.
도커 npm 처음 설치하고 nginx 관리페이지 접속용 81 포트 열어서
처음 1번 접속해서 npm이 자기 스스로를 npm.ID.duckdns.org로 proxy host 등록해 놓으니
그 뒤로는 81 포트도 막아버리면 되더라구요.
80과 443 하고 ssh 포트만 오픈해놓고 사용하는데 ssh 포트를 바꿔서 그런지 아직 칩입 시도는 없는듯 합니다.
한국에 놓고 그냥 장난감 용도로 쓸지
미국에 놓고 vpn 등으로 이용할지...
어느게 좋을지 경험해보지 못해서 애메한거 같아요.
가벼운 서비스만 돌리는 거라면 서울이 네트워크 속도에서 빠른 이점이 있을지...
미국에서 4코어 24G 메모리로 고사양(?)이 반응 속도 빠른 이점이 있을지...
전 아무것도 모르고 서울로 이미 만들어 놓고 뒤늦게 알아서 선택권이 없었습니다. ㅠ.ㅠ
1코어 1G 메모리 사양은 느리긴 하지만 무료 오라클 클라우드에서 무거운 동영상 서버 돌릴것도 아니라서
데이터 전송량 작은 docker 서비스들 항상 돌릴 수 다는데 무척 만족하고 있습니다.
평생 무료라 했으니 오라클에서 맘이 바뀌지 않기만을 바래야겠죠. ㅎㅎㅎ
덕분에 이제 시놀로지는 미디어 전용으로 항상 켜둘필요가 없어져서 HDD 수명 연장과 전기세도 좀 가벼워지지 않을까 기대됩니다
cpu는 x64가 아닌 arm이에요
아 그런 방법이 았나요? 어떻게 가능한지 찾아 보겠습니다
특별한 방법이 있는 건 아니고 그냥 서버 만들 때 cpu 선택 중에 arm cpu가 있어서 그걸로 만들었어요
구글링하면서 시도해보니... 여유 자원이 있을때 생성이 가능한거 같더라구요.
현재 서울 서버는 자원부족으로 추가가 안되는 상황인데....
서버 증설시 arm 4코어 24GB 메모리로 인스턴스 생성이 가능한 때도 있나 봅니다.
일단 현재는 서울 서버에서 불가능한 상황은 맞는듯 해보이네요. ㅠ.ㅠ
이놈의 union pay..
아마존 서비스 중에서 지원되는데도 있고 안되는데도 있고 복잡하네요.