Terraform์œผ๋กœ Compute Engine ๋ฆฌ์†Œ์Šค ํ”„๋กœ๋น„์ €๋‹

HashiCorp Terraform์€ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ฝ”๋“œํ˜• ์ธํ”„๋ผ(IaC) ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. Terraform์€ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด ๋ฐ ๊ธฐํƒ€ API์™€ ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ œ๊ณต์—…์ฒด๋ผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Google Cloud์šฉ Terraform ์ œ๊ณต์—…์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Compute Engine์„ ๋น„๋กฏํ•œ Google Cloud ๋ฆฌ์†Œ์Šค๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€์—์„œ๋Š” Terraform ์ž‘๋™ ๋ฐฉ์‹์— ๊ด€ํ•œ ์†Œ๊ฐœ์™€ Google Cloud์—์„œ Terraform์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฆฌ์†Œ์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ Compute Engine์—์„œ Terraform์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. Compute Engine์šฉ Terraform ์ฐธ์กฐ ๋ฌธ์„œ, ์ฝ”๋“œ ์˜ˆ์‹œ, Terraform์„ ์‚ฌ์šฉํ•˜์—ฌ Compute Engine ๋ฆฌ์†Œ์Šค๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ๊ฐ€์ด๋“œ ๋งํฌ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Google Cloud์šฉ Terraform์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์•ˆ๋‚ด๋Š” Terraform ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ ๋˜๋Š” Google Cloud ์šฉ Terraform ๋น ๋ฅธ ์‹œ์ž‘์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

Terraform ์ž‘๋™ ๋ฐฉ์‹

Terraform์—๋Š” ๊ตฌ์„ฑ ์ค‘์‹ฌ์˜ ์„ ์–ธ์ ์ธ ๊ตฌ๋ฌธ์ด ์žˆ์œผ๋ฉฐ, ์ด ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ Google Cloud ํ”„๋กœ์ ํŠธ์—์„œ ํ”„๋กœ๋น„์ €๋‹ํ•˜๋ ค๋Š” ์ธํ”„๋ผ๋ฅผ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Terraform ๊ตฌ์„ฑ ํŒŒ์ผ ํ•˜๋‚˜ ์ด์ƒ์—์„œ ์ด ๊ตฌ์„ฑ์„ ์ž‘์„ฑํ•œ ํ›„ Terraform CLI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๊ตฌ์„ฑ์„ Compute Engine ๋ฆฌ์†Œ์Šค์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„์—์„œ๋Š” Terraform์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  1. Terraform ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ํ”„๋กœ๋น„์ €๋‹ํ•  ์ธํ”„๋ผ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ธํ”„๋ผ๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. Terraform์ด ์ธํ”„๋ผ๋ฅผ ์ž๋™์œผ๋กœ ํ”„๋กœ๋น„์ €๋‹ํ•ฉ๋‹ˆ๋‹ค.
  2. terraform plan ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋Š” ๊ตฌ์„ฑ์„ ํ‰๊ฐ€ํ•˜๊ณ  ์‹คํ–‰ ๊ณ„ํš์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ณ„ํš์„ ๊ฒ€ํ† ํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. terraform apply ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    1. ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ํ•ด๋‹น Compute Engine API๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์‹คํ–‰ ๊ณ„ํš์— ๋”ฐ๋ผ ์ธํ”„๋ผ๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•ฉ๋‹ˆ๋‹ค.
    2. ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์‹ค์ œ ์ธํ”„๋ผ์˜ ๋ฆฌ์†Œ์Šค์— ๋งคํ•‘ํ•˜๋Š” JSON ํŒŒ์ผ์ธ Terraform ์ƒํƒœ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. Terraform์€ ์ด ํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ”„๋ผ์˜ ์ตœ์‹  ์ƒํƒœ๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œํ•  ์‹œ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
    3. terraform apply๋ฅผ ์‹คํ–‰ํ•˜๋ฉด Terraform์€ ์ƒํƒœ ํŒŒ์ผ์˜ ๋งคํ•‘์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ์™€ ๋น„๊ตํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

      • ๋ฆฌ์†Œ์Šค ๊ฐ์ฒด๊ฐ€ ๊ตฌ์„ฑ ํŒŒ์ผ์— ์ •์˜๋˜์–ด ์žˆ์ง€๋งŒ ์ƒํƒœ ํŒŒ์ผ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ Terraform์ด ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
      • ๋ฆฌ์†Œ์Šค ๊ฐ์ฒด๊ฐ€ ์ƒํƒœ ํŒŒ์ผ์— ์žˆ์ง€๋งŒ ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ๊ตฌ์„ฑ๊ณผ ๋‹ค๋ฅธ ๊ฒฝ์šฐ Terraform์€ ๊ตฌ์„ฑ ํŒŒ์ผ๊ณผ ์ผ์น˜ํ•˜๋„๋ก ๋ฆฌ์†Œ์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
      • ์ƒํƒœ ํŒŒ์ผ์˜ ๋ฆฌ์†Œ์Šค ๊ฐ์ฒด๊ฐ€ ๊ตฌ์„ฑ ํŒŒ์ผ๊ณผ ์ผ์น˜ํ•˜๋ฉด Terraform์€ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‘ก๋‹ˆ๋‹ค.

