WEB/Server

AWS EC2๋กœ ์„œ๋ฒ„ ๊ตฌ์ถ•ํ•˜๊ธฐ - 3 [Jupyter Notebook์— https์ ์šฉํ•˜๊ธฐ]

kite707 2021. 1. 16. 01:47

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

ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์— ์ ‘์†ํ•˜๋ฉด http๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. ์ง€๊ธˆ ์ƒํƒœ๋กœ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์•”ํ˜ธํ™”๋ฅผ ํ•˜์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” https๋ฅผ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ธฐ๋กํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

 

1. ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฐฝ์—์„œ ์„œ๋ฒ„ ์ ‘์†ํ•˜๊ธฐ

๋จผ์ € ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์ฐฝ์„ ๊ด€๋ฆฌ์ž ๋ชจ๋“œ๋กœ ์‹คํ–‰ํ•œ ๋’ค ์ด์ „ ๊ธ€์—์„œ ํ•œ๋Œ€๋กœ ์„œ๋ฒ„์— ์ ‘์†ํ•ด์ค€๋‹ค. 

ํ”„๋ผ์ด๋น— ํ‚ค ํŽ˜์–ด๊ฐ€ ์žˆ๋Š” ํด๋”๋กœ ์ด๋™ํ•œ ๋’ค ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

ssh -i "Tutorial.pem" ubuntu@ec2-13-124-212-229.ap-northeast-2.compute.amazonaws.com
//"Tutorial.pem"์˜ ๊ฒฝ์šฐ ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ‚คํŽ˜์–ด์˜ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ”์„œ ์ž…๋ ฅํ• ๊ฒƒ

 

2. ์‹คํ–‰์ค‘์ธ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์ข…๋ฃŒ์‹œํ‚ค๊ธฐ

์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ํ˜„์žฌ 8888ํฌํŠธ๋ฅผ ์“ฐ๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

sudo netstat -nap | grep 8888  //ํ˜„์žฌ 8888ํฌํŠธ๋ฅผ ์“ฐ๊ณ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ™•์ธ

ํ”„๋กœ์„ธ์Šค ID๊ฐ€ 19315์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค ๋ช…๋ น์–ด๋ฅผ ์ค‘์ง€์‹œํ‚ค๋Š” ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๋‚˜์˜ ๊ฒฝ์šฐ 19315๊ฐ€ ํ”„๋กœ์„ธ์Šค ID์ด๋‹ˆ ๊ทธ ๊ฐ’์„ ๋„ฃ์–ด ์ž…๋ ฅํ•˜์˜€๋‹ค. 

sudo kill -9 ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค ์•„์ด๋””
//ex
sudo kill -9 19315

์œ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์„ ์ƒˆ๋กœ๊ณ ์นจ ํ•ด๋ณด๋ฉด 

์—ฐ๊ฒฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

์‹คํ–‰ ์ข…๋ฃŒ๊ฐ€ ์ž˜ ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

3. ์‚ฌ์„ค ์ธ์ฆ์„œ ๋งŒ๋“ค๊ธฐ

๊ณต์ธ ์ธ์ฆ์„œ๊ฐ€ ์žˆ์œผ๋ฉด ์ข‹์ง€๋งŒ ์—†์œผ๋‹ˆ ์‚ฌ์„ค ์ธ์ฆ์„œ๋ฅผ ์ด์šฉํ•ด ssl์ธ์ฆ์„œ๋ฅผ ๋งŒ๋“ค์–ด https ์ ์šฉ์„ ํ•  ๊ฒƒ์ด๋‹ค. ์šฐ์„  pwd๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ํ˜„์žฌ ์œ„์น˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

pwd //ํ˜„์žฌ ์œ„์น˜ ํ™•์ธ

์ด์ œ mkdir(make directory)๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด sslํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ํด๋”๋กœ ๋“ค์–ด๊ฐ€๋„๋ก ํ•˜์ž. ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ•œ์ค„์”ฉ ์ž…๋ ฅํ•˜๋„๋ก ํ•˜์ž.

mkdir ssl //sslํด๋” ๋งŒ๋“ค๊ธฐ
cd ssl //sslํด๋”๋กœ ์ด๋™

์ด์ œ ์‚ฌ์„ค ํ‚ค๋ฅผ ์ƒ์„ฑํ•  ๊ฒƒ์ด๋‹ค. openssl์˜ ๊ฒฝ์šฐ ์šฐ๋ถ„ํˆฌ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์น˜๊ฐ€ ๋˜์–ด์žˆ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์„ค ํ‚ค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋ช…๋ น์–ด๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout "cert.key" -out "cert.pem" -batch

