목적
- 클라우드 서버를 이용하여 원격으로 접속 가능한 개발 서버의 구축
최종 목표
- 고정 IP를 가진 ubuntu 서버
- 무료 클라우드 서버 중 오라클이 ARM64-4core/24GB ram/200GB storage VM 머신 제공 (타사 대비 월등히 좋음)
- 원격 개발을 위한 code-server 설치
서버 구축
클라우드 서버 구축
- 오라클 클라우드 Free tier 가입
- 리전은 원하는 곳(춘천이 빠르고 ARM 서버 리소스가 남음)
- 카드 정보를 기입(실제로 결제가 되지는 않음)
- 가입 완료 후 하단의
Create a VM instance
시작- instance Name 입력
- image는 원하는거 선택, ex)
canonical Ubuntu 20.04
- shape는
Ampere
선택 core는 4, memory는 24GB 까지 무료 - 상기 리소스를 나누어 무료 VM를 생성할 수 있다.ex) 2core-12GB 인스턴스 2개 무료
- VCN이 없다면 페이지에서 VCN을 생성하여 연결
- 본인의 PC에서 SSH를 생성하여 Public키를 업로드 한다.
- 부트 볼륨 생성
Specify a custom boot volume size
을 클릭 후 원하는 볼륨생성- 200GB까지 무료이며 상기 리소스를 나누어 무료 VM생성 가능
Create
로 생성- 해당 리전의 리소스가 부족하여 생성이 안되는 경우가 있다.
- 상기의 경우 리소스가 풀릴 때 까지 기다리거나 유료계정으로 업그레이드 (승인되는데 시간 걸림)
- 유료 계정이 되더라도 무료 리소스까지만 쓰면 과금이 되지 않는다.
클라우드 서버 환경 설정
- 고정 IP 설정
- Compute > Instances > Instance Details > Attached VNICs > VNIC Details > IPv4 Addresses
- 상기 경로에서
NO PUBLIC IP
선택하여 IP 삭제 후RESERVED PUBLIC IP
로 변경
- 우분터 사용자 계정 생성(option)
- ssh 로그인
- 현재 계정
ubuntu
암호 생성 - 사용자 계정 생성
- 생성 계정에 sudo 권한 부여
- 계정 변경
- ssh 비번으로 접속 설정
/etc/ssh/sshd_config
파일의PasswordAuthentication
값을 “yes"로 변경
- 클라우드 포트 개방
- Networking > Virtual Cloud Networks > {사용중인 VNC} > Security List Details
- 상기 경로에서 포트 개방 추가
- 우분투 방화벽 포트 개방
1
sudo iptables -I INPUT 5 -p tcp --dport 8070 -m state --state NEW,ESTABLISHED -j ACCEPT
code-server 설치
- code-server 다운로드 및 설치
1
curl -fsSL https://code-server.dev/install.sh | sh
- 서비스로 실행하기 위해 systemctl로 enable
1
sudo systemctl enable --now code-server@$USER
- 외부 접속을 위해
.config/code-server/config.yaml
파일을 수정한다.1 2 3 4
bind-addr: 0.0.0.0:{포트번호} auth: password password: {비밀번호} cert: false
- 서비스를 재시작 후 동작을 확인한다.
1 2
sudo systemctl restart --now code-server@$USER sudo systemctl status code-server@$USER
- chrome 브라우저에서 접속 시 이미지가 안보일 경우 하기 세팅을 수행
chrome://flags
설정 의Insecure origins treated as secure
Enable 후http://{접속IP}:{접속Port}
추가