ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [GCP] GCE 인스턴스 생성하고 접속하기 + Anaconda환경에서 Jupyter Notebook설치
    개발도구 2021. 6. 12. 16:54

    구글 클라우드 플랫폼 (GCP)의 Compute Engine 가상머신(VM) 사용하기 (Window 10)

     

    구글계정이 있고 프로젝트를 생성해야 클라우드 서비스 사용가능.

     

     

     

     

     

    1. 무료 티어로 인스턴스 생성하기

    GCP 콘솔 -> Compute Engine -> VM 가상머신 -> 인스턴스 생성

     

     

    - 리전

    아이오와/ 오리건 / 사우스 캘로라이나 중 1택

    영역은 원하는거 선택 

     

    - 머신구성

    시리즈 : N1

    머신유형 : f1-micro(vCPU 1ro, 614MB 메모리)

    부팅디스크:표준 영구디스크 (30 GiB까지)

     

    Jupyter Notebook 접속을 위해 HTTP 트래픽 허용

     

    이번 달 720시간 내에 무료 사용이라고 안내가 뜨면 무료사용가능

     

     

    2. SSH 접속을 위한 인스턴스 설정

    참고

    https://cloud.google.com/compute/docs/instances/connecting-advanced#thirdpartytools (구글 클라우드 문서)

    https://www.configserverfirewall.com/windows-10/putty-server-refused-our-key/ (SSH 트러블슈팅)

     

     

     

    • 외부 IP 고정하기

    인스턴스 항목에서 네트워크 세부정보 클릭 -> 외부 IP 주소 탭 클릭 -> 유형을 고정으로 변경

     

    • 방화벽 포트 열기

    인스턴스 항목에서 네트워크 세부정보 클릭 -> 방화벽 탭 클릭 -> 원하는 방화벽 규칙

    ex) IP 범위 0.0.0.0/0   허용포트 : tcp/8080

    대상은 네트워크 모든인스턴스

     

    기본적으로 GCP 는 브라우저 콘솔화면에서 SSH 접속을 제공한다

     

    Window 환경에서 SSH 클라이언트로 PuTTY 사용했다

     

    • Puttygen 으로 SSH 접속을위한 키페어 생성(pubilc키 - private키)

     

    Generate 클릭 -> 프로그레스바 영역에서 마우스 무빙 -> 키페어 생성

    각 항목은 원하는대로 키 주석과 키 비밀번호 입력

    Save private key 클릭 -> 원하는 위치에 저장 

     

    Key 텍스트박스의 ssh-rsa ~~ 이부분이 Public Key이므로 드래그해서 복사한다

     

    • 인스턴스에 SSH 키로 Public키 메타데이터 추가 

    구글은 OS 로그인을 권장하지만 여기서는 별도의 SSH 클라이언트로 접속하기위해 인스턴스 메타데이터를 편집한다

     

    두가지 설정 중 1택

    - 프로젝트 범위로 메타데이터 설정하기

    Compute Engine->메타데이터->SSH키->SSH키 추가->Public키 붙여넣기 (이름은 자동으로 입력됨) -> 저장

     

    - 해당 인스턴스에만 적용되도록 메타데이터 설정하기 

    VM 인스턴스 -> 원하는 인스턴스 클릭 -> 수정하기 -> SSH 공개키값 추가하고 저장

     

     

    • 인스턴스 서버에 공개키 값 추가하기 

    ~ 명령으로 유저의 홈디렉토리 위치 확인

    cd ~/ 명령으로 홈디렉토리로 이동 

    pwd 명령으로 현재 위치 확인하기

    /home/유저이름 이 출력된다.

    나중에 Putty로 유저이름@외부IP 로 접속한다

     

    공개 키값을 저장할 디렉토리(.ssh) 생성 후 파일 생성(authorized_keys)

    VI 에디터로 편집하기 

    mkdir ~/.ssh
    touch ~/.ssh/authorized_keys
    vi ~/.ssh/authorized_keys

    i, a, o 중 하나 눌러서 입력모드로 전환

     

    아까 복사한 public키 붙여넣고 esc 누른후 :wq! 적고 저장

     

     

     

     

    3,. Putty로 접속하기 

     

    Session 탭에서 유저이름@외부IP 입력 Port는 22

    이때 유저이름은 GCE 머신 home 디렉토리에 위치한 user 디렉토리 명과 같다

     

    Connection->SSH->Auth 탭에서 Private Key 저장한 경로 설정 

    그 후 Open을 누른다

     

    설정한 Key의 keyphrase 값 입력 

     

     

     

    접속 완료!

     

     

     

    3. 웹브라우저 환경으로 서버 접속을 위해 Jupyter Notebook 사용하기

     

    • 아나콘다 설치
    wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh

    https://repo.anaconda.com/archive/ 여기서 환경과 버전에 맞춰 링크 주소 복사

     

     

     

     

     

     

    ※도중에 만날 수 있는 트러블슈팅

     

    Jupyter 설정하고 실행 -> Failed to load resource: net::ERR_BLOCKED_BY_CLIEN

    해결 : 브라우저에서 AddBlock이 적용된 문제

    AddBlock 설정에서 해당 주소 적용 해제

     

    ssl 적용하려고 openssl로 키페어 생성함 -> 주피터 실행

    PermissionError: [Errno 13] Permission denied

    해결:  생성한 키파일 권한 설정

    chmod 775 키파일이름
    

     

     

    시스템 등록

    $sudo vi /etc/systemd/system/jupyter.service     # 서비스 파일 작성

     

    파일 작성

    [Unit]
    Description=Jupyter Notebook Server
    
    [Service]
    Type=simple
    User=유저이름
    ExecStart=/usr/bin/sudo /home/유저이름/.jupyter/anaconda3/bin/jupyter-notebook --allow-root --config=/home/ubuntu/.jupyter/jupyter_notebook_config.py
    
    [Install]
    WantedBy=multi-user.target

    주피터 설치경로는 whereis jupyter-notebook 명령으로 확인 

     

    시스템 등록 및 실행 

    $sudo systemctl daemon-reload  	    # 시스템 데몬 실행
    $sudo systemctl enable jupyter		# 주피터 서비스 사용가능상태 만들기 
    $sudo systemctl start jupyter		# 주피터 서비스 항상 실행시키기
    $sudo systemctl status jupyter		# 실행중인 주피터 서비스 확인하기

     

     

Designed by Tistory.