๊ณต์œ  VPC ํ”„๋กœ๋น„์ €๋‹ ํ•ด์ œ

์ด ํŽ˜์ด์ง€์—์„œ๋Š” ๊ธฐ์กด ๊ณต์œ  VPC ๊ตฌ์„ฑ์˜ ํ”„๋กœ๋น„์ €๋‹์„ ํ•ด์ œํ•˜๊ณ  ๋ชจ๋“  ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๊ณต์œ  VPC ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ์—ฐ๊ฒฐ ํ•ด์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๋น„์ €๋‹ ํ•ด์ œ๋Š” ๋‹จ๋ฐฉํ–ฅ ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ๋จผ์ € ๊ณต์œ  VPC ๋ฐ ๊ณต์œ  VPC ํ”„๋กœ๋น„์ €๋‹ ํŽ˜์ด์ง€์— ์ต์ˆ™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์ž ์ž‘์—…

๊ณต์œ  VPC ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์— ์—ฐ๊ฒฐ๋œ ๊ฐ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์—์„œ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์ž๋Š” ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์ข…์† ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข…์† ํ•ญ๋ชฉ์—๋Š” ์ธ์Šคํ„ด์Šค, ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน, ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ, ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค, ์ „๋‹ฌ ๊ทœ์น™์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ฆฌ์†Œ์Šค ๊ฒฐ์ •

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

๋ฆฌ์†Œ์Šค ์‚ญ์ œ

์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์ž๊ฐ€ ํ”„๋กœ๋น„์ €๋‹ ํ•ด์ œ ํ”„๋กœ์„ธ์Šค์˜ ์˜ํ–ฅ์„ ๋ฐ›์„ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•˜๋ฉด ํ•ด๋‹น ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ด€๋ฆฌ์ž ์ž‘์—…

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐ ๋ฆฌ์ „ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•œ ํ˜ธ์ŠคํŠธ ๋˜๋Š” ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ URL ๋งต์ด ๊ณต์œ  VPC ํ™˜๊ฒฝ์˜ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ์— ์žˆ๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค (๋ฐ ๋ฐฑ์—”๋“œ)๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋จผ์ € ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ํ”„๋กœ์ ํŠธ ๊ฐ„ ์ฐธ์กฐ๊ฐ€ ์‚ญ์ œ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ด€๋ฆฌ์ž์˜ ๊ฒฝ์šฐ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด URL ๋งต์„ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ณต์œ  VPC ๊ด€๋ฆฌ์ž ์ž‘์—…

์ด ์„น์…˜์˜ ๋ชจ๋“  ์ž‘์—…์€ ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ๋ถ„๋ฆฌ

๊ณต์œ  VPC ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ๋ถ„๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฐ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ์ด ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

Google Cloud ์ฝ˜์†”์—์„œ ๊ณต์œ  VPC ํŽ˜์ด์ง€๋ฅผ ๋ณด๋ ค๋ฉด ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž ์—ญํ• ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๊ณต์œ  VPC ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
    ๊ณต์œ  VPC๋กœ ์ด๋™
  2. ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž๋กœ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ญ์ œํ•  ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. ์—ฐ๊ฒฐ๋œ ํ”„๋กœ์ ํŠธ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ถ„๋ฆฌํ•  ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  6. ํ”„๋กœ์ ํŠธ ๋ถ„๋ฆฌ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  7. ๋Œ€ํ™” ์ƒ์ž์—์„œ ์ •๋ณด๋ฅผ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.
  8. ๋ถ„๋ฆฌ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

  1. ์•„์ง ์ธ์ฆํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ gcloud๋ฅผ ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž๋กœ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. SHARED_VPC_ADMIN์„ ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž์˜ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    gcloud auth login SHARED_VPC_ADMIN
    
  2. ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค. SERVICE_PROJECT_ID๋ฅผ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID๋กœ, HOST_PROJECT_ID๋ฅผ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    gcloud compute shared-vpc associated-projects remove SERVICE_PROJECT_ID
        --host-project HOST_PROJECT_ID
    
  3. ๋‹ค์Œ ๋ช…๋ น์–ด ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ถ„๋ฆฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute shared-vpc get-host-project SERVICE_PROJECT_ID
    
    gcloud compute shared-vpc list-associated-resources HOST_PROJECT_ID
    
  4. ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋งŒ ๋ถ„๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ gcloud์—์„œ ๋กœ๊ทธ์•„์›ƒํ•˜์—ฌ ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž ๊ณ„์ • ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ ๋›ฐ๊ณ  ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉ ์ค‘์ง€๋ฅผ ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/disableXpnResource
    {
      "xpnResource": {
        "id": "SERVICE_PROJECT_ID"
      }
    }
    

    ์ž๋ฆฌํ‘œ์‹œ์ž๋ฅผ ์œ ํšจํ•œ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • HOST_PROJECT_ID๋Š” ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ID์ž…๋‹ˆ๋‹ค.
    • SERVICE_PROJECT_ID๋Š” ๋ถ„๋ฆฌํ•  ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ID์ž…๋‹ˆ๋‹ค.

    ์ž์„ธํ•œ ๋‚ด์šฉ์€ projects.disableXpnResource ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  2. ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ถ„๋ฆฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    • ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์€์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

      GET https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT_ID/getXpnHost
      

      SERVICE_PROJECT_ID๋ฅผ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

      ์ž์„ธํ•œ ๋‚ด์šฉ์€ projects.getXpnHost ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    • ๊ณต์œ  VPC ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์— ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ๋‚˜์—ดํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋” ์ด์ƒ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

      GET https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/getXpnResources
      

      HOST_PROJECT_ID๋ฅผ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

      ์ž์„ธํ•œ ๋‚ด์šฉ์€ projects.getXpnResources ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ์‚ฌ์šฉ ์ค‘์ง€

ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ๊ณต์œ  VPC๋ฅผ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๋Š” ๊ฒƒ์€ ๋ชจ๋“  ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ถ„๋ฆฌ๋œ ํ›„์—๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๊ณ  ๋‚˜๋ฉด, ์‰ฝ๊ฒŒ ์‚ญ์ œ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ์„ ์ทจ๊ถŒ์ด ์ž๋™์œผ๋กœ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

