์ธ์Šคํ„ด์Šค ๋ฐ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์— IPv6 ๊ตฌ์„ฑ


์ธ์Šคํ„ด์Šค๊ฐ€ ์—ฐ๊ฒฐ๋œ ์„œ๋ธŒ๋„ท์— IPv6 ๋ฒ”์œ„๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉด Compute Engine ์ธ์Šคํ„ด์Šค์— IPv6 ์ฃผ์†Œ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IPv6์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ IPv6 ์„œ๋ธŒ๋„ท ๋ฒ”์œ„๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์‚ฌ์–‘

  • IPv4 ๋ฐ IPv6 ๊ตฌ์„ฑ์„ ๋‘˜ ๋‹ค ํฌํ•จํ•˜๋Š” ์ปดํ“จํŒ… ์ธ์Šคํ„ด์Šค๋Š” ์ด์ค‘ ์Šคํƒ์ž…๋‹ˆ๋‹ค. IPv6 ์ฃผ์†Œ๋Š” ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— ๊ตฌ์„ฑ๋œ IPv4 ์ฃผ์†Œ์— ์ถ”๊ฐ€๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

  • ์ด์ค‘ ์Šคํƒ ๋˜๋Š” IPv6 ์ „์šฉ ์ธ์Šคํ„ด์Šค์˜ ์ธํ„ฐํŽ˜์ด์Šค์—๋Š” IPv6 ์ฃผ์†Œ์˜ ๋‹จ์ผ /96 ๋ฒ”์œ„๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋ฒ”์œ„ ์•ˆ์˜ ์ฒซ ๋ฒˆ์งธ IPv6 ์ฃผ์†Œ(/128)๋Š” ์ธํ„ฐํŽ˜์ด์Šค์— ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • ์ธ์Šคํ„ด์Šค์˜ ๋ชจ๋“  ์ธํ„ฐํŽ˜์ด์Šค์— IPv6 ์ฃผ์†Œ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์ค‘ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์ค‘ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • VM์˜ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์Šคํƒ ์œ ํ˜•์— ๋”ฐ๋ผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ธŒ๋„ท ์œ ํ˜•์ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

    • IPv4 ์ „์šฉ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ด์ค‘ ์Šคํƒ ๋ฐ IPv4 ์ „์šฉ ์„œ๋ธŒ๋„ท์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ด์ค‘ ์Šคํƒ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ด์ค‘ ์Šคํƒ ์„œ๋ธŒ๋„ท์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • IPv6 ์ „์šฉ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ด์ค‘ ์Šคํƒ ๋ฐ IPv6 ์ „์šฉ ์„œ๋ธŒ๋„ท์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(ํ”„๋ฆฌ๋ทฐ).
  • ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— IPv6 ์ฃผ์†Œ๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ด์ค‘ ์Šคํƒ ๋˜๋Š” IPv6 ์ „์šฉ ์„œ๋ธŒ๋„ท(ํ”„๋ฆฌ๋ทฐ)์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์„œ๋ธŒ๋„ท์˜ IPv6 ์•ก์„ธ์Šค ์œ ํ˜• ๊ตฌ์„ฑ์— ๋”ฐ๋ผ ์„œ๋ธŒ๋„ท์— ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€ IPv6 ๋ฒ”์œ„๊ฐ€ ํฌํ•จ๋˜๋Š”์ง€ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์—ฐ๊ฒฐ๋œ ์ธ์Šคํ„ด์Šค๋Š” ์„œ๋ธŒ๋„ท์—์„œ IPv6 ์•ก์„ธ์Šค ์œ ํ˜•์„ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค.

  • IPv6 ์ „์šฉ ์ธ์Šคํ„ด์Šค(ํ”„๋ฆฌ๋ทฐ)๋Š” Ubuntu ๋ฐ Debian OS์—์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์— ์•ก์„ธ์Šค

์•”์‹œ์  IPv6 ๊ฑฐ๋ถ€ ์ธ๊ทธ๋ ˆ์Šค ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์€ ํ•ด๋‹น IPv6 ์ฃผ์†Œ๋กœ ๋“ค์–ด์˜ค๋Š” ์—ฐ๊ฒฐ์„ ์ฐจ๋‹จํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค. IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋” ๋†’์€ ๊ทœ์น™์ด ์ˆ˜์‹  ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ VPC ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋ฐ ๊ณ„์ธต์  ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

VPC ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ์˜ˆ์‹œ๋Š” ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๊ตฌ์„ฑ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

IPv6 ์ฃผ์†Œ ํ• ๋‹น

