원격 개발 서버 구축

오라클 클라우드를 이용한 원격 개발서버 구축

목적

  • 클라우드 서버를 이용하여 원격으로 접속 가능한 개발 서버의 구축

최종 목표

  1. 고정 IP를 가진 ubuntu 서버
    • 무료 클라우드 서버 중 오라클이 ARM64-4core/24GB ram/200GB storage VM 머신 제공 (타사 대비 월등히 좋음)
  2. 원격 개발을 위한 code-server 설치

서버 구축

클라우드 서버 구축

  1. 오라클 클라우드 Free tier 가입
    • 리전은 원하는 곳(춘천이 빠르고 ARM 서버 리소스가 남음)
    • 카드 정보를 기입(실제로 결제가 되지는 않음)
  2. 가입 완료 후 하단의 Create a VM instance 시작
    • instance Name 입력
    • image는 원하는거 선택, ex) canonical Ubuntu 20.04
    • shape는 Ampere 선택 core는 4, memory는 24GB 까지 무료
    • 상기 리소스를 나누어 무료 VM를 생성할 수 있다.ex) 2core-12GB 인스턴스 2개 무료
  3. VCN이 없다면 페이지에서 VCN을 생성하여 연결
  4. 본인의 PC에서 SSH를 생성하여 Public키를 업로드 한다.
  5. 부트 볼륨 생성
    • Specify a custom boot volume size을 클릭 후 원하는 볼륨생성
    • 200GB까지 무료이며 상기 리소스를 나누어 무료 VM생성 가능
  6. Create로 생성
    • 해당 리전의 리소스가 부족하여 생성이 안되는 경우가 있다.
    • 상기의 경우 리소스가 풀릴 때 까지 기다리거나 유료계정으로 업그레이드 (승인되는데 시간 걸림)
    • 유료 계정이 되더라도 무료 리소스까지만 쓰면 과금이 되지 않는다.

클라우드 서버 환경 설정

  1. 고정 IP 설정
    • Compute > Instances > Instance Details > Attached VNICs > VNIC Details > IPv4 Addresses
    • 상기 경로에서 NO PUBLIC IP 선택하여 IP 삭제 후 RESERVED PUBLIC IP로 변경
  2. 우분터 사용자 계정 생성(option)
    • ssh 로그인
    • 현재 계정 ubuntu 암호 생성
    • 사용자 계정 생성
    • 생성 계정에 sudo 권한 부여
    • 계정 변경
  3. ssh 비번으로 접속 설정
    • /etc/ssh/sshd_config파일의 PasswordAuthentication 값을 “yes"로 변경
  4. 클라우드 포트 개방
    • Networking > Virtual Cloud Networks > {사용중인 VNC} > Security List Details
    • 상기 경로에서 포트 개방 추가
  5. 우분투 방화벽 포트 개방
    1
    
    sudo iptables -I INPUT 5 -p tcp --dport 8070 -m state --state NEW,ESTABLISHED -j ACCEPT
    

code-server 설치

  1. code-server 다운로드 및 설치
    1
    
    curl -fsSL https://code-server.dev/install.sh | sh
    
  2. 서비스로 실행하기 위해 systemctl로 enable
    1
    
    sudo systemctl enable --now code-server@$USER
    
  3. 외부 접속을 위해 .config/code-server/config.yaml파일을 수정한다.
    1
    2
    3
    4
    
    bind-addr: 0.0.0.0:{포트번호}
    auth: password
    password: {비밀번호}
    cert: false
    
  4. 서비스를 재시작 후 동작을 확인한다.
    1
    2
    
    sudo systemctl restart --now code-server@$USER
    sudo systemctl status code-server@$USER
    
  5. chrome 브라우저에서 접속 시 이미지가 안보일 경우 하기 세팅을 수행
    • chrome://flags 설정 의 Insecure origins treated as secure Enable 후 http://{접속IP}:{접속Port} 추가
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy