WEB/Server

AWS EC2๋กœ ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ - 2 [Jupyter Notebook์„ค์น˜ ๋ฐ ์—ฐ๊ฒฐ]

kite707 2021. 1. 15. 22:50

https://www.youtube.com/watch?v=VrVJWwk1YyQ&list=PLgtOJI-K1OGqhiFInA17Q3Oa9Q9HcXV_a&index=3

์ด๋ฒˆ ๊ธ€์€ ์œ„ ์˜์ƒ์—์„œ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค.

1. ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์„ค์น˜

์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์€ ์™ธ๋ถ€์—์„œ ํ•ด๋‹น ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด, ์›น ํ™˜๊ฒฝ์—์„œ ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ "ํŒŒ์ดํ”„(pip)"๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. 

์ €๋ฒˆ ๊ธ€์—์„œ ํ•ด๋‹น ํด๋”๋กœ ์ด๋™ํ•ด ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ ์‹ค์Šต๋„ ๊ฐ™์€ ํ™˜๊ฒฝ์—์„œ ์‹œ์ž‘ํ•œ๋‹ค. 

์ด๋ ‡๊ฒŒ ์ ‘์†์ด ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์„ ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •์€ ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค. 

  1. apt get์—…๋ฐ์ดํŠธ
  2. python3๋ฅผ ์ด์šฉํ•ด pip ์„ค์น˜
  3. pip๋ฅผ ์ด์šฉํ•ด ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์„ค์น˜

๋ช…๋ น์–ด๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•˜๋ ค๋ฉด ๋ณต์‚ฌํ•œ ๋’ค ์šฐํด๋ฆญ์„ ํ•˜๋ฉด ๋œ๋‹ค. ๋ณต์‚ฌ์˜ ๊ฒฝ์šฐ๋„ ํ”„๋กฌํ”„ํŠธ์ฐฝ์—์„œ ๋“œ๋ž˜๊ทธํ•œ ๋’ค ์šฐํด๋ฆญ์„ ํ•˜๋ฉด ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋จผ์ € apt get์„ ์—…๋ฐ์ดํŠธ ํ•ด๋ณด์ž. ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ์šฐ๋ถ„ํˆฌ์—์„œ๋Š” ์›น์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์šด ๋ฐ›๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ apt-get๊ณผ ๊ฐ™์€ ๋ช…๋ น์„ ์ด์šฉํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— apt get์„ ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

sudo apt-get update  //apt get์—…๋ฐ์ดํŠธ

์—…๋ฐ์ดํŠธ๊ฐ€ ์ง„ํ–‰์ค‘์ธ ๋ชจ์Šต

์ด์ œ python3๋ฅผ ์ด์šฉํ•ด pip๋ฅผ ์„ค์น˜ํ•ด๋ณด์ž. ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ตœ์‹  ์šฐ๋ถ„ํˆฌ์—๋Š” python3๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์น˜๋˜์–ด ์žˆ์–ด์„œ ์ด๋ฅผ ์ด์šฉํ•ด pip๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

sudo apt-get install python3-pip //pip์„ค์น˜

์—ฌ๊ธฐ์„œ Y๋ฅผ ์ž…๋ ฅํ•ด ๊ณ„์† ์ง„ํ–‰ํ•œ๋‹ค.
์ด ์ƒํƒœ์—์„œ ๋ฉˆ์ถฐ์žˆ์–ด์„œ ์กฐ๊ธˆ ๊ธฐ๋‹ค๋ฆฌ๋‹ค๊ฐ€ ์•„๋ฌด ํ‚ค๋‚˜ ๋ˆ„๋ฅด๋‹ˆ๊นŒ(d๋ฅผ ๋ˆ„๋ฅธ๋“ฏ..) ์•„๋ž˜์™€ ๊ฐ™์ด ๋˜์—ˆ๋‹ค.

์ด์ œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ๋งˆ์ € ์ž…๋ ฅํ•ด์ฃผ๋ฉด ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ๋‹ค.

sudo pip3 install notebook //pip๋ฅผ ์ด์šฉํ•ด ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์„ค์น˜

์„ค์น˜๊ฐ€ ์ง„ํ–‰๋˜๋Š” ๋ชจ์Šต

 

2. ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์— ๋น„๋ฐ€๋ฒˆํ˜ธ ์„ค์ •ํ•˜๊ธฐ

์ด์ œ ์•„๋ฌด๋‚˜ ์„œ๋ฒ„์— ์ ‘์†ํ•  ์ˆ˜ ์—†๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•  ๊ฒƒ์ด๋‹ค. ๋ช…๋ น์–ด๋Š” ์•„๋ž˜ ๋ช…๋ น์–ด๋“ค์„ ํ•œ์ค„์”ฉ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

python3 //python3์‹คํ–‰
from notebook.auth import passwd
passwd()

์ด๋ ‡๊ฒŒ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค

๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ’์ด ๋œฌ๋‹ค. ์ด๊ฒƒ์€ ๋‚˜์ค‘์— ํ•„์š”ํ•˜๋‹ˆ ''๊นŒ์ง€ ๋ชจ๋‘ ๋ณต์‚ฌํ•ด ์ž ์‹œ ๋ฉ”๋ชจ์žฅ์— ์ €์žฅํ•ด ๋‘๋„๋ก ํ•˜์ž.

๋“œ๋ž˜๊ทธํ•œ ๋’ค ์šฐํด๋ฆญ์œผ๋กœ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ >>>์˜†์— quit()๋ฅผ ์ž…๋ ฅํ•ด ํŒŒ์ด์ฌ ์‹คํ–‰์„ ๋ฉˆ์ถœ ์ˆ˜ ์žˆ๋‹ค. 

 

์ด์ œ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์˜ ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ์˜ ์œ„์น˜ ๊ฒฝ๋กœ๊ฐ€ ๋‚˜์˜จ๋‹ค.

jupyter notebook --generate-config

์—ฌ๊ธฐ์„œ sudo vi ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ด ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

sudo vi ํŒŒ์ผ์˜ ๊ฒฝ๋กœ
//ex
sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py

์ด๋ ‡๊ฒŒ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

 

์œ„์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฐฝ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

vi์—๋””ํ„ฐ์—์„œ๋Š” aํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ํŽธ์ง‘ ๋ชจ๋“œ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. aํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  ๊ฐ€์žฅ ์•„๋ž˜๋กœ ๋‚ด๋ ค์˜ค๋„๋ก ํ•˜์ž.

๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ•œ์ค„์”ฉ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

c=get_config()
c.NotebookApp.password = u'์•„๊นŒ ๋ณต์‚ฌํ•œ ํ‚ค(๋ธ”๋กœ๊ทธ ๊ธ€์˜ ๊ฒฝ์šฐ argon2:~~)' //๋น„๋ฐ€๋ฒˆํ˜ธ ์„ค์ •
                                                                      //u๋Š” ์œ ๋‹ˆ์ฝ”๋“œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
                                                                      
c.NotebookApp.ip = '์œ„์˜ ์ฐฝ์— ๋ณด์ด๋Š” ์ˆซ์ž (ex : 171.~~~')  //๋…ธํŠธ๋ถ ๋‚ด๋ถ€ ip์„ค์ •

์ด๋Ÿฐ์‹์œผ๋กœ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

์ด์ œ ์ž…๋ ฅํ•œ ๊ฒƒ๋“ค์„ ์ €์žฅํ•˜๊ณ  ๋‚˜์˜ค๋„๋ก ํ•˜์ž. escํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  :wq!๋ฅผ ์ž…๋ ฅํ•œ ๋’ค ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

  1. escํ‚ค ๋ˆ„๋ฅด๊ธฐ
  2. :wq!์ž…๋ ฅ
  3. ์—”ํ„ฐ

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ €์žฅํ•˜๊ณ  ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

3. ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์‹คํ–‰ํ•˜๊ธฐ

์ด์ œ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์„ ์‹คํ–‰ํ•ด๋ณด๋„๋ก ํ•˜์ž. ์•„๊นŒ ์ €์žฅํ•˜๊ณ  ๋‚˜์˜ค๋Š” ์ž‘์—…์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด ๋‹ค์‹œ ์šฐ๋ถ„ํˆฌ๋กœ ๋Œ์•„์™€ ์งˆํ…๋ฐ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

sudo jupyter-notebook --allow-root  //๋ฃจํŠธ ๊ถŒํ•œ์œผ๋กœ jupyter-notebook์‹คํ–‰

์‹คํ–‰ ์˜ˆ์‹œ

๋นจ๊ฐ„ ์ค„์ด ์ณ์ง„ ๋ถ€๋ถ„์„ ๋ณด๋ฉด ์šฐ๋ฆฌ์˜ ip์ฃผ์†Œ ๋’ค์— 8888์ด ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” 8888ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ์ธ๋ฐ AWS๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐฉํ™”๋ฒฝ์ด ์„ค์ •๋˜์–ด ์žˆ์–ด 8888ํฌํŠธ์— ๋Œ€ํ•ด ๋ฐฉํ™”๋ฒฝ ์„ค์ •์„ ํ•ด์ œํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฐฝ์„ ๋„์ง€ ์•Š๊ณ  ๋’ค์˜ ๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•˜๋„๋ก ํ•ด์•ผํ•œ๋‹ค.

 

