์„œ๋น„์Šค ๊ฒฝ๊ณ„ ๋‚ด์—์„œ ์ธ์Šคํ„ด์Šค ์‚ฌ์šฉ

์ด ํŽ˜์ด์ง€์—์„œ๋Š” VPC ์„œ๋น„์Šค ์ œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ฒฝ๊ณ„ ๋‚ด์—์„œ Vertex AI Workbench ์ธ์Šคํ„ด์Šค๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

  1. VPC ์„œ๋น„์Šค ์ œ์–ด ๊ฐœ์š”๋ฅผ ์ฝ์–ด๋ณด์„ธ์š”.

  2. Vertex AI Workbench ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ ์ด ์ธ์Šคํ„ด์Šค๋Š” ์•„์ง ์„œ๋น„์Šค ๊ฒฝ๊ณ„ ๋‚ด์— ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  3. VPC ์„œ๋น„์Šค ์ œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค ๊ฒฝ๊ณ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ์„œ๋น„์Šค์˜ Google ๊ด€๋ฆฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“œ๋Š” ๋™์•ˆ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    1. ํ”„๋กœ์ ํŠธ๋ฅผ ์„œ๋น„์Šค ๊ฒฝ๊ณ„์— ์ถ”๊ฐ€ํ•  ๋•Œ Vertex AI Workbench ์ธ์Šคํ„ด์Šค๊ฐ€ ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    2. ์„œ๋น„์Šค๋ฅผ ์„œ๋น„์Šค ๊ฒฝ๊ณ„์— ์ถ”๊ฐ€ํ•  ๋•Œ Notebooks API๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

    ํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ ๋ฐ ์„œ๋น„์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ  ์„œ๋น„์Šค ๊ฒฝ๊ณ„๋ฅผ ๋งŒ๋“ค์—ˆ์„ ๋•Œ ์„œ๋น„์Šค ๊ฒฝ๊ณ„๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์„œ๋น„์Šค ๊ฒฝ๊ณ„ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Cloud DNS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DNS ํ•ญ๋ชฉ ๊ตฌ์„ฑ

Vertex AI Workbench ์ธ์Šคํ„ด์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Virtual Private Cloud ๋„คํŠธ์›Œํฌ์—์„œ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋Š” ๋„๋ฉ”์ธ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. VPC ๋„คํŠธ์›Œํฌ์—์„œ ์ด๋Ÿฌํ•œ ๋„๋ฉ”์ธ์œผ๋กœ ์ „์†ก๋œ ์š”์ฒญ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋ ค๋ฉด Cloud DNS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DNS ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. VPC ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฒฝ๋กœ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋„๋ฉ”์ธ์˜ ๊ด€๋ฆฌํ˜• ์˜์—ญ์„ ๋งŒ๋“ค๋ ค๋ฉด ์š”์ฒญ์„ ๋ผ์šฐํŒ…ํ•  DNS ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ํŠธ๋žœ์žญ์…˜์„ ์‹คํ–‰ํ•œ ํ›„ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” *.notebooks.googleapis.com์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ ๊ฐ๊ฐ์— ์ด๋Ÿฌํ•œ ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