Compute Engine์šฉ Terraform ๋ฆฌ์†Œ์Šค

๋ฆฌ์†Œ์Šค๋Š” Terraform ์–ธ์–ด์˜ ๊ธฐ๋ณธ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๊ฐ ๋ฆฌ์†Œ์Šค ๋ธ”๋ก์€ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ๋˜๋Š” ์ปดํ“จํŒ… ์ธ์Šคํ„ด์Šค์™€ ๊ฐ™์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ์ธํ”„๋ผ ๊ฐ์ฒด๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—๋Š” Compute Engine์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Terraform ๋ฆฌ์†Œ์Šค๊ฐ€ ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

Terraform ๋ฆฌ์†Œ์Šค Terraform ๋ฐ์ดํ„ฐ ์†Œ์Šค

Compute Engine์šฉ Terraform ๊ธฐ๋ฐ˜ ๊ฐ€์ด๋“œ

๋‹ค์Œ ํ‘œ์—๋Š” Compute Engine์— ๋Œ€ํ•œ Terraform ๊ธฐ๋ฐ˜ ์•ˆ๋‚ด ๊ฐ€์ด๋“œ ๋ฐ ํŠœํ† ๋ฆฌ์–ผ์ด ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์ด๋“œ ์„ธ๋ถ€์ •๋ณด
Compute Engine ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ ๋ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๊ฐ€์ƒ ๋จธ์‹ (VM) ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
๋กœ์ปฌ SSD ๋””์Šคํฌ๋กœ VM ๋งŒ๋“ค๊ธฐ ๋กœ์ปฌ SSD ๋””์Šคํฌ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ VM์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
๋””์Šคํฌ ์Šค๋ƒ…์ƒท ๋งŒ๋“ค๊ธฐ ํ‘œ์ค€ ์Šค๋ƒ…์ƒท์„ ๋งŒ๋“ค์–ด ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐฑ์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
ํด๋ก ์œผ๋กœ ๋””์Šคํฌ ๋ณต์ œ ๊ธฐ์กด ๋””์Šคํฌ์˜ ์˜์—ญ ๋””์Šคํฌ ํด๋ก ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
๋ฆฌ์ „ ๋””์Šคํฌ ๋งŒ๋“ค๊ธฐ ๋ฐ ๊ด€๋ฆฌ ๋ฆฌ์ „ ๋””์Šคํฌ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
Spot VM ๋งŒ๋“ค๊ธฐ ๋ฐ ์‚ฌ์šฉ ์ŠคํŒŸ VM์„ ๋งŒ๋“ค๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ŠคํŒŸ VM์€ Compute Engine ์šฉ๋Ÿ‰์„ ์ดˆ๊ณผํ•˜๋Š” VM ์ธ์Šคํ„ด์Šค์ž…๋‹ˆ๋‹ค. ์ŠคํŒŸ VM์€ ํ‘œ์ค€ VM์˜ ์ฃผ๋ฌธํ˜• ๊ฐ€๊ฒฉ์— ๋น„ํ•ด ํ›จ์”ฌ ์ €๋ ดํ•œ ๊ฐ€๊ฒฉ์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
VM์— SSH ํ‚ค ์ถ”๊ฐ€ OS ๋กœ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๋Š” VM ์ธ์Šคํ„ด์Šค ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ SSH ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” VM์— SSH ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์ข…๋ฃŒ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ VM ์ธ์Šคํ„ด์Šค๊ฐ€ ์ค‘์ง€๋˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ธฐ ๋ฐ”๋กœ ์ „์— ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ข…๋ฃŒ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
๋‹จ์ผ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์˜ˆ์•ฝ ๋งŒ๋“ค๊ธฐ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์˜ VM ์ธ์Šคํ„ด์Šค์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์ผ ํ”„๋กœ์ ํŠธ ์˜ˆ์•ฝ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ ๋งŒ๋“ค๊ธฐ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์ผ์ •์„ ๊ธฐ์ค€์œผ๋กœ ํ™•์žฅ ๊ธฐ์กด MIG์˜ ํ™•์žฅ ์ผ์ •์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ผ์ • ๊ธฐ๋ฐ˜ ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ์˜ˆ์ƒ๋˜๋Š” ๋ถ€ํ•˜๋ณด๋‹ค ์•ž์„œ ์šฉ๋Ÿ‰์„ ์˜ˆ์•ฝํ•˜์—ฌ ์›Œํฌ๋กœ๋“œ์˜ ๊ฐ€์šฉ์„ฑ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
VM์— Persistent Disk ์Šคํ† ๋ฆฌ์ง€ ์ถ”๊ฐ€ ๋นˆ ๋น„๋ถ€ํŒ… ์˜์—ญ ์˜๊ตฌ ๋””์Šคํฌ ๋ณผ๋ฅจ์„ ๋งŒ๋“ค๊ณ  VM์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
OS ๋กœ๊ทธ์ธ ์„ค์ • OS ๋กœ๊ทธ์ธ์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
๋น„๋ถ€ํŒ… ๋””์Šคํฌ๋ฅผ VM์— ์—ฐ๊ฒฐ ๋น„๋ถ€ํŒ… ์˜์—ญ ๋””์Šคํฌ๋ฅผ VM์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜๋Š” VM ๋งŒ๋“ค๊ธฐ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌ์„ฑ๋œ VM ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ •์€ ์Šน์ธ๋œ API ํ˜ธ์ถœ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ์ปดํ“จํŒ… ์›Œํฌ๋กœ๋“œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํŠน๋ณ„ํ•œ ์ข…๋ฅ˜์˜ ๊ณ„์ •์ž…๋‹ˆ๋‹ค.
์˜๊ตฌ ๋””์Šคํฌ ํฌ๊ธฐ ๋Š˜๋ฆฌ๊ธฐ ์˜๊ตฌ ๋””์Šคํฌ์˜ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
VM์—์„œ ๊ฐ€์ƒ ๋””์Šคํ”Œ๋ ˆ์ด ์‚ฌ์šฉ ์„ค์ • VM ์ธ์Šคํ„ด์Šค์—์„œ ๊ฐ€์ƒ ๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
๋‹จ์ผ ์˜์—ญ์— MIG ๋งŒ๋“ค๊ธฐ ๋‹จ์ผ ์˜์—ญ์—์„œ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน(MIG)์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ๋ชจ๋“  MIG์˜ VM์„ ๋‹จ์ผ ์˜์—ญ์— ๋‘๋ฉด ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ, ์ผ๊ด„ ์›Œํฌ๋กœ๋“œ์™€ ๊ฐ™์€ ํŠน์ • ์›Œํฌ๋กœ๋“œ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ปค์Šคํ…€ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์œผ๋กœ VM ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ ์ปค์Šคํ…€ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์œผ๋กœ VM ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋ฐ˜ ์ƒํƒœ ์ ๊ฒ€ ๋ฐ ์ž๋™ ๋ณต๊ตฌ ์„ค์ • MIG์—์„œ VM์„ ์ž๋™ ๋ณต๊ตฌํ•˜๋„๋ก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋ฐ˜ ์ƒํƒœ ์ ๊ฒ€์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์„ ์ ํ˜• VM์„ ์‚ฌ์šฉํ•˜๋Š” MIG ๋งŒ๋“ค๊ธฐ ์„ ์ ํ˜• VM ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” MIG๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์„ ์ ํ˜• VM์€ ์›Œํฌ๋กœ๋“œ์— ์ค‘๋‹จ์ด ํ—ˆ์šฉ๋˜๊ณ  ์„ ์ ํ˜• VM์˜ ๋น„์šฉ ์ ˆ๊ฐ ์ด์ ์„ ํ™œ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
MIG์˜ VM ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ MIG์—์„œ VM์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜์—ฌ MIG ๋งŒ๋“ค๊ธฐ ๊ทธ๋ฃน์˜ ํ‰๊ท  CPU ์‚ฌ์šฉ๋ฅ ์„ ๊ธฐ์ค€์œผ๋กœ VM์„ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š” ์ž๋™ ํ™•์žฅ๋œ MIG๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์Šคํ…Œ์ดํŠธํ’€(Stateful) ๋””์Šคํฌ๊ฐ€ ์žˆ๋Š” MIG ๋งŒ๋“ค๊ธฐ ์„ ์ ํ˜• VM ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” MIG๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์„ ์ ํ˜• VM์€ ์›Œํฌ๋กœ๋“œ์— ์ค‘๋‹จ์ด ํ—ˆ์šฉ๋˜๊ณ  ์„ ์ ํ˜• VM์˜ ๋น„์šฉ ์ ˆ๊ฐ ์ด์ ์„ ํ™œ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
SQL Server VM ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ Microsoft SQL Server VM ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. SQL Server๋Š” Windows Server ๋ฐ ์ผ๋ถ€ Linux ๋ฐฐํฌํŒ์—์„œ ์‹คํ–‰๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฑ์—”๋“œ์˜ ์ผ๋ถ€๋กœ, ๊ฐ€๋ณ€ํ˜• ๊ฐœ๋ฐœ๊ณผ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์œผ๋กœ ๋˜๋Š” ๋ฐฑ์—… ๋ฐ ์žฌํ•ด ๋ณต๊ตฌ์šฉ ์˜จํ”„๋ ˆ๋ฏธ์Šค ์‹œ์Šคํ…œ๊ณผ ํ•จ๊ป˜ SQL Server๋ฅผ Compute Engine์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
OS ์ •์ฑ… ํ• ๋‹น ๋งŒ๋“ค๊ธฐ OS ์ •์ฑ… ํ• ๋‹น์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. OS ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌ Linux ๋ฐ Windows VM ์ธ์Šคํ„ด์Šค์—์„œ ์ผ๊ด€๋œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
MIG์—์„œ ์Šคํ…Œ์ดํŠธํ’€(Stateful) ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ MIG์—์„œ ์Šคํ…Œ์ดํŠธํ’€(Stateful) ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์†์„ฑ์„ ์„ค์ •ํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ†ต์‹ ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
MIG์—์„œ ์Šคํ…Œ์ดํŠธํ’€(Stateful) ์˜๊ตฌ ๋””์Šคํฌ ๊ตฌ์„ฑ MIG์—์„œ ์Šคํ…Œ์ดํŠธํ’€(Stateful) ์˜๊ตฌ ๋””์Šคํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์˜๊ตฌ ๋””์Šคํฌ๋ฅผ ์Šคํ…Œ์ดํŠธํ’€(Stateful)๋กœ ๊ตฌ์„ฑํ•˜๋ฉด ๋””์Šคํฌ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•˜๋ฉด์„œ VM ์ธ์Šคํ„ด์Šค ์ž๋™ ๋ณต๊ตฌ์™€ ์ž๋™ํ™”๋œ ์—…๋ฐ์ดํŠธ์˜ ์ด์ ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
MIG์— ์Šคํ…Œ์ดํŠธํ’€(Stateful) IP ์ฃผ์†Œ ๊ตฌ์„ฑ MIG์—์„œ ์Šคํ…Œ์ดํŠธํ’€(Stateful) IP ์ฃผ์†Œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. MIG์— ์Šคํ…Œ์ดํŠธํ’€(Stateful) IP ์ฃผ์†Œ๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด ๊ทธ๋ฃน์˜ VM ์ธ์Šคํ„ด์Šค๊ฐ€ ์ž๋™ ๋ณต๊ตฌ, ์—…๋ฐ์ดํŠธ, ์žฌ์ƒ์„ฑ๋  ๋•Œ IP ์ฃผ์†Œ๊ฐ€ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.
๋ฆฌ์ „ MIG์—์„œ VM์˜ ๋ชฉํ‘œ ๋ถ„์‚ฐ ํ˜•ํƒœ ์„ค์ • VM์˜ ๋ชฉํ‘œ ๋ถ„์‚ฐ ํ˜•ํƒœ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
VM์ด ๋ฆฌ์ „์˜ ์—ฌ๋Ÿฌ ์˜์—ญ์— ์žˆ๋Š” MIG ๋งŒ๋“ค๊ธฐ VM์ด ํ•œ ๋ฆฌ์ „์˜ ์—ฌ๋Ÿฌ ์˜์—ญ์— ๋ถ„์‚ฐ๋˜๋Š” MIG๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๋“œ๋ฅผ ์—ฌ๋Ÿฌ ์˜์—ญ ๊ฐ„์— ๋ถ„์‚ฐํ•˜๋ฉด ์˜์—ญ ์žฅ์• ๋กœ๋ถ€ํ„ฐ ์›Œํฌ๋กœ๋“œ๊ฐ€ ๋ณดํ˜ธ๋ฉ๋‹ˆ๋‹ค.
๋ฆฌ์ „ MIG์—์„œ ์‚ฌ์ „ VM ์žฌ๋ถ„์‚ฐ ์‚ฌ์šฉ ์ค‘์ง€ ๋ฐ ๋‹ค์‹œ ์‚ฌ์šฉ ์„ค์ • ๋ฆฌ์ „ MIG์—์„œ ์‚ฌ์ „ VM ์žฌ๋ถ„์‚ฐ์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๊ณ  ๋‹ค์‹œ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์ „ MIG์—์„œ ๋ฆฌ์ „์—์„œ ์„ ํƒํ•œ ์˜์—ญ ์ „๋ฐ˜์— ์ง์ˆ˜ ๊ฐœ์˜ VM ์ธ์Šคํ„ด์Šค๋ฅผ ์œ ์ง€ํ•˜๋ ค๋ฉด ์‚ฌ์ „ ์ธ์Šคํ„ด์Šค ์žฌ๋ถ„์‚ฐ์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ด ๊ตฌ์„ฑ ์˜ต์…˜์€ ์˜์—ญ ์ˆ˜์ค€ ์žฅ์•  ๋ฐœ์ƒ ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ€์šฉ์„ฑ์„ ์ตœ๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค.

Compute Engine์šฉ Terraform ๋ชจ๋“ˆ ๋ฐ ์ฒญ์‚ฌ์ง„

๋ชจ๋“ˆ๊ณผ ์ฒญ์‚ฌ์ง„์€ ๋Œ€๊ทœ๋ชจ Google Cloud ๋ฆฌ์†Œ์Šค ํ”„๋กœ๋น„์ €๋‹ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์€ Terraform ๋ฆฌ์†Œ์Šค์˜ ๋…ผ๋ฆฌ์  ์ถ”์ƒํ™”๋ฅผ ๋งŒ๋“œ๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ Terraform ๊ตฌ์„ฑ ํŒŒ์ผ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ์ฒญ์‚ฌ์ง„์€ ๋ฐฐํฌ ๋ฐ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆ์˜ ํŒจํ‚ค์ง€์ด๋ฉฐ ํŠน์ • ์†”๋ฃจ์…˜์„ ๊ตฌํ˜„ํ•˜๊ณ  ๋ฌธ์„œํ™”ํ•˜๋Š” ์ •์ฑ…์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—๋Š” Compute Engine๊ณผ ๊ด€๋ จ๋œ ๋ชจ๋“ˆ๊ณผ ์ฒญ์‚ฌ์ง„์ด ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“ˆ ๋˜๋Š” ์ฒญ์‚ฌ์ง„ ์„ธ๋ถ€์ •๋ณด
terraform-google-vm Google Cloud์—์„œ VM์„ ํ”„๋กœ๋น„์ €๋‹ํ•˜๋Š” ๋นŒ๋”ฉ ๋ธ”๋ก์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋…์ฐฝ์ ์ธ ํ•˜์œ„ ๋ชจ๋“ˆ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.
terraform-google-startup-scripts VM์— ์‚ฝ์ž…ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ œ๊ณต
terraform-google-container-vm Compute Engine ์ธ์Šคํ„ด์Šค์— ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ

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