728x90

1. 구글 클라우드 서버 구축하기

1) 구글 클라우드 플랫폼 접속 및 로그인

구글 클라우드 플랫폼(Google Cloud Platform)은 구글 검색과 유튜브와 같은 최종 사용자 제품을 위해 내부적으로 구글이 사용하는, 동일한 지원 인프라스트럭처 위에서 호스팅을 제공하는 구글의 클라우드 컴퓨팅 서비스이다. 클라우드 플랫폼 제공자들은 단순 웹사이트에서부터 복잡한 애플리케이션에 이르는 일련의 프로그램들을 빌드하기 위한 개발자 제품들을 제공한다.

https://cloud.google.com 해당 URL로 접속하여 GCP 무료로 시작하기를 클릭한다. 

google 아이디를 필요로 하며 12개월간 300$의 금액으로 무료 이용이 가능하다.
생성하고자 하는 인스턴스(CPU1개, 4GB RAM, 20G 스토리지) 기준으로 24시간 기동하면 10개월 정도 사용이 가능하다.


동의 및 계속하기를 눌러 계속


카드 등록을 해야 진행이 가능
인스턴스가 가동되고 있지 않으면 비용이 발생하지 않고 유료 계정으로 직접 전환해야 비용이 청구!
(무료 평가판 종료 후 자동 청구 되지 않음, 자동가입을 방지하기 위함)

2) 인스턴스 생성
화면 왼측 메뉴 -> Computing Engine -> VM인스턴스를 선택 

이후의 화면에서 "결제사용 설정" "만들기" 선택하여 인스턴스 생성 화면으로 진입한다.

이 화면에서 실습에 사용할 기준에 맞추어 만들기를 해 주면 된다. ( 아래의 내용을 참조하여 위 그림과 같이 설정한다.)

이름 : 인스턴스 이름을 정한다.
지역 : asia-northeast1(도쿄)로 설정
영역 : asia-northeast1-b 설정
머신유형 : vCPU1개 3.75GB 의 기본 설정 유지
컨테이너 : 비활성화
부팅디스크 : 변경 버튼을 눌러 Ubuntu 16.04 LTS를 선택하고 디스크 크기를 20GB로 설정
기본엑세스 허용.
방화벽 HTTP, HTTPS 트래픽 허용 활성화.

설정 완료 후 만들기 버튼을 누르면 인스턴스가 생성된다 ( 잠깐의 소요시간 필요 )

인스턴스가 만들어 지면 외부 IP 주소를 할당받게 되며 이 IP주소를 꼭 기억
이는 임시 IP이지만 고정 IP로 할당받을 수 있으며 이는 관련 자료 참조

3) 인스턴스 접속

브라우저 창에서 열기를 통해 ubuntu 16.04 os를 탑재한 인스턴에 접근한다.
이는 리눅스 터미널과 동일하며 명령어를 통해 인스턴스를 제어 할 수 있다.


2. PuTTY 접속 설정

ssh 클라이언트로 가장 많이 사용되는 PuTTY 접속을 위한 설정을 진행한다.
진행에 앞서 클라이언트와 key 생성기를 다운 받는다.
아래의 링크를 통해 OS에 맞는 프로그램을 다운로드 한다.

putty.exe (windows)
putty 32-bit Download
putty 64-bit Download

puttygen.exe(windows)
puttygen 32-bit Download
puttygen 64-bit Download

1) ssh key 생성

ssh key는 서버에 접속 할 때 비밀 번호 대신 사용하는 것으로 비밀번호보다 높은 수준의 보안성을 가진다.

key를 사용하기 위해서는 key를 생성하고 등록하는 과정이 필요하다.
먼저 키를 생성하기 위해
다운로드한 puttygen.exe를 실행하고 Generate 버튼을 클릭한다.

키 생성중에는 빈 공간에 마우스를 움직일것!


키 생성이 완료되면 위 그림을 참조하여 다음의 절차를 수행한다.

  1. 계정명 생성 (google ID, 또는 원하는 계정 이름을 생성 할 수 있다.)
  2. 암호 입력 및 확인
  3. key 내용 전체 복사
  4. Save Private key


key 저장시에는 경로에 '한글' 이 포함되지 않는 편이 좋다.

2) ssh key 등록