๋‹ค์Œ ๋ชฉ๋ก์—์„œ๋Š” IPv6 ์ฃผ์†Œ๊ฐ€ ์ปดํ“จํŒ… ์ธ์Šคํ„ด์Šค์— ํ• ๋‹น๋˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • ์ปดํ“จํŒ… ์ธ์Šคํ„ด์Šค์—๋Š” DHCPv6์„ ์‚ฌ์šฉํ•˜์—ฌ IPv6 ์ฃผ์†Œ๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„œ๋ฒ„๋Š” ์ธ์Šคํ„ด์Šค์˜ DHCPv6 ์š”์ฒญ์— ์‘๋‹ตํ•˜๊ณ  ์‘๋‹ต์—์„œ ํ• ๋‹น๋œ /96 ๋ฒ”์œ„์˜ ์ฒซ ๋ฒˆ์งธ IPv6 ์ฃผ์†Œ(/128)๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„œ๋ฒ„๋Š” ๊ฒฝ๋กœ ๊ณต์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ๊ฒฝ๋กœ๋ฅผ ์ธ์Šคํ„ด์Šค์— ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ํ›„ ์ธ์Šคํ„ด์Šค๋Š” ๋ชจ๋“  IPv6 ํŠธ๋ž˜ํ”ฝ์— ์ด ๊ธฐ๋ณธ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ณ  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„œ๋ฒ„์—์„œ gateway-ipv6 ํ•ญ๋ชฉ์„ ์ฟผ๋ฆฌํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์˜ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/gateway-ipv6 -H "Metadata-Flavor: Google"
    

    ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ์Šคํ„ด์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ณด๊ธฐ ๋ฐ ์ฟผ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • ์ปดํ“จํŒ… ์ธ์Šคํ„ด์Šค๋Š” fe80::/10 ๋ฒ”์œ„์—์„œ ํ• ๋‹น๋œ ๋งํฌ ๋กœ์ปฌ IP ์ฃผ์†Œ๋กœ ๊ตฌ์„ฑ๋˜์ง€๋งŒ ์ด์›ƒ ๊ฒ€์ƒ‰์—๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์ธ์Šคํ„ด์Šค์˜ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ MTU ๊ตฌ์„ฑ์€ IPv4 ๋ฐ IPv6 ํŒจํ‚ท ๋ชจ๋‘์— ์ ์šฉ๋˜์ง€๋งŒ ๋ชจ๋“  ์ƒํ™ฉ์—์„œ ๋ชจ๋“  MTU ๊ฐ’์ด ์ง€์›๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ตœ๋Œ€ ์ „์†ก ๋‹จ์œ„๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ

IPv4 ์ฃผ์†Œ์™€ IPv6 ์ฃผ์†Œ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ์ธ์Šคํ„ด์Šค(์ด์ค‘ ์Šคํƒ)๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ IPv6 ์ฃผ์†Œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Compute Engine ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ํƒœ์Šคํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ธ์Šคํ„ด์Šค์˜ ์Šคํƒ ์œ ํ˜• ๋ณ€๊ฒฝ

๊ธฐ์กด Compute Engine ์ธ์Šคํ„ด์Šค์˜ ์Šคํƒ ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํƒ ์œ ํ˜•์€ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • IPv4๋งŒ(๋‹จ์ผ ์Šคํƒ)
  • IPv4 ๋ฐ IPv6(์ด์ค‘ ์Šคํƒ)

์Šคํƒ ์œ ํ˜•์„ ์ด์ค‘ ์Šคํƒ์œผ๋กœ ๋ณ€๊ฒฝํ•  ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ด์ค‘ ์Šคํƒ ์„œ๋ธŒ๋„ท์— ์—ฐ๊ฒฐ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค๊ฐ€ ์—ฐ๊ฒฐ๋œ ์„œ๋ธŒ๋„ท์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ์„œ๋ธŒ๋„ท์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ธŒ๋„ท์ด ์—…๋ฐ์ดํŠธ๋œ ํ›„ ์ธ์Šคํ„ด์Šค์˜ IP ์Šคํƒ ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IPv6 ์ „์šฉ ์ธ์Šคํ„ด์Šค(ํ”„๋ฆฌ๋ทฐ)์˜ ์Šคํƒ ์œ ํ˜•์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. VM ์ธ์Šคํ„ด์Šค ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

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

  2. IPv6 ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•˜๋ ค๋Š” ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ์ธ์Šคํ„ด์Šค ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

    1. ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ˆ˜์ •ํ•  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.
    3. IP ์Šคํƒ ์œ ํ˜• ์„ ํƒ: IPv4๋งŒ(๋‹จ์ผ ์Šคํƒ) ๋˜๋Š” IPv4 ๋ฐ IPv6(์ด์ค‘ ์Šคํƒ).
    4. ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud compute instances network-interfaces update ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์˜ ์Šคํƒ ์œ ํ˜•์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

