소소한 컴퓨터 이야기

Amazon ec2 instance 기본 세팅하기

by Cori

해당 포스트에서는 ec2 Instance를 생성하고, 해당 인스턴스에 Jupyter Notebook 및 Anaconda를 설치한다.  

 

* IAM 사용자로 수행하였으며, Root 계정에 MFA 보안 설정 및 IAM 사용자 생성 관련 방법은 다음 포스팅을 참고하자.

 

[wecode Bonusweek] AWS 보안설정하기

AWS설정방법 참조 aws웹사이트 접속 회원가입을 한다. 우측 상단에 있는 내 계정 - AWS Management Console에서 로그인한다. 로그인 창에 두 종류의 로그인이 나오는데 IAM 사용자가 생성되지 않았으므로

velog.io


1. ec2 Instance 생성하기 

1) EC2 서비스 검색 -> Instace 생성 클릭

-> 저희는 Ubuntu를 사용할 예정이기 때문에, Ubuntu를 검색해준다. 

본인이 원하는 버전의 Ubuntu 인스턴스를 생성하기 

 

2) 인스턴스 유형 선택 

프리티어에서는 선택할 수 있는 인스턴스는 매우 한정적이어서, t2.micro 인스턴스를 사용한다. 검토 및 시작 클릭

 

3) 키 페어 다운로드 

 

4) 키 페어 생성 및 다운로드 

키 페어는 인스턴스 접속할 때 꼭 필요하다. 보유하고 있는 키페어가 없다면 하나 만들어주자.

키 페어 다운로드 후, 인스턴스 시작 클릭 ! 

인스턴스가 제대로 생성된 것을 확인할 수 있다.

 

2. Instace 접속하기

-> 생성한 인스턴스를 클릭해보자

퍼블릭 IPv4 주소와 앞서 다운받은 키 페어를 메모해두자

 

* 우측 상단에 보이는 작업 -> 연결을 클릭하면 접속에 필요한 정보들을 손쉽게 얻을 수 있음

 

1) 퍼블릭 IPv4 주소 & 키페어 사용하여 접속 

-> 명령 프롬프트를 실행시키고, ssh -i [키페어 주소] [사용자 이름]@[퍼블릭IP주소] 명령어를 통해 인스턴스에 접속

현재로서는 아무것도 설치되어 있지 않기 때문에, 기본적인 패키지등을 설치해주자

 

3. 기본 패키지 설치하기 (Ubuntu 명령 수행에 필요한 패기지들) 

· 패키지 업데이트 (필수 !)

$ sudo apt update 

$ sudo apt upgrade -y

$ sudo reboot

 

· 필요 패키지 설치

$ sudo apt install tree -y 

$ sudo apt install unzip -y 

$ sudo apt-get install vim 

$ sudo apt-get install gcc

$ sudo apt-get install build-essential 

$ sudo apt-get install python3-pip 

 

4. Jupyter Notebook 설치하기 

· Jupyter Notebook 설치 

$ sudo pip3 install notebook 

 

· Jupyter Notebook 비밀번호 설정 

$ python3  

-> python3 개발 환경 진입 후 다음과 같이 입력해줍니다.

* verify password 뒷부분의 'argon2: ~' 이 부분은 복사해서 따로 저장해 두어야 해요. 이후 exit() 명령으로 개발 환경을 빠져나옵니다.

 

· Jupyter Notebook 환경 설정 파일 생성 

$ jupyter notebook --generate-config

 

· 내부 네트워크 주소 획득 

-> 환경 설정 파일을 수정하기 앞서, 내부 네트워크 주소를 알아야 합니다. 

$ ifconfig 

앞서 verify password 값과 마찬가지로 inet 주소도 따로 저장해 둡시다.

 

· Jupyter Notebook 환경 설정 파일 수정 

$ sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py 

-> 여러 설정 내용들이 엄청 많이 뜹니다. 맨 아래로 이동해서, 다음과 같이 추가해주고 :wq를 이용해 빠져나옵니다. 