4. AWS์—์„œ ๋ฐฉํ™”๋ฒฝ ์„ค์ • ํ•ด์ œํ•˜๊ธฐ

์šฐ์„  ๋‹ค์‹œ AWS๋กœ ๋Œ์•„์˜จ๋‹ค.

๊ฐ•์˜์™€ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์กฐ๊ธˆ ๋ฐ”๋€Œ์—ˆ๋‹ค. (๊ฐ•์˜๋Š” 19๋…„๋„์— ์ œ์ž‘๋ผ์„œ ๊ทธ๋Ÿฐ๋“ฏ..) ์•„๋ž˜๋ฒ„ํŠผ ์„ธ๋ถ€์ •๋ถ€ ์˜† ๋ณด์•ˆ์„ ํด๋ฆญํ•œ๋‹ค. 

์—ฌ๊ธฐ์„œ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘์„ ๋ˆ„๋ฅด๊ณ 

์•„๋ž˜ ํ™”๋ฉด์—์„œ ์™ผ์ชฝ ์•„๋ž˜ ๊ทœ์น™ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ ๋’ค ๋นจ๊ฐ• ๋ฐ•์Šค๊ฐ€ ์žˆ๋Š” ๋ถ€๋ถ„์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž…๋ ฅํ•˜๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ทœ์น™ ์ €์žฅ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.

5. ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์ ‘์†ํ•ด๋ณด๊ธฐ

์šฐ์„  ์•„๋ž˜ ์‚ฌ์ง„์—์„œ ํผ๋ธ”๋ฆญ ip์ฃผ์†Œ ๋’ค์— :8888์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์— ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 

์ ‘์†์ด ์ž˜ ๋˜์—ˆ๋‹ค.

์ด์ œ ์œ„ ํ™”๋ฉด์— ์•„๊นŒ ์„ค์ •ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์ž. ์•„๋ž˜์™€ ๊ฐ™์€ ์ฐฝ์ด ๋œจ๋ฉด ์„ฑ๊ณตํ•œ๊ฒƒ์ด๋‹ค. ์™ผ์ชฝ new๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ํ„ฐ๋ฏธ๋„ ์ฐฝ๋„ ๋ฐ”๋กœ ์—ด ์ˆ˜ ์žˆ๋‹ค. ์ด์ „ ๊ธ€์—์„œ ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—…์€ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

๋‹ค๋งŒ ํ˜„์žฌ๋กœ์„œ๋Š” ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์ฐฝ์„ ๋‹ซ๊ฑฐ๋‚˜ ctrl+c๋ฅผ ๋ˆ„๋ฅด๋ฉด ์„œ๋ฒ„๊ฐ€ ์ข…๋ฃŒ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์›น์—์„œ ์ฃผํ”ผํ„ฐ๋ฅผ ์ด์šฉํ•ด ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌ ํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์„œ๋ฒ„๊ฐ€ ํ•ญ์ƒ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋กœ ๋ฐ”๊พธ๋Š” ์ž‘์—…์„ ํ•  ๊ฒƒ์ด๋‹ค.

 

6. ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์„œ๋ฒ„ ํ•ญ์ƒ ์‹คํ–‰์ƒํƒœ๋กœ ๋งŒ๋“ค๊ธฐ

๋‹ค์‹œ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฐฝ์œผ๋กœ ๋Œ์•„๊ฐ€์„œ sudo jupyter-notebook --allow-root๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. 

sudo jupyter-notebook --allow-root  //๋ฃจํŠธ ๊ถŒํ•œ์œผ๋กœ jupyter-notebook์‹คํ–‰

 

 ์ดํ›„ ctrl+z๋ฅผ ๋ˆŒ๋Ÿฌ ํƒˆ์ถœํ•œ ๋’ค bg๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅธ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ˜•ํƒœ๋กœ ์„œ๋ฒ„๊ฐ€ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  disown -h๋ฅผ ์ž…๋ ฅํ•ด ์†Œ์œ ๊ถŒ์„ ํฌ๊ธฐํ•˜๋ฉด ์ž‘์—…์ด ์™„๋ฃŒ๋œ๋‹ค.

disown -h //์†Œ์œ ๊ถŒ ํฌ๊ธฐ

์ด๋ ‡๊ฒŒ ์ž…๋ ฅํ•˜๋ฉด ๋ชจ๋“  ์ž‘์—…์ด ์™„๋ฃŒ๋œ๋‹ค.

์ด์ œ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฐฝ์„ ๋„๋”๋ผ๋„ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์—์„œ ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.