Cloud Shell์—์„œ ๋˜๋Š” Google Cloud CLI๊ฐ€ ์„ค์น˜๋œ ํ™˜๊ฒฝ์—์„œ ๋‹ค์Œ Google Cloud CLI ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  1. VPC ๋„คํŠธ์›Œํฌ์—์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๋„๋ฉ”์ธ ์ค‘ ํ•˜๋‚˜์˜ ๋น„๊ณต๊ฐœ ๊ด€๋ฆฌ ์˜์—ญ์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

        gcloud dns managed-zones create ZONE_NAME \
            --visibility=private \
            --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \
            --dns-name=DNS_NAME \
            --description="Description of your managed zone"
        

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

    • ZONE_NAME: ๋งŒ๋“ค ์˜์—ญ์˜ ์ด๋ฆ„. ๋„๋ฉ”์ธ๋งˆ๋‹ค ๋ณ„๋„์˜ ์˜์—ญ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜์—ญ ์ด๋ฆ„์€ ๋‹ค์Œ ๊ฐ ๋‹จ๊ณ„์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • PROJECT_ID: VPC ๋„คํŠธ์›Œํฌ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ID
    • NETWORK_NAME: ์ด์ „์— ๋งŒ๋“  VPC ๋„คํŠธ์›Œํฌ์˜ ์ด๋ฆ„
    • DNS_NAME: *. ๋’ค์— ์˜ค๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„์˜ ์ผ๋ถ€๋กœ์„œ ๋์— ๋งˆ์นจํ‘œ๊ฐ€ ์žˆ์Œ. ์˜ˆ๋ฅผ ๋“ค์–ด *.notebooks.googleapis.com์˜ notebooks.googleapis.com.์€ DNS_NAME์ž…๋‹ˆ๋‹ค.
  2. ํŠธ๋žœ์žญ์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

        gcloud dns record-sets transaction start --zone=ZONE_NAME
        
  3. ๋‹ค์Œ DNS A ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํŠธ๋ž˜ํ”ฝ์ด Google์˜ ์ œํ•œ๋œ IP ์ฃผ์†Œ๋กœ ๋‹ค์‹œ ๋ผ์šฐํŒ…๋ฉ๋‹ˆ๋‹ค.

        gcloud dns record-sets transaction add \
            --name=DNS_NAME. \
            --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \
            --zone=ZONE_NAME \
            --ttl=300
        
  4. ๋ฐฉ๊ธˆ ์ถ”๊ฐ€ํ•œ A ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ๋‹ค์Œ DNS CNAME ๋ ˆ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋„๋ฉ”์ธ๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์ด ์ด์ „ ๋‹จ๊ณ„์—์„œ ๋‚˜์—ดํ•œ IP ์ฃผ์†Œ๋กœ ๋ฆฌ๋””๋ ‰์…˜๋ฉ๋‹ˆ๋‹ค.

        gcloud dns record-sets transaction add \
            --name=\*.DNS_NAME. \
            --type=CNAME DNS_NAME. \
            --zone=ZONE_NAME \
            --ttl=300
        
  5. ํŠธ๋žœ์žญ์…˜์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

        gcloud dns record-sets transaction execute --zone=ZONE_NAME
        
  6. ๋‹ค์Œ ๋„๋ฉ”์ธ ๊ฐ๊ฐ์— ์ด ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ณตํ•  ๋•Œ๋งˆ๋‹ค ZONE_NAME ๋ฐ DNS_NAME์„ ํ•ด๋‹น ๋„๋ฉ”์ธ์— ์ ์ ˆํ•œ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ๋งค๋ฒˆ PROJECT_ID ๋ฐ NETWORK_NAME์„ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. *.notebooks.googleapis.com์—๋Š” ์ด๋ฏธ ์ด๋Ÿฌํ•œ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค.

    • *.notebooks.googleapis.com
    • *.notebooks.cloud.google.com
    • *.notebooks.googleusercontent.com
    • *.googleapis.com: ๋‹ค๋ฅธ Google API ๋ฐ ์„œ๋น„์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์ฝ”๋“œ ์‹คํ–‰

์„œ๋น„์Šค ๊ฒฝ๊ณ„ ๊ตฌ์„ฑ

DNS ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•œ ํ›„์—๋Š” ์„œ๋น„์Šค ๊ฒฝ๊ณ„๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ๊ฒฝ๊ณ„๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์„œ๋น„์Šค ๊ฒฝ๊ณ„์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

VPC ๋„คํŠธ์›Œํฌ์—์„œ ๋‹ค์Œ ํ™‰์ด Default internet gateway์ธ 199.36.153.4/30 ๋ฒ”์œ„์˜ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ฒฝ๊ณ„ ๋‚ด์—์„œ Artifact Registry ์‚ฌ์šฉ