Google Cloud ์ฝ˜์†”์—์„œ ๊ณต์œ  VPC ํŽ˜์ด์ง€๋ฅผ ๋ณด๋ ค๋ฉด ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž ์—ญํ• ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. Google Cloud ์ฝ˜์†”์—์„œ ๊ณต์œ  VPC ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
    ๊ณต์œ  VPC๋กœ ์ด๋™
  2. ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž๋กœ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค.
  3. ์‚ฌ์šฉ ์ค‘์ง€ํ•  ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. ๊ณต์œ  VPC ์‚ฌ์šฉ ์ค‘์ง€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. ๋Œ€ํ™”์ƒ์ž์—์„œ ์„ค๋ช…์„ ์ฃผ์˜ ๊นŠ๊ฒŒ ์ฝ์–ด๋ณด์„ธ์š”.
  6. ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ID์— ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ID๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  7. ์‚ฌ์šฉ ์ค‘์ง€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

  1. ์•„์ง ์ธ์ฆํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ gcloud๋ฅผ ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž๋กœ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. SHARED_VPC_ADMIN์„ ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž์˜ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    gcloud auth login SHARED_VPC_ADMIN
    
  2. ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ๊ณต์œ  VPC๋ฅผ ์‚ฌ์šฉ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. HOST_PROJECT_ID๋ฅผ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    gcloud compute shared-vpc disable HOST_PROJECT_ID
    
  3. ํ”„๋กœ์ ํŠธ๊ฐ€ ๋” ์ด์ƒ ์กฐ์ง์˜ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋กœ ๋‚˜์—ด๋˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ORG_ID๋ฅผ ์กฐ์ง ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค(gcloud organizations list์—์„œ ๊ฒฐ์ •).

    gcloud compute shared-vpc organizations list-host-projects ORG_ID
    
  4. ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋งŒ ์‚ฌ์šฉ ์ค‘์ง€ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ gcloud์—์„œ ๋กœ๊ทธ์•„์›ƒํ•˜์—ฌ ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ด ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ ๋›ฐ๊ณ  ํ”„๋กœ์ ํŠธ ์‚ญ์ œ๋ฅผ ๊ณ„์† ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud auth revoke SHARED_VPC_ADMIN
    

API

  1. ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ๊ณต์œ  VPC๋ฅผ ์‚ฌ์šฉ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/disableXpnHost
    

    HOST_PROJECT_ID๋ฅผ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    ์ž์„ธํ•œ ๋‚ด์šฉ์€ projects.disableXpnHost ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  2. ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‚˜์—ดํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ชฉ๋ก์— ์—†๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    POST https://compute.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/listXpnHosts
    

    HOST_PROJECT_ID๋ฅผ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    ์ž์„ธํ•œ ๋‚ด์šฉ์€ projects.listXpnHosts ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ”„๋กœ์ ํŠธ ์‚ญ์ œ