key 등록을 위해 GCP 페이지로 이동
왼측 상단의 메뉴 -> 'Compute Engine' -> '메타데이터'


'SSH 키' -> '수정' 클릭

'+항목추가' 를 눌러 앞서 복사한 키 데이터를 입력 후 '저장'

3) 접속)

putty.exe 실행)

)

Host Name 칸에 '계정'@'IP')
계정 : puttygen에서 생성한 계정
IP : 인스턴스 외부 IP

Connection -> SSH -> Auth로 이동하여 Key file(puttygen에서 저장한 파일) 열기
Open 버튼을 눌러서 연결


경고창은 '예(Y)'를 클릭하여 진행


비밀번호 입력(puttygen에서 입력한 패스워드)
키보드 입력을 하여도 화면상에 변화가 없지만 입력중!


연결 완료!

3. VNC 접속 설정

VNC(Virtual Network Computing, 가상 네트워크 컴퓨팅)는 컴퓨터 환경에서 RFB 프로토콜을 이용하여 원격으로 다른 컴퓨터를 제어하는 그래픽 데스크톱 공유 시스템이다. 자판과 마우스 이벤트를 한 컴퓨터에서 다른 컴퓨터로 전송시켜서 네트워크를 거쳐 그래픽 화면을 갱신하는 방식을 제공한다.

1) 설치

생성한 인스턴스는 GUI 환경이 포함되지 않은 상태이기 때문에 설치가 필요하다.
설치는 putty로 접속하여 명령어를 통해 수행한다.

패키지 저장소 업데이트

$ sudo apt-get update

GNOME 데스크탑 및 관련 패키지 설치(GUI 데스크탑 환경)

$ sudo apt-get install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal gnome-core

VNC server 설치

$ sudo apt-get install vnc4server

VNC 서버 실행 및 VNC접속에 사용할 패스워드 등록
최초 VNC 서버 실행시 ~/.vnc/xstartup 파일이 자동으로 생성

$ vncserver :1

VNC 설정을 위해 VNC 서버 종료

$ vncserver -kill :1

xstartup 파일을 아래와 같이 수정 및 저장

$nano ~/.vnc/xstartup

xstartup file 내용

#!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & x-window-manager & gnome-panel & gnome-settings-daemon & metacity & nautilus &

VNC 서버 기동 ( 해상도 1920x1080 )

$ vncserver :1 -geometry 1920x1080

2) 방화벽 설정

VNC 접속을 위해 방화벽에서 포트를 열어 주어야 한다.
방화벽 사용시 보통 특정 포트만을 설정하여 열어주지만 실습용으로 사용하기 위해 전체 포트를 열고자 한다.

인스턴스 이름 클릭

정보에서 네트워크 -> default 클릭

방화벽 규칙 -> 방화벽 규칙 만들기

방화벽 규칙 이름 및 설명 기입

설정 및 만들기

대상 : 네트워크의 모든 인스턴스
소스 IP 범위 : 0.0.0.0/0
프로토콜 및 포트 : 모두 허용



3) VNC 접속
VNC viewer download

TIGER-VNC-VIEWER Download

vncviewer-1.9.0을 실행하여 포트 번호를 포함한 인스턴스 외부 IP 주소 입력
포트 번호는 5901 ( 여러개의 계정으로 VNC 사용시 5902, 5903 ... 순차적으로 증가시켜 사용 )

vnc 접속용 패스워드 입력

4) VNC server enable (선택 사항)

인스턴스가 가동 중일 때는 실행 된 VNC server가 유지 되지만 인스턴스가 종료 후 재 시작이 되면 명령어를 통해 vncserver를 재시작 해주어야 한다.
이런 번거로움을 줄이기 위해 'systemctl' 명령을 이용하여 부팅시 자동으로 시작 되도록 설정 할 수 있다.

 

계정 확인

$ whoami

 

service 파일 생성

$ sudo nano /etc/systemd/system/vncserver-계정이름@.service

 

내용 작성 ('user' 부분을 계정 이름 으로 바꾸어 기입)

[Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=**user** PAMName=login PIDFile=/home/**user**/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target

 

vncserver 종료

$ vncserver -kill :1

 

service list update

$ sudo systemctl daemon-reload

 

enable service

$ sudo systemctl enable vncserver-계정이름@1

 

start service

$ sudo systemctl start vncserver-계정이름@1

728x90

+ Recent posts