์„œ๋น„์Šค ๊ฒฝ๊ณ„์—์„œ Artifact Registry๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด GKE ๋น„๊ณต๊ฐœ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ์ œํ•œ๋œ ์•ก์„ธ์Šค ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ณต์œ  VPC ์‚ฌ์šฉ

๊ณต์œ  VPC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ˜ธ์ŠคํŠธ์™€ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์„œ๋น„์Šค ๊ฒฝ๊ณ„์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์—์„œ๋„ ์ปดํ“จํŒ… ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ์ž(roles/compute.networkUser) ์—ญํ• ์„ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ Notebooks ์„œ๋น„์Šค ์—์ด์ „ํŠธ์— ๋ถ€์—ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„œ๋น„์Šค ๊ฒฝ๊ณ„ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Vertex AI Workbench ์ธ์Šคํ„ด์Šค์— ์•ก์„ธ์Šค

์ƒˆ ์ธ์Šคํ„ด์Šค์—์„œ Jupyter ๋…ธํŠธ๋ถ์„ ์—ด๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ ์ธ์Šคํ„ด์Šค ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์ธ์Šคํ„ด์Šค๋กœ ์ด๋™

  2. ์ธ์Šคํ„ด์Šค ์ด๋ฆ„ ์˜†์— ์žˆ๋Š” JupyterLab ์—ด๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. JupyterLab์—์„œ ํŒŒ์ผ > ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ > ๋…ธํŠธ๋ถ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  4. ์ปค๋„ ์„ ํƒ ๋Œ€ํ™”์ƒ์ž์—์„œ ์ปค๋„์„ ์„ ํƒํ•œ ํ›„ ์„ ํƒ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ์ƒˆ ๋…ธํŠธ๋ถ ํŒŒ์ผ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค.

์ œํ•œ์‚ฌํ•ญ

Vertex AI Workbench์—์„œ VPC ์„œ๋น„์Šค ์ œ์–ด๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋‹ค์Œ ์ œํ•œ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ธ๊ทธ๋ ˆ์Šค ๋ฐ ์ด๊ทธ๋ ˆ์Šค ์ •์ฑ…์˜ ID ์œ ํ˜•

์„œ๋น„์Šค ๊ฒฝ๊ณ„์— ์ธ๊ทธ๋ ˆ์Šค ๋˜๋Š” ์ด๊ทธ๋ ˆ์Šค ์ •์ฑ…์„ ์ง€์ •ํ•  ๋•Œ๋Š” ANY_SERVICE_ACCOUNT ๋˜๋Š” ANY_USER_ACCOUNT๋ฅผ ๋ชจ๋“  Vertex AI Workbench ์ž‘์—…์˜ ID ์œ ํ˜•์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋Œ€์‹  ANY_IDENTITY๋ฅผ ID ์œ ํ˜•์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์›Œํฌ์Šคํ…Œ์ด์…˜์—์„œ Vertex AI Workbench ํ”„๋ก์‹œ์— ์•ก์„ธ์Šค

์ธํ„ฐ๋„ท ์•ก์„ธ์Šค๊ฐ€ ์ œํ•œ๋œ ์›Œํฌ์Šคํ…Œ์ด์…˜์—์„œ Vertex AI Workbench ์ธ์Šคํ„ด์Šค์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด IT ๊ด€๋ฆฌ์ž๋ฅผ ํ†ตํ•ด ๋‹ค์Œ ๋„๋ฉ”์ธ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • *.accounts.google.com
  • *.accounts.youtube.com
  • *.googleusercontent.com
  • *.kernels.googleusercontent.com
  • *.gstatic.com
  • *.notebooks.cloud.google.com
  • *.notebooks.googleapis.com

Google Cloud๋ฅผ ์ธ์ฆํ•˜๋ ค๋ฉด ์ด๋Ÿฌํ•œ ๋„๋ฉ”์ธ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๊ตฌ์„ฑ ์ •๋ณด๋Š” ์ด์ „ ์„น์…˜์ธ Cloud DNS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DNS ํ•ญ๋ชฉ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.