본문 바로가기
클라우드

[GCP] 구글 클라우드 기본 세팅하고 ssh로 연결하기!

by 포 키 2023. 10. 17.
728x90

 

 

어제는 AWS를 세팅하는 방법을 배웠다면, 오늘은 GCP를 세팅하는 방법을 작성하려 한다.

AWS 세팅에 대해서는 이전 포스팅을 확인하자!

[클라우드] - [AWS] 클라우드 기본 세팅하기

[클라우드] - [AWS] 아나콘다 주피터 가상 환경 설정하기

[클라우드] - [AWS] SSH config 설정하기

 

GCP를 사용하는 이유는 3개월동안 일정 금액을 무료로 지원해주기 때문이다!

AWS는 과금 폭탄을 맞는 경우들도 많다고 들었다.

GCP를 사용하면 AWS보다는 저렴한 비용으로 사용가능하기 때문에 연습용으로 좋다.

오늘 시작은 구글 클라우드 첫화면이 켜져있는 상태라고 가정하고 시작한다.

 

 

새 프로젝트 시작

먼저 홈화면에서 프로젝트 시작을 눌러준다.

 

 

조직은 없어도 무방하고, 프로젝트 이름을 원하는 이름으로 변경해준다.

이름이 너무 성의없으면 프로젝트 생성이 안될 수도 있다.

 

 

인스턴스 생성하기

새 프로젝트를 생성했다면 아래와 같이 구글 클라우드 라고 적힌 부분에 프로젝트 명이 설정될 것이다.

여기서 검색창을 눌러서 Compute Engine을 눌러줘도 되고, 메뉴바에서 찾아 눌러줘도 된다.

아래의 창이 뜬다면 인스턴스 만들기를 누르자

 

인스턴스를 생성하기 위해 어떤걸 사용할지를 골라야한다.

설명에 적힌 것을 잘 읽어보고 본인이 고성능의 대용량 메모리가 필요하면 C3D를 고르는 등 선택해주자

그리고 머신 유형에서 메모리 설정까지 해주면 옆에 월별 예상 가격이 뜰 것이다.

같은 시리즈를 선택하더라도, 메모리 크기를 다르게 설정하면 가격이 다르다.

 

 

그리고 아래에 내려서 부팅 디스크를 설정해줘야한다.

내려보면 기본 세팅은 다음과 같이 되어 있을 것이다.

 

 

나는 우분투를 기반으로 진행할 예정이다.

운영체제를 우분투로 변경한 후, 나머지는 기본 세팅값을 그대로 둔 상태로 생성했다.

 

 

마지막으로 방화벽을 아래와 같이 설정해주고 만들기를 눌러준다.

 

 

인스턴스가 생성된 것을 볼 수 있다!

 

방화벽 확인하기

위의 창에서 방화벽 규칙 설정 / 메뉴바의 방화벽 / 네트워크 세부정보 보기 중에 아무거나 눌러서 들어가주자

 

 

현재 방화벽 상태를 보면 VPC 설정이 된 것을 볼 수 잇다.

 

 

방화벽 규칙 만들기

방화벽을 확인했으면, 규칙을 만들어야 한다.

 

 

 

방화벽 규칙을 아래와 같이 세팅하는데, 소스 IPv4 범위를 아래와 같이 설정하는 이유는 모든 IP를 허용하기 위함이다.

 

 

생성되었다면 아래와 같이 내가 설정한 이름으로 해서 방화벽 규칙이 생성된 것을 볼 수 있다!

 

 

SSH 연결하기

다시 VM 인스턴스 창으로 돌아와서 SSH 옆의 화살표를 눌러 브라우저 창에서 열기를 눌러준다.

 

 

다음 명령어를 통해 경로를 이동하고 확인해주자

ls
pwd
cd ../../opt
pwd

 

미니콘다 설치하기

미니콘다를 설치하기 위해 아래 사이트의 코드를 그대로 사용할 생각이다.

 

https://docs.conda.io/projects/miniconda/en/latest/

 

Miniconda — miniconda documentation

These three commands quickly and quietly install the latest 64-bit version of the installer and then clean up after themselves. To install a different version or architecture of Miniconda for Windows, change the name of the .exe installer in the curl comma

docs.conda.io

 

이 부분의 코드를 모두 복사해오자

귀찮은 사람들은 아래 코드블록에서 복사해서 하자

 

 

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh

 

위의 코드가 모두 실행되었다면, 아래의 코드를 실행해주자

~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

 

그리고 재실행해주면 다음과 같이 창이 뜨면 다운이 성공적으로 된거다!

 

 

 

JAVA 세팅하기

위의 경로에서 아래의 코드를 복사해서 자바를 설치하자

