CS/Server

Amazon ec2 instance 기본 세팅하기

Cori 2024. 3. 11. 09:24

해당 포스트에서는 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