gcloud compute instances network-interfaces update INSTANCE_NAME \
    --stack-type=STACK_TYPE \
    --zone=ZONE

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

  • INSTANCE_NAME: ์ธ์Šคํ„ด์Šค ์ด๋ฆ„
  • STACK_TYPE: ์ธ์Šคํ„ด์Šค์˜ ์Šคํƒ ์œ ํ˜•(IPV4_ONLY ๋˜๋Š” IPV4_IPV6)
  • ZONE: ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฐฐํฌ๋œ ์˜์—ญ

REST

instances.updateNetworkInterface ๋ฉ”์„œ๋“œ์— PATCH ์š”์ฒญ์„ ์ „์†กํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์˜ ์Šคํƒ ์œ ํ˜•์„ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateNetworkInterface

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

  • PROJECT_ID: ์ธ์Šคํ„ด์Šค๊ฐ€ ํฌํ•จ๋œ ํ”„๋กœ์ ํŠธ์˜ ID
  • ZONE: ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฐฐํฌ๋œ ์˜์—ญ
  • INSTANCE_NAME: ์ธ์Šคํ„ด์Šค ์ด๋ฆ„

์š”์ฒญ ๋ณธ๋ฌธ ์˜ˆ์‹œ:

{
    "stackType": "STACK_TYPE",
}

STACK_TYPE์„ ์ธ์Šคํ„ด์Šค์˜ ์Šคํƒ ์œ ํ˜•์ธ IPV4_ONLY ๋˜๋Š” IPV4_IPV6๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

IPv6 ์ฃผ์†Œ๋กœ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ ๋งŒ๋“ค๊ธฐ

์ด์ค‘ ์Šคํƒ ๋˜๋Š” IPv6 ์ „์šฉ(ํ”„๋ฆฌ๋ทฐ) ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์ „ ๋˜๋Š” ์ „์—ญ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค๋ ค๋ฉด Google Cloud CLI ๋˜๋Š” REST๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

gcloud

๋ฆฌ์ „ ๋˜๋Š” ์ „์—ญ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค๋ ค๋ฉด gcloud compute instance-templates create ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์ „ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค๋ ค๋ฉด --instance-template-region ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์˜ ๋ฆฌ์ „์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” ์ „์—ญ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

gcloud compute instance-templates create TEMPLATE_NAME \
    --subnet=SUBNET \
    --stack-type=STACK_TYPE

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

  • TEMPLATE_NAME: ํ…œํ”Œ๋ฆฟ์˜ ์ด๋ฆ„
  • SUBNET: IPv6 ์„œ๋ธŒ๋„ท ๋ฒ”์œ„๊ฐ€ ์žˆ๋Š” ์„œ๋ธŒ๋„ท
  • STACK_TYPE: ์Šคํƒ ์œ ํ˜•. ์ด์ค‘ ์Šคํƒ ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ IPV4_IPV6์ด๊ณ  ์™ธ๋ถ€ IPv6 ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š” ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ IPV6_ONLY์ž…๋‹ˆ๋‹ค.

REST

๋ฆฌ์ „ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค๋ ค๋ฉด regionInstanceTemplates.insert ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ „์—ญ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค๋ ค๋ฉด instanceTemplates.insert ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” ์ „์—ญ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

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

์š”์ฒญ ๋ณธ๋ฌธ ์˜ˆ์‹œ:

{
  "name": "INSTANCE_TEMPLATE_NAME"
  "properties": {
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "subnetwork": "regions/REGION/subnetworks/SUBNET",
        "stackType": "STACK_TYPE",
      },
    ],
    "disks":
    [
      {
        "type": "PERSISTENT",
        "boot": true,
        "mode": "READ_WRITE",
        "initializeParams":
        {
          "sourceImage": "IMAGE_URI"
        }
      }
    ]
  }
}

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

  • INSTANCE_TEMPLATE_NAME: ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์˜ ์ด๋ฆ„
  • MACHINE_TYPE: ์ธ์Šคํ„ด์Šค์˜ ๋จธ์‹  ์œ ํ˜•(์˜ˆ: c3-standard-4)
  • SUBNET: IPv6 ์„œ๋ธŒ๋„ท ๋ฒ”์œ„๊ฐ€ ์žˆ๋Š” ์„œ๋ธŒ๋„ท
  • REGION: ์„œ๋ธŒ๋„ท์˜ ๋ฆฌ์ „
  • IMAGE_URI: ์‚ฌ์šฉํ•˜๋ ค๋Š” ์ด๋ฏธ์ง€์˜ URI

    ์˜ˆ๋ฅผ ๋“ค์–ด "sourceImage": "projects/debian-cloud/global/images/family/debian-12"๋ฅผ ์ง€์ •ํ•˜๋ฉด Compute Engine์€ Debian 12 ์ด๋ฏธ์ง€ ๊ณ„์—ด์˜ ์ตœ์‹  ๋ฒ„์ „ ์šด์˜์ฒด์ œ ์ด๋ฏธ์ง€์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์š”์ฒญ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ instanceTemplates.insert ๋ฉ”์„œ๋“œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.