๐Ÿ› ๏ธ Terraform GCP ๋กœ์ปฌ ์‹ค์Šต ํ™˜๊ฒฝ ๊ตฌ์ถ• (0์› ๋„์ „)

Google Cloud Skills Boost์˜ โ€œBuild Infrastructure with Terraform on Google Cloudโ€ ํ€˜์ŠคํŠธ๋ฅผ ๊ฐœ์ธ ๊ณ„์ •์œผ๋กœ ์‹ค์Šตํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์ „ ์ค€๋น„ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.

1. ๐Ÿ’ธ ๋น„์šฉ ๋ฐฉ์ง€ ์›์น™ (Cost Safety)

๊ฐœ์ธ ๊ณ„์ •์—์„œ ์‹ค์Šตํ•  ๋•Œ๋Š” ์•„๋ž˜ ๊ทœ์น™์„ ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผ ์š”๊ธˆ ํญํƒ„์„ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๋ฆฌ์†Œ์Šค ์ฆ‰์‹œ ์‚ญ์ œ: ์‹ค์Šต(terraform apply) ํ›„ ๋ฐ˜๋“œ์‹œ terraform destroy๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  2. Free Tier ๋ฆฌ์ „ ์‚ฌ์šฉ: ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋Š” us-central1 (Iowa), us-west1 (Oregon), us-east1 (South Carolina) ์ค‘ ํ•˜๋‚˜์— ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. e2-micro ์‚ฌ์šฉ: VM ์ธ์Šคํ„ด์Šค ํƒ€์ž…์€ ๋ฌด์กฐ๊ฑด e2-micro๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (์›” 1๋Œ€ ๋ฌด๋ฃŒ)
  4. Load Balancer ๊ธˆ์ง€: ์‹ค์Šต ์ฝ”๋“œ์— google_compute_forwarding_rule์ด ์žˆ๋‹ค๋ฉด ์ฃผ์˜ํ•˜์„ธ์š”. (์‹œ๊ฐ„๋‹น ๊ณผ๊ธˆ)

2. ํ™˜๊ฒฝ ์„ค์ • (Prerequisites)

2.1 GCP ํ”„๋กœ์ ํŠธ ์ค€๋น„

  1. Google Cloud Console ์ ‘์†.
  2. ์ƒˆ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ (์˜ˆ: terraform-lab-2026).
  3. ๊ฒฐ์ œ ๊ณ„์ • ์—ฐ๊ฒฐ (ํ•„์ˆ˜, ํ•˜์ง€๋งŒ ์œ„ ์›์น™์„ ์ง€ํ‚ค๋ฉด ๊ณผ๊ธˆ ์•ˆ ๋จ).
  4. Compute Engine API ํ™œ์„ฑํ™”: API ๋ฐ ์„œ๋น„์Šค > ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ > Compute Engine API ๊ฒ€์ƒ‰ ํ›„ ์‚ฌ์šฉ ์„ค์ •.

2.2 ๋กœ์ปฌ ํˆด ์„ค์น˜ (macOS)

# Terraform ์„ค์น˜
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
 
# Google Cloud SDK ์„ค์น˜ (์ด๋ฏธ ์žˆ๋‹ค๋ฉด ํŒจ์Šค)
brew install --cask google-cloud-sdk

2.3 ์ธ์ฆ ์„ค์ • (Authentication)

Terraform์ด ๋‚ด GCP ๊ณ„์ • ๊ถŒํ•œ์„ ์“ฐ๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

# 1. ๋กœ๊ทธ์ธ (๋ธŒ๋ผ์šฐ์ € ์—ด๋ฆผ)
gcloud auth application-default login
 
# 2. ํ”„๋กœ์ ํŠธ ์„ค์ •
gcloud config set project [YOUR_PROJECT_ID]
  • [YOUR_PROJECT_ID]๋Š” ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์ด ์•„๋‹ˆ๋ผ ID์ž…๋‹ˆ๋‹ค. (์ฝ˜์†” ๋Œ€์‹œ๋ณด๋“œ์—์„œ ํ™•์ธ)

3. ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์„ฑ

์‹ค์Šต๋ณ„๋กœ ํด๋”๋ฅผ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

mkdir -p terraform-labs/lab1
mkdir -p terraform-labs/lab2
...

Supported by gemini-3.0-pro preview