์˜์ƒ์—์„œ ์„ค๋ช…ํ•œ ๊ฐ ๋ช…๋ น์–ด๊ฐ€ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ด์ œ ์ € ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด keyํŒŒ์ผ๊ณผ ์ธ์ฆ์„œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 + ์•„๋ž˜์™€ ๊ฐ™์ด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ

์•„๋ž˜ ๋ณด๋ฉด Can't load~~๋กœ ์‹œ์ž‘ํ•˜๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ์ง„ํ–‰ํ•˜๋ฉด ํ›„์— ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ cert.key ํŒŒ์ผ์ด ์—†๋‹ค๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. 

์ด๊ฒƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  1. openssl.cnfํŒŒ์ผ์— ์ ‘๊ทผ
  2. openssl.cnfํŒŒ์ผ vi๋กœ ์—ด๊ธฐ
  3. 'RANDFILE=$ENV::HOME/.rnd' ๋ถ€๋ถ„ ์ฃผ์„์ฒ˜๋ฆฌ ํ•˜๊ธฐ

๋จผ์ € pwd๋ช…๋ น์–ด๋กœ ํ˜„์žฌ ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๋ฉด home/ubuntu์ด๋‹ค. ์ด๊ณณ์—๋Š” openssl.cnfํŒŒ์ผ์ด ์—†๋‹ค. cd ..๋ฅผ ๋‘๋ฒˆ ์ž…๋ ฅํ•ด์ค€๋‹ค.

๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณธ ๊ฒฐ๊ณผ openssl.cnfํŒŒ์ผ์€ ์šฐ๋ถ„ํˆฌ์˜ ๊ฒฝ์šฐ /usr/lib/ssl/openssl.cnf์— ์กด์žฌํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ํ•ด๋‹น ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜์ž. 

cd /usr/lib/ssl //openssl.cnfํŒŒ์ผ์ด ์žˆ๋Š” ํด๋”๋กœ ์ด๋™

ํ•ด๋‹น ํด๋”๋กœ ์ด๋™ํ•œ ๋’ค ls๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด openssl.cnfํŒŒ์ผ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

openssl.cnfํŒŒ์ผ์ด ์กด์žฌํ•œ๋‹ค.

์ด openssl.cnfํŒŒ์ผ์„ vi์—๋””ํ„ฐ๋กœ ์ˆ˜์ •ํ•ด ์ค„ ๊ฒƒ์ด๋‹ค. ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋„๋ก ํ•˜์ž.

sudo vi openssl.cnf

์œ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฐฝ์œผ๋กœ ๋“ค์–ด์™€์ง„๋‹ค.

์ด์ œ aํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ ์ˆ˜์ •๋ชจ๋“œ๋กœ ๋“ค์–ด๊ฐ€ RANDFILE~~๋ถ€๋ถ„์— #์„ ๋ถ™์—ฌ ์ฃผ์„ ์ฒ˜๋ฆฌ๋ฅผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  escํ‚ค๋ฅผ ๋ˆ„๋ฅธ ๋’ค :wq!๋ฅผ ์ž…๋ ฅํ•ด ์ˆ˜์ •ํ•˜๊ณ  ๋‚˜์˜ค๋„๋ก ํ•œ๋‹ค.

ํŽธ์ง‘๋ชจ๋“œ์—์„œ ๋‚˜์™€ ์•„๋ž˜์™€ ๊ฐ™์ด home/ubuntuํด๋”๋กœ ์ด๋™ํ•œ ๋’ค 3๋ฒˆ๋‹จ๊ณ„๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ๋œ๋‹ค.

์ด์ œ ์ž˜ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

 

4. ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์— ์ ์šฉ์‹œํ‚ค๊ธฐ

์ด์ œ ์ €๋ฒˆ์— ๋งŒ๋“ค์–ด ๋‘์—ˆ๋˜ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ์— ํ•ด๋‹น ์ธ์ฆ์„œ๋ฅผ ์ ์šฉํ•  ๊ฒƒ์ด๋‹ค. ๋จผ์ € cd ..๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด sslํด๋”์—์„œ ๋‚˜์˜จ ๋’ค

cd(๋„์–ด์“ฐ๊ธฐ).. ์„ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ๋กœ ์ ‘๊ทผํ•˜๋„๋ก ํ•˜์ž.

sudo vi /home/ubuntu/.jupyter/jupyter_notebook_config.py //ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ์— ์ ‘๊ทผ

๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฐฝ์ด ๋œจ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ๋Œ€๋ฌธ์ž G๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์†์‰ฝ๊ฒŒ ๋ฌธ์„œ์˜ ๊ฐ€์žฅ ์•„๋ž˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐ€์žฅ ์œ„๋กœ ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์†Œ๋ฌธ์ž gg๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ „ ๊ธ€์—์„œ ํ•œ๊ฒƒ์ฒ˜๋Ÿผ a๋ฅผ ๋ˆŒ๋Ÿฌ ์ˆ˜์ •์„ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด ํ‚คํŒŒ์ผ๊ณผ ์ธ์ฆ์„œ ํŒŒ์ผ์„ ์ ์šฉ์‹œ์ผœ์ค€๋‹ค. ๋งŒ์ผ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ผํ–ˆ๋‹ค๋ฉด ์•„๋ž˜ ๋‘์ค„์„ ๊ฐ๊ฐ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

//ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ์— ํ‚คํŒŒ์ผ, ์ธ์ฆ์„œ ํŒŒ์ผ ์ ์šฉํ•˜๊ธฐ
c.NotebookApp.certfile=u'์ธ์ฆ์„œ ํŒŒ์ผ ๊ฒฝ๋กœ'
c.NotebookApp.keyfile=u'ํ‚คํŒŒ์ผ ๊ฒฝ๋กœ'

//์˜ˆ์‹œ
c.NotebookApp.certfile=u'/home/ubuntu/ssl/cert.pem'
c.NotebookApp.keyfile=u'/home/ubuntu/ssl/cert.key'

์•„๋ž˜์™€ ๊ฐ™์ด escํ‚ค๋ฅผ ๋ˆ„๋ฅด๊ณ  :wq!๋ฅผ ์ž…๋ ฅํ•ด ์ž…๋ ฅํ•œ ๋‚ด์šฉ์„ ์ €์žฅํ•˜๊ณ  ๋‚˜์˜จ๋‹ค.

์ด์ œ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•ด๋ณด๋„๋ก ํ•˜์ž. ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

sudo jupyter-notebook --allow-root

๋ฐ‘์—์„œ ์„ธ๋ฒˆ์งธ ์ค„์„ ๋ณด๋ฉด ์›๋ž˜ http์˜€๋˜ ๋ถ€๋ถ„์ด https๋กœ ์ž˜ ๋ณ€๊ฒฝ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งŒ์•ฝ ์•„๋ž˜์™€ ๊ฐ™์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด rm๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด cert.key, cert.pemํŒŒ์ผ์„ ๋ชจ๋‘ ์ง€์šฐ๊ณ  3๋ฒˆ ์„ค๋ช… ๋’ค +๋ถ€๋ถ„์„ ๋ณด๊ณ  ์ž˜ ๋”ฐ๋ผํ•œ ๋’ค 3๋ฒˆ ๊ณผ์ •์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค.

+๋ถ€๋ถ„์œผ๋กœ ๋Œ์•„๊ฐ€์„œ ๋‹ค์‹œ ์‹œ๋„ํ•˜์ž.

5. ์ž˜ ์ ์šฉ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ

์ด์ „์— ํ–ˆ๋˜๊ฒƒ๊ณผ ๊ฐ™์ด ctrl+z๋ฅผ ๋ˆŒ๋Ÿฌ ์‹คํ–‰์„ ์ค‘์ง€ํ•œ ๋’ค bg๋ฅผ ์ž…๋ ฅํ•˜๊ณ  disown -h๋ฅผ ์ž…๋ ฅํ•ด ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์ฐฝ์„ ๋„๋”๋ผ๋„ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์„ ์‹คํ–‰์‹œ์ผœ๋ณด๋ฉด ๋”์ด์ƒ http๋กœ๋Š” ์ ˆ๋Œ€ ์‹คํ–‰์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

์•ž๋ถ€๋ถ„์— https://์„ ๋ถ™์—ฌ์ฃผ๋ฉด

๊ทธ๋ž˜๋„ ์‹คํ–‰์ด ๋˜์ง€ ์•Š๋Š”๋‹ค! ๊ณ ๊ธ‰์„ ๋ˆŒ๋Ÿฌ ~~์•ˆ์ „ํ•˜์ง€ ์•Š์Œ์œผ๋กœ ์ด๋™์„ ๋ˆ„๋ฅด๋„๋ก ํ•˜์ž.

๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ž˜ ์ ‘์†์ด ๋˜๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.