์ด ์„น์…˜์—์„œ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ”„๋กœ์ ํŠธ ์‚ญ์ œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ๋ถ„๋ฆฌ๋œ ํ›„์— ์‚ญ์ œํ•ด์•ผ ํ•˜๋Š” ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ด ์ค‘์ง€๋˜๋ฉด ๋” ์ด์ƒ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ์‚ญ์ œ

์ผ๋ฐ˜ ํ”„๋กœ์ ํŠธ๋กœ ์œ ์ง€ํ•˜๊ฑฐ๋‚˜ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ์ข…๋ฃŒํ•˜๋ฉด ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

IAM ์ฃผ ๊ตฌ์„ฑ์›์€ ํ•ด๋‹น ์ฃผ ๊ตฌ์„ฑ์›์—๊ฒŒ ์กฐ์ง์˜ resourcemanager.projectDeleter ์—ญํ• ์ด ์žˆ๊ฑฐ๋‚˜ ํ•ด๋‹น ์ฃผ ๊ตฌ์„ฑ์›์ด ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ์†Œ์œ ์ž์ผ ๋•Œ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต์œ  VPC ๊ด€๋ฆฌ์ž๋Š” ์˜ฌ๋ฐ”๋ฅธ ์—ญํ•  ๋˜๋Š” ์†Œ์œ ๊ถŒ์ด ์žˆ์œผ๋ฉด ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ์‚ญ์ œ

๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ฐ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ ์ „์— ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ๋ถ„๋ฆฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ฃผ ๊ตฌ์„ฑ์›์—๊ฒŒ ์กฐ์ง์˜ resourcemanager.projectDeleter ์—ญํ• ์ด ์žˆ๊ฑฐ๋‚˜ ์ฃผ ๊ตฌ์„ฑ์›์ด ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ์†Œ์œ ์ž์ธ ๊ฒฝ์šฐ IAM ์ฃผ ๊ตฌ์„ฑ์›์€ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์ž๋Š” ์˜ฌ๋ฐ”๋ฅธ ์—ญํ• ์ด๋‚˜ ์†Œ์œ ๊ถŒ์ด ์žˆ๋Š” ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ•์ œ๋กœ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ์‚ญ์ œ

๊ณต์œ  VPC๊ฐ€ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ํ™œ์„ฑ ์ƒํƒœ์ธ ๋™์•ˆ ์‹ค์ˆ˜๋กœ ์‚ญ์ œ๋˜์ง€ ์•Š๋„๋ก ํ”„๋กœ์ ํŠธ์— ์„ ์ทจ๊ถŒ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ์œ ์น˜๊ถŒ์€ ํ”„๋กœ์ ํŠธ ์†Œ์œ ์ž๊ฐ€ ์ œ๊ฑฐ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ณต์œ  VPC๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•˜๋Š” ๊ฐ€์ด๋“œ๋ผ์ธ์—๋Š” ํ”„๋กœ์ ํŠธ ์„ ์ทจ๊ถŒ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” IAM ์ฃผ ๊ตฌ์„ฑ์›์„ ์ œํ•œํ•˜๋Š” ์กฐ์ง ์ •์ฑ…์„ ์ •์˜ํ•˜๋Š” ๋‹จ๊ณ„๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค์Œ ์ž‘์—…์ด ์ด ์ˆœ์„œ๋Œ€๋กœ ์™„๋ฃŒ๋œ ํ›„์— ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ๋ชจ๋“  ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ถ„๋ฆฌ๋˜์—ˆ์œผ๋ฉฐ
  • ๊ณต์œ  VPC๊ฐ€ ์‚ฌ์šฉ ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ณต์œ  VPC๊ฐ€ ์‚ฌ์šฉ ์ค‘์ง€๋˜๋ฉด ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ์„ ์ทจ๊ถŒ์ด ์ž๋™์œผ๋กœ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

