SSH๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JupyterLab์— ์•ก์„ธ์Šค

JupyterLab ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ HTTPS ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์—†์œผ๋ฉด ํ•ญ์ƒ SSH๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

SSH ํฌํŠธ ์ „๋‹ฌ์„ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•œ ๋‹ค์Œ ๋กœ์ปฌ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด JupyterLab ์„ธ์…˜์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค.

  1. ์›ํ•˜๋Š” ํ„ฐ๋ฏธ๋„ ๋˜๋Š” Cloud Shell์—์„œ Google Cloud CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute ssh \
        --project PROJECT_ID \
        --zone ZONE \
        INSTANCE_NAME \
        -- -L 8080:localhost:8080

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  1. ๋กœ์ปฌ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด JupyterLab ์„ธ์…˜์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค.

    • ๋กœ์ปฌ ๋จธ์‹ ์—์„œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ ๊ฒฝ์šฐ https://localhost:8080์„ ๋ฐฉ๋ฌธํ•˜์—ฌ JupyterLab์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค.

    • Cloud Shell์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•œ ๊ฒฝ์šฐ ํฌํŠธ 8080์—์„œ  ์›น ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ†ตํ•ด JupyterLab์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค.

HTTPS ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์—†์„ ์ˆ˜ ์žˆ๋Š” ์ด์œ 

JupyterLab์— ๋Œ€ํ•œ HTTPS ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์–ป์œผ๋ ค๋ฉด ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ์ธ์Šคํ„ด์Šค๊ฐ€ Google Cloud ํ”„๋ก์‹œ ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค๋Š” ์‹œ์ž‘๋  ๋•Œ ํ”„๋ก์‹œ ์„œ๋น„์Šค์— ๋“ฑ๋กํ•˜๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ก์‹œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์–ป๋Š” ๋ฐ ์‹คํŒจํ•˜๋ฉด ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ์ธ์Šคํ„ด์Šค๋Š” SSH๋ฅผ ํ†ตํ•ด JupyterLab์— ์•ก์„ธ์Šคํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ JupyterLab์— ๋Œ€ํ•œ HTTPS ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์—†์„ ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ์ด์œ ์ž…๋‹ˆ๋‹ค.

  • JupyterLab ์ธ์Šคํ„ด์Šค์˜ ํ”„๋ก์‹œ ๋ชจ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ค์ •์ด ์ž˜๋ชป๋จ

  • JupyterLab ๋…ธํŠธ๋ถ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ (VMs)์˜ ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค๋ฅผ ์ฐจ๋‹จํ•˜๋„๋ก ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Œ

  • ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ์ธ์Šคํ„ด์Šค์— ์™ธ๋ถ€ IP ์ฃผ์†Œ๊ฐ€ ์—†์Œ

  • VPC ์„œ๋น„์Šค ์ œ์–ด ์„ค์ •์ด Artifact Registry์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ฐจ๋‹จํ•จ

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋ ค๋ฉด ๋…ธํŠธ๋ถ์˜ VM์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

JupyterLab ์ธ์Šคํ„ด์Šค์˜ ํ”„๋ก์‹œ ๋ชจ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ค์ •์ด ์ž˜๋ชป๋จ

๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ ๋…ธํŠธ๋ถ์„ ์‚ฌ์šฉํ•˜์—ฌ JupyterLab ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๋ฉด Vertex AI Workbench์—์„œ ํ”„๋ก์‹œ ๋ชจ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ค์ •์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ก์‹œ ๋ชจ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋ฉด ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ”„๋ก์‹œ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ”„๋ก์‹œ ๋ชจ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ค์ •์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•˜์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ์œผ๋กœ ์ด๋™

  2. ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. VM ์„ธ๋ถ€์ •๋ณด ๋ณด๊ธฐ ์˜†์—์„œ Compute Engine์—์„œ ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. VM ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„น์…˜์—์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜์—ฌ proxy-mode entryset to the correct value, for example:project_editors`๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    proxy-mode ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์˜ ๊ฐ€๋Šฅํ•œ ๊ฐ’์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

  6. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ๊ฐ€ ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค๋ฅผ ์ฐจ๋‹จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค

JupyterLab ์ธ์Šคํ„ด์Šค๋Š” ๊ณต๊ฐœ URL์„ ํ†ตํ•ด ํ”„๋ก์‹œ ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. Virtual Private Cloud ๋„คํŠธ์›Œํฌ ์„ค์ •์ด ๊ณต๊ฐœ ์ธํ„ฐ๋„ท์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ฐจ๋‹จํ•˜๊ฑฐ๋‚˜ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ด๊ทธ๋ ˆ์Šค ํŠธ๋ž˜ํ”ฝ์„ ์ฐจ๋‹จํ•˜๋Š” ๊ฒฝ์šฐ SSH๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ์ธ์Šคํ„ด์Šค์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๋„คํŠธ์›Œํฌ ๋ฐ ๋ฐฉํ™”๋ฒฝ ๊ด€๋ฆฌ์ž์™€ ํ˜‘๋ ฅํ•˜์—ฌ ๊ณต๊ฐœ ์ธํ„ฐ๋„ท์„ ํ†ตํ•œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ์ธ์Šคํ„ด์Šค์— ์™ธ๋ถ€ IP ์ฃผ์†Œ๊ฐ€ ์—†์Œ

์™ธ๋ถ€ IP ์ฃผ์†Œ ์—†์ด ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•˜์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ์œผ๋กœ ์ด๋™

  2. ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. VM ์„ธ๋ถ€์ •๋ณด ๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์„น์…˜์—์„œ ์™ธ๋ถ€ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ๋„คํŠธ์›Œํฌ๋ฅผ ํŽผ์นฉ๋‹ˆ๋‹ค.

  6. ์™ธ๋ถ€ IP ์ฃผ์†Œ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•˜๊ณ  ์›ํ•˜๋Š” ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์—†์Œ์„ ์„ ํƒํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

  7. ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์„น์…˜์—์„œ ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  8. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

VPC ์„œ๋น„์Šค ์ œ์–ด ์„ค์ •์ด Artifact Registry์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ฐจ๋‹จํ•จ

์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ์ธ์Šคํ„ด์Šค๋Š” Artifact Registry์—์„œ ๋‹ค์šด๋กœ๋“œํ•œ ์—์ด์ „ํŠธ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํ”„๋ก์‹œ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ด ์—์ด์ „ํŠธ๊ฐ€ ์—†์œผ๋ฉด ์ธ์Šคํ„ด์Šค๋Š” ํ”„๋ก์‹œ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

VPC ์„œ๋น„์Šค ์ œ์–ด ์„ค์ •์ด Artifact Registry์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๊ฒฝ์šฐ Artifact Registry ์„œ๋น„์Šค๋ฅผ VPC ์„œ๋น„์Šค ์ œ์–ด์˜ ์„œ๋น„์Šค ๊ฒฝ๊ณ„์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ฒฝ๊ณ„์˜ ์ž‘๋™ ๋ฐฉ์‹๊ณผ VPC ์„œ๋น„์Šค ์ œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

์ถ”๊ฐ€ ๋ฌธ์ œํ•ด๊ฒฐ

๊ทธ๋ž˜๋„ ์—ฐ๊ฒฐ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฐ€์ƒ ๋จธ์‹ ์˜ ์ฝ˜์†” ๋กœ๊ทธ๋ฅผ ๊ฒ€ํ† ํ•ด ๋ณด์„ธ์š”. ์ด ๋กœ๊ทธ๋Š” ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ”„๋ก์‹œ ์„œ๋น„์Šค์— ๋“ฑ๋กํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋ฅผ ์ฐพ๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋กœ๊ทธ์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•˜์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ์œผ๋กœ ์ด๋™

  2. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. ๋กœ๊ทธ์—์„œ ์ง๋ ฌ ํฌํŠธ 1(์ฝ˜์†”)์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„

๋‹ค๋ฅธ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ๋Œ€ํ•œ ๋„์›€๋ง์€ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ๋…ธํŠธ๋ถ์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.