위에서 복사한 본인의 verify password, inet주소를 각각 c.NotebookApp.password, c.NotebookApp.ip에 넣어줍니다

 

· 방화벽 설정하기

-> Jupyter Notebook은 8888번 포트에서 실행되기 때문에, 888번 포트에 대해 방화벽을 설정해 주어야 합니다.

 

aws 홈페이지로 돌아갑니다. 

실행중인 인스턴스는 launch-wizard-2 보안 그룹을 사용중이에요. 인바운드 규칙을 편집해줍니다 .

 

보안그룹 -> 인바운드 규칙 편집 

다음과 같이 규칙을 추가하고, 저장하면 방화벽 설정이 완료되요.

 

Jupyter Notebook 실행

$ sudo jupyter-notebook --allow-root 

위와 같이 뜨면 성공 ! 

 

웹 브라우저에 public IP 주소:8888를 입력하면 다음과 같이 뜰 거에요. 

Password를 입력해주면 정상적으로 Jupyter Notebook 실행이 가능합니다.

 

5. Anaconda 설치하기

1) 리눅스 패키지 설치 

-> anaconda 사이트에서 Linux용 anaconda 설치가 필요해요. 

 

Anaconda | Individual Edition

Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

맨 아래를 보면 OS별로 설치가 가능합니다. 

Linux의 64-Bit(x86) Installer 선택하여 다운로드하면 아래 파일을 받을 수 있습니다. 

이렇게 다운받은 파일을, 저희의 amazon instance로 옮겨야 해요. 이를 위해 scp 명령을 사용할겁니다. 

 

파일 옮기기

-> scp -i [pem 파일 경로] [sh 파일 경로] [사용자이름]@[퍼블릭 IP 주소]:[옮길 경로]

인스턴스에서 ls 명령어를 통해 파일을 조회해보면 잘 전송되어 있는 것을 확인할 수 있습니다.

 

아나콘다 설치

$ bash Anaconda-3-2020.11-Linux-x86_64.sh

-> Enter 누르고 Ctrl + C 누르면 바로 경로 설정하는 화면으로 넘어간다.

 

아나콘다 환경 변수 설정

$ sudo vi ~/.bashrc 

-> bashrc 파일을 열고, 맨 마지막 줄에 다음 export 구문을 추가한 뒤에 저장하고 파일을 빠져나온다. 

 

이후 터미널에서 다음 명령어 실행 

$ source ~/.bashrc 

 

앞에 (base)가 붙는다.. conda 버전을 조회해 보자 

$ conda -V

conda가 제대로 설치된 것을 확인할 수 있다. 

 

이후 터미널을 실행할 때마다 아나콘다 프롬프트로 설정되는데, 이를 방지하기 위해 다음 명령을 수행하자.

$ conda config --set auto_activate_base False

 

* 아나콘다 프롬프트 활성화 명령어: conda activate, 비활성화 명령어: conda deactivate 

 

부가 명령어

가상환경 생성

$ conda create --name [가상환경이름] python=3.8 

 

Conda 삭제

$ conda install anaconda-clean 

$ anaconda-clean

$ rm -rf [anaconda 설치 경로] 

 

Ref

1. https://ndb796.tistory.com/250   # Jupyter 설치 

2. https://ieworld.tistory.com/12  # Anaconda 설치 

3. https://lovedh.tistory.com/entry/Linux%EC%97%90%EC%84%9C-Anaconda-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0

'CS > Server' 카테고리의 다른 글

알아두면 쓸데있는 Ubuntu 명령어 모음  (1) 2024.09.25
EC2 Setting  (2) 2024.01.03
Window 딥러닝 서버 세팅 일지  (0) 2023.02.24
Ubuntu 딥러닝 서버 세팅 일지  (0) 2023.02.06
VSCode를 이용한 Ubuntu 원격 서버 접속  (0) 2022.10.04

블로그의 정보

코딩하는 오리

Cori

활동하기