Carpe diem

NLP 관련 석사 과정 재학 중 (2022.03 ~ )

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 

 

이로써 기본적인 명령어들을 수행하는데 필요한 패키지들을 설치했어요.

 

이제부터 주피터 노트북과 Conda를 설치하여, 개발에 필요한 환경을 세팅해줍니다. 

 

4. Jupyter Notebook 설치하기 

· Jupyter Notebook 설치 

⊙ sudo pip3 install notebook 

-> 이후 명령 프롬프트에 Jupyter 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 누르면 바로 경로 설정하는 화면으로 넘어갑니다. 기본 디렉토리에 설치하고 싶으면 Enter 누르고,

마지막으로 다음 화면이 나오면 yes를 입력한 후 설치를 끝냅니다. (no를 입력할 경우 conda가 쉘 스크립트를 수정하지 못한다고 

하니 주의해주세요 !) 

 

· 아나콘다 환경 변수 설정 

⊙ 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 설치 경로] 

 

* 참고 사이트:

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