์ด ์„น์…˜์—์„œ๋Š” ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋งŒ ์ด ์˜ต์…˜์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ•์ œ ์ข…๋ฃŒํ•˜๊ณ  ๊ณต์œ  VPC ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์— ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  • ๋ชจ๋“  ๊ณต์œ  VPC ๋„คํŠธ์›Œํฌ, ํ•ด๋‹น ์„œ๋ธŒ๋„ท, ๊ฒฝ๋กœ, ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™, ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ๋„คํŠธ์›Œํ‚น ๋ฆฌ์†Œ์Šค๊ฐ€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.
  • ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์— ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์—์„œ ์ธ์Šคํ„ด์Šค ์‹คํ–‰๊ณผ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค๋Š” ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค.
  • ์ „๋‹ฌ ๊ทœ์น™์ด ๊ณต์œ  VPC ๋„คํŠธ์›Œํฌ์— ์ข…์†๋˜๋Š” ๊ฒฝ์šฐ ๋‚ด๋ถ€ TCP/UDP ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์‚ฌ์šฉ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค.

gcloud

  1. ํ”„๋กœ์ ํŠธ ์„ ์ทจ๊ถŒ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” IAM ์ฃผ ๊ตฌ์„ฑ์›์œผ๋กœ gcloud๋ฅผ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. ์„ ์ทจ๊ถŒ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์„ฑ์›์„ ์ œํ•œํ•˜๋Š” ์กฐ์ง ์ •์ฑ…์ด ์žˆ๋‹ค๋ฉด, ์กฐ์ง์˜ resourcemanager.lienModifier ์—ญํ• ์ด ์žˆ๋Š” IAM ์ฃผ ๊ตฌ์„ฑ์›์œผ๋กœ ์ธ์ฆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์™€ ๊ฐ™์€ ์ •์ฑ…์ด ๋งˆ๋ จ๋˜์ง€ ์•Š์œผ๋ฉด ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ํ”„๋กœ์ ํŠธ ์†Œ์œ ์ž๊ฐ€ ์„ ์ทจ๊ถŒ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ACCOUNT๋ฅผ ์ ์ ˆํ•œ IAM ์ฃผ ๊ตฌ์„ฑ์›์˜ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    gcloud auth login ACCOUNT
    
  2. ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์— ์—ฐ๊ฒฐ๋œ ์„ ์ทจ๊ถŒ์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. HOST_PROJECT_ID๋ฅผ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    gcloud alpha resource-manager liens list \
    --project HOST_PROJECT_ID
    
  3. ์„ ์ทจ๊ถŒ์ด ์—†์„ ๋•Œ๊นŒ์ง€ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ์ด๋ฆ„๋ณ„๋กœ ์„ ์ทจ๊ถŒ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. LIEN_NAME์„(๋ฅผ) ์ œ๊ฑฐํ•  ์„ ์ทจ๊ถŒ์˜ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    gcloud alpha resource-manager liens delete LIEN_NAME \
    --project HOST_PROJECT_ID
    
  4. ๋ชจ๋“  ์„ ์ทจ๊ถŒ์ด ์ œ๊ฑฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    gcloud alpha resource-manager liens list \
    --project HOST_PROJECT_ID
    
  5. ์„ ์ทจ๊ถŒ์„ ์ œ๊ฑฐํ•œ ํ›„ gcloud์—์„œ ๋กœ๊ทธ์•„์›ƒํ•˜๋ฉด ์„ ์ทจ๊ถŒ์„ ์ œ๊ฑฐํ•  ๊ถŒํ•œ์ด ์žˆ๋Š” IAM ์ฃผ ๊ตฌ์„ฑ์›์˜ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    gcloud auth revoke ACCOUNT
    
  6. ์ด์ œ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

API

  1. ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์— ์—ฐ๊ฒฐ๋œ ์„ ์ทจ๊ถŒ์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.

    GET https://cloudresourcemanager.googleapis.com/v1/liens?parent=projects:HOST_PROJECT_ID
    

    HOST_PROJECT_ID๋ฅผ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ID๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    ์ž์„ธํ•œ ๋‚ด์šฉ์€ liens.list ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  2. ์„ ์ทจ๊ถŒ์ด ์—†์„ ๋•Œ๊นŒ์ง€ ์ด๋ฆ„๋ณ„๋กœ ๊ฐ ์„ ์ทจ๊ถŒ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

    DELETE https://cloudresourcemanager.googleapis.com/v1/liens/LIEN_NAME
    

    LIEN_NAME์„ ์‚ญ์ œํ•  ์„ ์ทจ๊ถŒ์˜ ์ด๋ฆ„์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    ์ž์„ธํ•œ ๋‚ด์šฉ์€ liens.delete ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  3. ์„ ์ทจ๊ถŒ์„ ๋‹ค์‹œ ๋‚˜์—ดํ•˜์—ฌ ์„ ์ทจ๊ถŒ์ด ์‚ญ์ œ๋˜์—ˆ์Œ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

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