# 미니콘다 확인용
ls
cd ../../opt/
sudo apt update
sudo apt install openjdk-8-jdk -y

 

자바 설치가 완료 되었다면, 확인하고 vi 커맨드로 설정해야한다.

history
vi ~/.bashrc

 

파일에 들어왔다면, 맨 아래로 내려가서 i를 눌러 insert가 되도록 하고 아래의 코드를 복사해서 붙여넣어주자

복붙이 끝났다면 esc 키를 누르고 :wq! 를 작성해주자

# JAVA ENV SET
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH

 

esc 키를 누르지 않고 작성하면 아래와 같이 insert가 계속 떠있는 상태니까 확인하자!

 

 

끝나면 꼭 잊지 말아야 하는 부분! 마무리를 해주자

source ~/.bashrc

 

 

스칼라 세팅하기

아래 코드를 복사해서 스칼라를 설치해주자

sudo apt-get install scala -y

 

스칼라를 설치했으면 java 설치했을 때와 똑같이 vi를 통해 파일을 편집해준다.

# SCALA ENV SET
export SCALA_HOME=/usr/bin/scala
export PATH=$SCALA_HOME/bin:$PATH

 

편집을 완료했으면 꼭!!! 아래 코드를 쳐서 마무리까지 해주자

source ~/.bashrc

 

 

스파크 세팅하기

아래 경로를 주의하면서 하나씩 코드를 입력해주자

스파크 버전은 러닝스파크 교재 버전과 동일하게 맞추기 위해 세팅한거라 달라도 된다.

(base) /opt$ sudo wget https://archive.apache.org/dist/spark/spark-3.1.1/spark-3.1.1-bin-hadoop2.7.tgz
(base) /opt$ sudo tar xvf spark-3.1.1-bin-hadoop2.7.tgz
(base) /opt$ sudo mkdir spark
(base) /opt$ sudo mv spark-3.1.1-bin-hadoop2.7/* /opt/spark/
(base) /opt$ cd spark
(base) /opt/spark$ ls

 

스파크 설치가 완료됐으면, 환경변수를 설정해주자

환경변수를 설정하기 전에 home으로 이동해서 ls를 통해 사용자 이름을 알아와야한다.

사용자 이름을 알았다는 가정하에 위에서와 동일하게 vi 편집기를 사용해 환경변수를 지정해주면 된다.

# SPARK ENV SET
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
export PYSPARK_PYTHON=/home/내 사용자 id/miniconda3/bin/python

 

마무리로 source 해주는것 꼭 잊지 말자!

 

pyspark 설치하기

다음으로 pyspark를 설치해주는데, 이 때 주의해야할 부분은 spark와 동일한 버전을 설치해주는 것이 안전하다.

pip install pyspark==3.1.1

 

 

 

주피터 노트북 설치하기

conda install jupyter notebook

 

 

주피터 노트북 설정하기

설정을 위해서는 먼저 config 파일을 생성해야한다.

jupyter notebook --generate-config

 

config 파일 생성 후, vi 편집기에서 주석처리된 부분을 수정해야한다.

vi 편집기에서 해당 부분을 찾기 위해서 / 를 누르고 검색어를 입력하면 뜨는데 그 상태로 엔터를 누르면 커서가 이동된다.

편집하려면 vi 편집기 기본 사용법대로 i를 누르면 가능하다.

vi ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.allow_root = True --> 원래는 주석처리에 False로 되어있음 대소문자 확인하기
c.NotebookApp.ip = '0.0.0.0' --> 이것 역시 주석처리에 모든 아이피 허용이 되어있지 않음

 

 

주피터 노트북 실행하기

설정이 완료됐다면, 주피터 노트북을 열어주자!

jupyter notebook

 

그러면 http 링크로 ?token=~~~이 있을텐데 ~로 표현한 부분들이 필요하다.

인스턴스 외부 ip를 복사해서 url 창에 붙여넣고, :8888 을 추가로 붙여서 주피터 화면으로 넘어가보자

그러면 토큰값을 입력하라고 뜨는데 ~ 부분을 복사해서 붙여주고, 다시 로그인할 때는 쉽게하기 위해 비번을 지정한다.

비밀번호는 그냥 숫자 4자리로도 가능하다.

 

pyspark 확인하기

주피터 노트북으로 python 파일을 만들어 pyspark 라이브러리를 확인해주자

 

 

import pyspark 
pyspark.__version__

from pyspark.sql import Row
from pyspark.sql.types import *
from pyspark.sql import SparkSession

spark = (SparkSession.builder.appName("Authors").getOrCreate())
spark

 

 

끝으로 항상 인스턴스를 사용하지 않을 때는 중지를 꼭 해야한다!

정지를 하면 비용 청구가 계속 되기 때문에 꼭 중지를 해두자!!!

 

 

728x90