๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋กœ ๋ผ์šฐํŒ… ์š”์ฒญ

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ Google Cloud HTTPS ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

  • ์š”์ฒญ URL ๊ฒฝ๋กœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • ์š”์ฒญ์„ ํด๋ผ์ด์–ธํŠธ์— ๊ฐ€๊นŒ์šด ๋ฐฑ์—”๋“œ๋กœ ๋ผ์šฐํŒ…ํ•ฉ๋‹ˆ๋‹ค(๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ๋ถ€ํ•˜ ๋ถ„์‚ฐ).

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ฐœ๋…์„ ์ˆ™์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋Š” Compute Engine ๋ฐฑ์—”๋“œ๋กœ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”. HTTP ์žฌ์ž‘์„ฑ ๋ฐ ๋ฆฌ๋””๋ ‰์…˜๊ณผ ๊ฐ™์€ ๊ณ ๊ธ‰ ๋ผ์šฐํŒ…์€ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ฐœ์š”

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” ์š”์ฒญ URL์˜ ๊ฒฝ๋กœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•˜๊ณ  ์—ฌ๋Ÿฌ ๋ฆฌ์ „์— ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•˜๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ฏธ๊ตญ ๋ฆฌ์ „(us-central1-b ์˜์—ญ)๊ณผ EU ๋ฆฌ์ „(eu-west1-b ์˜์—ญ)์— ์ด 8๊ฐœ์˜ Compute Engine ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด๋Ÿฌํ•œ ์ธ์Šคํ„ด์Šค๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ผ์šฐํŒ…ํ•˜๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์•ˆ๋‚ด์— ๋”ฐ๋ผ ์ž‘์—…์„ ๋งˆ์น˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  • /video๋กœ ์‹œ์ž‘ํ•˜๋Š” URL ๊ฒฝ๋กœ๋ฅผ ํฌํ•จํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ์€ ํ•˜๋‚˜์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋กœ ๋ผ์šฐํŒ…๋ฉ๋‹ˆ๋‹ค.
  • URL ๊ฒฝ๋กœ๊ฐ€ ์ด ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ํŠธ๋ž˜ํ”ฝ์€ ๋‹ค๋ฅธ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋กœ ๋ผ์šฐํŒ…๋ฉ๋‹ˆ๋‹ค.

์ด ๋ฐฉ๋ฒ• ๋ฌธ์„œ์—์„œ๋Š” ๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์— ๋‚˜์™€ ์žˆ๋Š” ๊ตฌ์„ฑ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋ฉ€ํ‹ฐ ๋ฆฌ์ „ HTTPS ๋ถ€ํ•˜ ๋ถ„์‚ฐ
๋ฉ€ํ‹ฐ ๋ฆฌ์ „ HTTPS ๋ถ€ํ•˜ ๋ถ„์‚ฐ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

๋‹ค์ด์–ด๊ทธ๋žจ์˜ ์ด๋ฒคํŠธ ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ https://www.example.com/video/concert URL์— ์•ก์„ธ์Šคํ•˜์—ฌ ์ „๋‹ฌ ๊ทœ์น™์—์„œ ์ •์˜๋œ ์™ธ๋ถ€ IP ์ฃผ์†Œ๋กœ ์ฝ˜ํ…์ธ  ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด ์š”์ฒญ์€ IPv4 ๋˜๋Š” IPv6๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ํ”„๋กœํ† ์ฝœ ๋ชจ๋‘ ์ „๋‹ฌ ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ „๋‹ฌ ๊ทœ์น™์€ ์š”์ฒญ์„ ๋Œ€์ƒ HTTPS ํ”„๋ก์‹œ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  3. ๋Œ€์ƒ ํ”„๋ก์‹œ๋Š” URL ๋งต์— ์„ค์ •๋œ ๊ทœ์น™ ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ์„ ์ˆ˜์‹ ํ•˜๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. https://www.example.com/video/concert์™€ ๊ฐ™์ด /video๋ฅผ ํฌํ•จํ•˜๋Š” ์š”์ฒญ์€ video-backend-service๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ URL ๊ฒฝ๋กœ๋Š” ๊ธฐ๋ณธ ์„œ๋น„์Šค์ธ web-backend-service๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.
  4. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ํ•ด๋‹น ๊ทธ๋ฃน์˜ ๋กœ๋”ฉ ๋ฐ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ๊ทผ์ ‘์„ฑ์— ๋”ฐ๋ผ ๊ฒฐ์ •ํ•˜๊ณ  ์ด ๊ทธ๋ฃน์˜ ์ธ์Šคํ„ด์Šค์— ์š”์ฒญ์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  5. ์ธ์Šคํ„ด์Šค๋Š” ๊ฐ ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. video ์ธ์Šคํ„ด์Šค๋Š” ๋™์˜์ƒ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๊ณ  www ์ธ์Šคํ„ด์Šค๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด ์˜ˆ์‹œ์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ํด๋ผ์ด์–ธํŠธ์˜ HTTPS ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๊ณ  ์š”์ฒญ์„ HTTP๋กœ ๋ฐฑ์—”๋“œ์— ํ”„๋ก์‹œํ•ฉ๋‹ˆ๋‹ค. HTTP ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๊ณ  ๋ฐฑ์—”๋“œ๋กœ ์š”์ฒญ์„ ํ”„๋ก์‹œํ•  ๋•Œ HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ด ์•ˆ๋‚ด์— ๋”ฐ๋ผ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ํ”„๋กœ์ ํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ํ”„๋กœ์ ํŠธ๊ฐ€ ์—†๋‹ค๋ฉด ์ง€๊ธˆ ์„ค์ •ํ•˜์„ธ์š”. ์ด ์•ˆ๋‚ด์—์„œ๋Š” ์ปค์Šคํ…€ ๋ชจ๋“œ Virtual Private Cloud(VPC) ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํŠธ๋ž˜ํ”ฝ์ด ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ์ปค์Šคํ…€ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ช…๋ น์ค„์—์„œ์˜ ์ž‘์—…์„ ๋” ์„ ํ˜ธํ•˜๋Š” ๊ฒฝ์šฐ gcloud ๋ช…๋ น์ค„ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋„๊ตฌ์— ๋Œ€ํ•œ ๊ฐœ๋… ๋ฐ ์„ค์น˜ ์ •๋ณด๋Š” gcloud ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ถŒํ•œ

์ด ๊ฐ€์ด๋“œ์˜ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•˜๋ ค๋ฉด ํ”„๋กœ์ ํŠธ์—์„œ Compute Engine ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์†Œ์œ ์ž ๋˜๋Š” ํŽธ์ง‘์ž ์—ญํ• ์ด ์žˆ๊ฑฐ๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ Compute Engine IAM ์—ญํ• ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž‘์—… ํ•„์š”ํ•œ ์—ญํ• 
์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ Compute ์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ์ž
๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ ๋ณด์•ˆ ๊ด€๋ฆฌ์ž
๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ตฌ์„ฑ์š”์†Œ ๋งŒ๋“ค๊ธฐ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž
ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ(์„ ํƒ์‚ฌํ•ญ) ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์ž

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์„ค์ •

์„ ํƒ์‚ฌํ•ญ: ์ƒˆ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ

์ด ๊ฐ€์ด๋“œ์˜ ๋‚˜๋จธ์ง€ ๋ฐฉ๋ฒ•์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— resourcemanager.projects.create ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž๊ฐ€ ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด ๊ฐ€์ด๋“œ์˜ ๋๋ถ€๋ถ„์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ์‚ญ์ œ ์ž‘์—…์ด ๊ฐ„์†Œํ™”๋ฉ๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ๋ฐ ์„œ๋ธŒ๋„ท ๊ตฌ์„ฑ

์ด ์˜ˆ์‹œ์—์„œ๋Š” ๋‹ค์Œ VPC ๋„คํŠธ์›Œํฌ, ๋ฆฌ์ „, ์„œ๋ธŒ๋„ท์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ๋„คํŠธ์›Œํฌ: ๋„คํŠธ์›Œํฌ๋Š” ์ปค์Šคํ…€ ๋ชจ๋“œ VPC ๋„คํŠธ์›Œํฌ์ด๋ฉฐ ์ด๋ฆ„์€ lb-network์ž…๋‹ˆ๋‹ค.

  • ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๋ฆฌ์ „์— ์žˆ๋Š” ์„œ๋ธŒ๋„ท:

    • us-subnet์€ ๊ธฐ๋ณธ IP ๋ฒ”์œ„๋กœ 10.1.10.0/24๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ us-central1 ๋ฆฌ์ „์— ์žˆ์Šต๋‹ˆ๋‹ค.
    • eu-subnet์€ ๊ธฐ๋ณธ IP ๋ฒ”์œ„๋กœ 10.1.11.0/24๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ europe-west1 ๋ฆฌ์ „์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ๋ฐ ์„œ๋ธŒ๋„ท ์˜ˆ์‹œ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

์ฝ˜์†”

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

    VPC ๋„คํŠธ์›Œํฌ๋กœ ์ด๋™

  2. VPC ๋„คํŠธ์›Œํฌ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. lb-network์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  4. ์„œ๋ธŒ๋„ท ์„น์…˜์—์„œ ์ฒซ ๋ฒˆ์งธ ์„œ๋ธŒ๋„ท์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    • ์„œ๋ธŒ๋„ท ์ƒ์„ฑ ๋ชจ๋“œ๋ฅผ ์ปค์Šคํ…€์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ์ƒˆ ์„œ๋ธŒ๋„ท ์„น์…˜์— ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      • ์ด๋ฆ„: us-subnet
      • ๋ฆฌ์ „: us-central1
      • IP ์ฃผ์†Œ ๋ฒ”์œ„: 10.1.10.0/24
      • ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. ์„œ๋ธŒ๋„ท ์„น์…˜์—์„œ ์„œ๋ธŒ๋„ท ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•˜๊ณ  ๋‘ ๋ฒˆ์งธ ์„œ๋ธŒ๋„ท์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    • ์ƒˆ ์„œ๋ธŒ๋„ท ์„น์…˜์— ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      • ์ด๋ฆ„: eu-subnet
      • ๋ฆฌ์ „: europe-west1
      • IP ์ฃผ์†Œ ๋ฒ”์œ„: 10.1.11.0/24
      • ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  6. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

  1. ์ปค์Šคํ…€ VPC ๋„คํŠธ์›Œํฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    gcloud compute networks create lb-network --subnet-mode=custom
    
  2. us-subnet์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    gcloud compute networks subnets create us-subnet \
      --network=lb-network \
      --range=10.1.10.0/24 \
      --region=us-central1
    
  3. eu-subnet์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    gcloud compute networks subnets create eu-subnet \
      --network=lb-network \
      --range=10.1.11.0/24 \
      --region=europe-west1
    

๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๊ตฌ์„ฑ

๊ธฐ๋ณธ ๊ฑฐ๋ถ€ ์ธ๊ทธ๋ ˆ์Šค ๊ทœ์น™์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐGoogle Cloud ์ƒํƒœ ํ™•์ธ ์‹œ์Šคํ…œ์˜ ํŠธ๋ž˜ํ”ฝ์„ ํฌํ•จํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค๋กœ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด ๊ธฐ๋ณธ ๊ทœ์น™์„ ์žฌ์ •์˜ํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์ด ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ์˜ˆ์‹œ์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  • fw-allow-ssh: ๋ถ€ํ•˜ ๋ถ„์‚ฐ๋˜๋Š” ์ธ์Šคํ„ด์Šค์— ์ ์šฉ๋˜๋Š” ์ธ๊ทธ๋ ˆ์Šค ๊ทœ์น™์œผ๋กœ, TCP ํฌํŠธ 22์—์„œ ์ž„์˜์˜ ์ฃผ์†Œ๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ ๋˜๋Š” SSH ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ทœ์น™์— ๋” ์ œํ•œ์ ์ธ ์†Œ์Šค IP ๋ฒ”์œ„๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด SSH ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์‹œ์Šคํ…œ์˜ IP ๋ฒ”์œ„๋งŒ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ๋Š” ๋Œ€์ƒ ํƒœ๊ทธ allow-ssh๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ์šฉํ•  ๋ฐฑ์—”๋“œ VM์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

  • fw-allow-health-check-and-proxy: ๋ถ€ํ•˜ ๋ถ„์‚ฐ๋˜๋Š” ์ธ์Šคํ„ด์Šค์— ์ ์šฉ๋˜๋Š” ์ธ๊ทธ๋ ˆ์Šค ๊ทœ์น™์œผ๋กœ, ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐ Google Cloud ์ƒํƒœ ์ ๊ฒ€ ์‹œ์Šคํ…œ์˜ ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ๋Š” ๋Œ€์ƒ ํƒœ๊ทธ allow-health-check๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ์šฉํ•  ๋ฐฑ์—”๋“œ VM์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

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

    ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…์œผ๋กœ ์ด๋™

  2. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    1. fw-allow-ssh์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    2. ๋„คํŠธ์›Œํฌ์—์„œ lb-network๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    3. ๋Œ€์ƒ์—์„œ ์ง€์ •๋œ ๋Œ€์ƒ ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    4. allow-ssh๋กœ ๋Œ€์ƒ ํƒœ๊ทธ ํ•„๋“œ๋ฅผ ์ฑ„์›๋‹ˆ๋‹ค.
    5. ์†Œ์Šค ํ•„ํ„ฐ๋ฅผ IPv4 ๋ฒ”์œ„๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    6. ์†Œ์Šค IPv4 ๋ฒ”์œ„๋ฅผ 0.0.0.0/0์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    7. ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ์—์„œ ์ง€์ •๋œ ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    8. TCP ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ํฌํŠธ ๋ฒˆํ˜ธ๋กœ 22์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋‘ ๋ฒˆ์งธ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    1. fw-allow-health-check-and-proxy์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    2. ๋„คํŠธ์›Œํฌ์—์„œ lb-network๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    3. ๋Œ€์ƒ์—์„œ ์ง€์ •๋œ ๋Œ€์ƒ ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    4. allow-health-check๋กœ ๋Œ€์ƒ ํƒœ๊ทธ ํ•„๋“œ๋ฅผ ์ฑ„์›๋‹ˆ๋‹ค.
    5. ์†Œ์Šค ํ•„ํ„ฐ๋ฅผ IPv4 ๋ฒ”์œ„๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    6. ์†Œ์Šค IPv4 ๋ฒ”์œ„๋ฅผ 35.191.0.0/16์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    7. ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ์—์„œ ์ง€์ •๋œ ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    8. TCP ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ํฌํŠธ ๋ฒˆํ˜ธ๋กœ 80,443์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

  1. allow-ssh ๋„คํŠธ์›Œํฌ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•ด VM์œผ๋กœ ๊ฐ€๋Š” SSH ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•˜๋Š” fw-allow-ssh ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. source-ranges๋ฅผ ์ƒ๋žตํ•˜๋ฉดGoogle Cloud ๊ฐ€ ๋ชจ๋“  ์†Œ์Šค๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ทœ์น™์„ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    
  2. fw-allow-health-check-and-proxy ๊ทœ์น™์„ ๋งŒ๋“ค์–ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐ Google Cloud ์ƒํƒœ ํ™•์ธ์ด TCP ํฌํŠธ 80 ๋ฐ 443์—์„œ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์™€ ํ†ต์‹ ํ•˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create fw-allow-health-check-and-proxy \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check \
        --source-ranges=35.191.0.0/16 \
        --rules=tcp:80,tcp:443
    

์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ

Compute Engine ๋ฐฑ์—”๋“œ๋กœ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด VM์ด ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” Apache๊ฐ€ ์‹คํ–‰ ์ค‘์ธ Linux VM์œผ๋กœ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์€ ์™ธ๋ถ€ HTTPS ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๋Š” VM์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ๋Š” ๋ฐฑ์—”๋“œ์—์„œ ๋ฐ๋ชจ์šฉ์œผ๋กœ ์ž์ฒด ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด ์˜ˆ์‹œ์—์„œ๋Š” ์ด 8๊ฐœ์˜ ๊ฐ€์ƒ ๋จธ์‹  ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. 4๊ฐœ๋Š” ๋™์˜์ƒ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๊ณ  4๊ฐœ๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋งˆ๋‹ค ๊ณ ์œ ํ•œ ํ™ˆํŽ˜์ด์ง€๊ฐ€ ์žˆ๋Š” Apache ์›น ์„œ๋ฒ„ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. VM์—์„œ ๋ชจ๋“  ์›น ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ๋Š” ํŽธ์˜์ƒ Apache๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

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

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

    ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์ด๋™

    1. ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. ์ด๋ฆ„์— video-us-template๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    3. ๋ถ€ํŒ… ๋””์Šคํฌ๊ฐ€ Debian GNU/Linux 12(bookworm)์™€ ๊ฐ™์€ Debian ์ด๋ฏธ์ง€๋กœ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ์•ˆ๋‚ด์—์„œ๋Š” apt-get์ฒ˜๋Ÿผ Debian์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    4. ๊ณ ๊ธ‰ ์˜ต์…˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    5. ๋„คํŠธ์›Œํ‚น์„ ํด๋ฆญํ•˜๊ณ  ๋‹ค์Œ ํ•„๋“œ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
      1. ๋„คํŠธ์›Œํฌ ํƒœ๊ทธ์— allow-health-check ๋ฐ allow-ssh๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      2. ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— ๋‹ค์Œ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
        • ๋„คํŠธ์›Œํฌ: lb-network
        • ์„œ๋ธŒ๋„ท: us-subnet
    6. ๊ด€๋ฆฌ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ ํ•„๋“œ์— ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://metadata.google.internal/computeMetadata/v1/instance/name)"
      mkdir -p /var/www/html/video
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html /var/www/html/video/index.html
      systemctl restart apache2
      
    7. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  2. ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. Google Cloud ์ฝ˜์†”์—์„œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์œผ๋กœ ์ด๋™

    1. ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. ์ƒˆ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน(์Šคํ…Œ์ดํŠธ๋ฆฌ์Šค(Stateless))์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์Šคํ…Œ์ดํŠธ๋ฆฌ์Šค(Stateless) ๋˜๋Š” ์Šคํ…Œ์ดํŠธํ’€(Stateful) MIG๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
    3. ์ด๋ฆ„์— ig-video-us๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    4. ์œ„์น˜์—์„œ ๋‹จ์ผ ์˜์—ญ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    5. ๋ฆฌ์ „์—์„œ ์›ํ•˜๋Š” ๋ฆฌ์ „์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ๋Š” us-central1์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    6. ์˜์—ญ์—์„œ us-central1-b๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    7. ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์—์„œ video-us-template์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    8. ์ž๋™ ํ™•์žฅ ๋ชจ๋“œ์—์„œ Off:do not autoscale์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    9. ์ตœ๋Œ€ ์ธ์Šคํ„ด์Šค ์ˆ˜์— 2๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    10. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

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

    gcloud compute instance-templates create video-us-template \
       --region=us-central1 \
       --network=lb-network \
       --subnet=us-subnet \
       --tags=allow-health-check,allow-ssh \
       --image-family=debian-12 \
       --image-project=debian-cloud \
       --metadata=startup-script='#! /bin/bash
         apt-get update
         apt-get install apache2 -y
         a2ensite default-ssl
         a2enmod ssl
         vm_hostname="$(curl -H "Metadata-Flavor:Google" \
         http://metadata.google.internal/computeMetadata/v1/instance/name)"
         mkdir -p /var/www/html/video
         echo "Page served from: $vm_hostname" | \
         tee /var/www/html/index.html /var/www/html/video/index.html
         systemctl restart apache2'
    
  2. ํ…œํ”Œ๋ฆฟ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    gcloud compute instance-groups managed create ig-video-us \
       --template=video-us-template --size=2 --zone=us-central1-b
    

4๊ฐœ์˜ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์ด ์ ˆ์ฐจ๋ฅผ 4๋ฒˆ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ์ด๋ฆ„, ํ…œํ”Œ๋ฆฟ ์ด๋ฆ„, ๋ฆฌ์ „, ์˜์—ญ์„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ig-video-us, video-us-template, us-central1-b(์˜ˆ์‹œ ์ฐธ์กฐ)
  • ig-video-eu, video-eu-template, europe-west1-b
  • ig-www-us, www-us-template, us-central1-b
  • ig-www-eu, www-europe-template, europe-west1-b

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์ด๋ฆ„์ด ์ง€์ •๋œ ํฌํŠธ ์ถ”๊ฐ€

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน๋งˆ๋‹ค HTTP ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•˜๊ณ  ํ•ด๋‹น ํฌํŠธ์— ํฌํŠธ ์ด๋ฆ„์„ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ๋œ ํ›„์—๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์„œ๋น„์Šค๊ฐ€ ์ด๋ฆ„์ด ์ง€์ •๋œ ํฌํŠธ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

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

    ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์œผ๋กœ ์ด๋™

  2. ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ์ด๋ฆ„(์˜ˆ: ig-video-us)์„ ํด๋ฆญํ•˜๊ณ  ๊ทธ๋ฃน ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ํฌํŠธ ์ด๋ฆ„ ๋งคํ•‘ ์ง€์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ํ•ญ๋ชฉ ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ํฌํŠธ ์ด๋ฆ„์œผ๋กœ http๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ํฌํŠธ ๋ฒˆํ˜ธ๋กœ 80์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  6. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ฐ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์ด ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud compute instance-groups unmanaged set-named-ports ig-video-us \
    --named-ports http:80 \
    --zone us-central1-b
gcloud compute instance-groups unmanaged set-named-ports ig-www-us \
    --named-ports http:80 \
    --zone us-central1-b
gcloud compute instance-groups unmanaged set-named-ports ig-video-eu \
    --named-ports http:80 \
    --zone europe-west1-b
gcloud compute instance-groups unmanaged set-named-ports ig-www-eu \
    --named-ports http:80 \
    --zone europe-west1-b

์™ธ๋ถ€ IP ์ฃผ์†Œ ์˜ˆ์•ฝ

์ธ์Šคํ„ด์Šค๊ฐ€ ์ค€๋น„๋˜์–ด ์‹คํ–‰ ์ค‘์ด๋ฏ€๋กœ ์ด์ œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ์— ํ•„์š”ํ•œ ์„œ๋น„์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” ๊ณ ๊ฐ์ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋‘ ๊ฐœ์˜ ์ „์—ญ ๊ณ ์ • ์™ธ๋ถ€ IP ์ฃผ์†Œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

์ฝ˜์†”

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

    IP ์ฃผ์†Œ๋กœ ์ด๋™

  2. ์™ธ๋ถ€ ์˜ˆ์•ฝ์„ ํด๋ฆญํ•˜์—ฌ IPv4 ์ฃผ์†Œ๋ฅผ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

  3. ์™ธ๋ถ€ ๊ณ ์ • IP ์ฃผ์†Œ ์˜ˆ์•ฝ ํŽ˜์ด์ง€์—์„œ ์ด๋ฆ„์— lb-ipv4-1์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  4. ๋„คํŠธ์›Œํฌ ๋“ฑ๊ธ‰์„ ํ”„๋ฆฌ๋ฏธ์—„์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  5. IP ๋ฒ„์ „์„ IPv4๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  6. ์œ ํ˜•์„ ์ „์—ญ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  7. ์˜ˆ์•ฝ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  8. ์™ธ๋ถ€ ์˜ˆ์•ฝ์„ ๋‹ค์‹œ ํด๋ฆญํ•˜์—ฌ IPv6 ์ฃผ์†Œ๋ฅผ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

  9. ์™ธ๋ถ€ ๊ณ ์ • IP ์ฃผ์†Œ ์˜ˆ์•ฝ ํŽ˜์ด์ง€์—์„œ ์ด๋ฆ„์— lb-ipv6-1์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

  10. ๋„คํŠธ์›Œํฌ ๋“ฑ๊ธ‰์„ ํ”„๋ฆฌ๋ฏธ์—„์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  11. IP ๋ฒ„์ „์„ IPv6์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  12. ์œ ํ˜•์ด ์ „์—ญ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    ์ด ์˜ˆ์‹œ์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ํ”„๋ฆฌ๋ฏธ์—„ ๋“ฑ๊ธ‰ ๋„คํŠธ์›Œํ‚น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋“ฑ๊ธ‰ ๋„คํŠธ์›Œํ‚น์„ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋Œ€์‹  ๋ฆฌ์ „ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋“ฑ๊ธ‰์—์„œ๋Š” IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  13. ์˜ˆ์•ฝ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

  1. IPv4 ์ฃผ์†Œ ์˜ˆ์•ฝ:

    gcloud compute addresses create lb-ipv4-1 \
      --ip-version=IPV4 \
      --network-tier=PREMIUM \
      --global
    
  2. IPv6 ์ฃผ์†Œ ์˜ˆ์•ฝ:

    gcloud compute addresses create lb-ipv6-1 \
      --ip-version=IPV6 \
      --network-tier=PREMIUM \
      --global
    

๋ถ€ํ•˜ ๋ถ„์‚ฐ ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ธฐ๋Šฅ์—๋Š” ์—ฌ๋Ÿฌ ์—ฐ๊ฒฐ๋œ ๋ฆฌ์†Œ์Šค๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์„ค์ •ํ•˜๊ณ  ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ด๋ฆ„์ด ์ง€์ •๋œ ํฌํŠธ. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ํŠธ๋ž˜ํ”ฝ์„ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์œผ๋กœ ์ „๋‹ฌํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒํƒœ ํ™•์ธ. ์ธ์Šคํ„ด์Šค๋ฅผ ํด๋งํ•˜์—ฌ ์ •์ƒ์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์ •์ƒ ์ธ์Šคํ„ด์Šค์—๋งŒ ํŠธ๋ž˜ํ”ฝ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค. ์šฉ๋Ÿ‰, ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ, ์ƒํƒœ ํ™•์ธ ์ƒํƒœ๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋Š” ์šฉ๋Ÿ‰ ๋ฐ ์ธ์Šคํ„ด์Šค ์ƒํƒœ์— ๋”ฐ๋ผ ์š”์ฒญ์„ ๋ฐฑ์—”๋“œ VM ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  • URL ๋งต - ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์š”์ฒญ URL์˜ ํ˜ธ์ŠคํŠธ์™€ ๊ฒฝ๋กœ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋กœ ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค. SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค์—๋Š” HTTPS ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ๋  ๋•Œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ TLS๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” SSL ์ธ์ฆ์„œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌํ˜• SSL ์ธ์ฆ์„œ ๋˜๋Š” ์ž์ฒด ๊ด€๋ฆฌํ˜• SSL ์ธ์ฆ์„œ๋ฅผ ์›ํ•˜๋Š” ๋Œ€๋กœ ์กฐํ•ฉํ•˜์—ฌ ์—ฌ๋Ÿฌ SSL ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๊ฐ ์ธ์ฆ์„œ์— ๋Œ€ํ•ด SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋Œ€์ƒ HTTPS ํ”„๋ก์‹œ. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ URL ๋งต ๋ฐ SSL ์ธ์ฆ์„œ๋ฅผ ์ „์—ญ ์ „๋‹ฌ ๊ทœ์น™๊ณผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ „์—ญ ์ „๋‹ฌ ๊ทœ์น™ 2๊ฐœ(IPv4์™€ IPv6์— ํ•˜๋‚˜์”ฉ). ์—ฌ๊ธฐ์—๋Š” ์ „์—ญ ์™ธ๋ถ€ IP ์ฃผ์†Œ ๋ฆฌ์†Œ์Šค๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ „์—ญ ์ „๋‹ฌ ๊ทœ์น™์€ ์ˆ˜์‹ ๋˜๋Š” ์š”์ฒญ์„ ๋Œ€์ƒ ํ”„๋ก์‹œ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์œ ํ˜• ์„ ํƒ

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

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ์œผ๋กœ ์ด๋™

  2. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์œ ํ˜•์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ(HTTP/HTTPS)๋ฅผ ์„ ํƒํ•˜๊ณ  ๋‹ค์Œ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. ๊ณต๊ฐœ ๋˜๋Š” ๋‚ด๋ถ€์—์„œ ๊ณต๊ฐœ(์™ธ๋ถ€)๋ฅผ ์„ ํƒํ•˜๊ณ  ๋‹ค์Œ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. ์ „์—ญ ๋˜๋Š” ๋‹จ์ผ ๋ฆฌ์ „ ๋ฐฐํฌ์—์„œ ์ „์—ญ ์›Œํฌ๋กœ๋“œ์— ์ ํ•ฉ์„ ์„ ํƒํ•˜๊ณ  ๋‹ค์Œ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  6. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์ƒ์„ฑ์— ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ๋‹ค์Œ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  7. ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๊ตฌ์„ฑ

  1. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์ด๋ฆ„์— web-map๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  2. ๊ณ„์†ํ•˜๋ ค๋ฉด ์ฐฝ์„ ์—ด์–ด๋‘ก๋‹ˆ๋‹ค.

www ์ธ์Šคํ„ด์Šค์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋ฐ ์ƒํƒœ ํ™•์ธ ๊ตฌ์„ฑ

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—๋Š” ๋‘ ๊ฐœ์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์™€ ๋‘ ์„œ๋น„์Šค ๋ชจ๋‘์— ๋Œ€ํ•œ ์ƒํƒœ ์ ๊ฒ€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ํด๋ผ์ด์–ธํŠธ์˜ HTTPS ์š”์ฒญ์„ ์ข…๋ฃŒํ•˜๊ณ  HTTP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ์™€ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ฐฑ์—”๋“œ ํ”„๋กœํ† ์ฝœ ๋ฐ ์ƒํƒœ ํ™•์ธ์— HTTP๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ ๋˜๋Š” ์„ ํƒ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์œ„๋กœ ๋งˆ์šฐ์Šค ํฌ์ธํ„ฐ๋ฅผ ๊ฐ€์ ธ๊ฐ„ ํ›„ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ์ด๋ฆ„์„ web-backend-service๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ฐฑ์—”๋“œ ์œ ํ˜•์ด ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  5. ํ”„๋กœํ† ์ฝœ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ HTTP๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  6. ์ด๋ฆ„์ด ์ง€์ •๋œ ํฌํŠธ ํ•„๋“œ์— http๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  7. www ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ ์ ๊ฒ€์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
    1. ์ƒํƒœ ํ™•์ธ ๋ชฉ๋ก์—์„œ ์ƒํƒœ ํ™•์ธ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. ์ด๋ฆ„ ํ•„๋“œ์— http-basic-check-www๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    3. ํ”„๋กœํ† ์ฝœ ๋ชฉ๋ก์—์„œ HTTP๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    4. ํฌํŠธ ์ž…๋ ฅ๋ž€์— 80์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    5. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  8. ๋ฐฑ์—”๋“œ์—์„œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ig-www-us๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  9. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ์ธ์Šคํ„ด์Šค ๊ฐ„ ํŠธ๋ž˜ํ”ฝ์˜ ๊ฒฝ์šฐ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ 80์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  10. ๋‚˜๋จธ์ง€ ํ•„๋“œ๋Š” ๊ธฐ๋ณธ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๋‘ก๋‹ˆ๋‹ค.
  11. ์ƒˆ ๋ฐฑ์—”๋“œ ์ฐฝ ํ•˜๋‹จ์— ์žˆ๋Š” ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  12. ๋ฐฑ์—”๋“œ ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•˜๊ณ  ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜๋˜ ์ด๋ฒˆ์—๋Š” ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ig-www-eu๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  13. ๊ณ„์†ํ•˜๋ ค๋ฉด ์ฐฝ์„ ์—ด์–ด๋‘ก๋‹ˆ๋‹ค.

video ์ธ์Šคํ„ด์Šค์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋ฐ ์ƒํƒœ ํ™•์ธ ๊ตฌ์„ฑ

  1. ์ด์ „ ๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋ฐ ์ƒํƒœ ์ ๊ฒ€์„ ๊ตฌ์„ฑํ•˜๋˜ ๋‘ ๋ฒˆ์งธ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค video-backend-service๋ฅผ ์ง€์ •ํ•˜๊ณ  ig-video-us ๋ฐ ig-video-eu ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค.
  2. ์ƒํƒœ ์ ๊ฒ€์„ ๋งŒ๋“ค๋ ค๋ฉด ๋™์ผํ•œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด๋˜ ์ƒํƒœ ์ ๊ฒ€์˜ ์ด๋ฆ„์„ http-basic-check-video๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ƒํƒœ ์ ๊ฒ€ ์ด๋ฆ„์€ ๊ณ ์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ ๊ทœ์น™ ๊ตฌ์„ฑ

ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ ๊ทœ์น™์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ URL ๋งต ๋ฆฌ์†Œ์Šค๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  1. ํ™”๋ฉด์˜ ์™ผ์ชฝ ์—ด์—์„œ ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ ๊ทœ์น™์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ์˜ค๋ฅธ์ชฝ ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ํ–‰์— web-backend-service๊ฐ€ ์žˆ๊ณ  ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ์— ๊ธฐ๋ณธ ๊ทœ์น™ Any unmatched (default)๊ฐ€ ์ด๋ฏธ ์ฑ„์›Œ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์˜ค๋ฅธ์ชฝ ์—ด์— video-backend-service๊ฐ€ ์žˆ๋Š” ๋‘ ๋ฒˆ์งธ ํ–‰์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์—†๋‹ค๋ฉด ํ˜ธ์ŠคํŠธ ๋ฐ ๊ฒฝ๋กœ ๊ทœ์น™ ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•œ ๋‹ค์Œ ์˜ค๋ฅธ์ชฝ ์—ด์˜ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ video-backend-service๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์—ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฑ„์›๋‹ˆ๋‹ค.
    1. ํ˜ธ์ŠคํŠธ๋ฅผ *๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    2. ๊ฒฝ๋กœ ํ•„๋“œ์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
      1. /video๋ฅผ ์ž…๋ ฅํ•œ ๋‹ค์Œ Tab ํ‚ค๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.
      2. /video/*๋ฅผ ์ž…๋ ฅํ•œ ๋‹ค์Œ Tab ํ‚ค๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.

ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ

ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ ์„น์…˜์€ ์ „๋‹ฌ ๊ทœ์น™ ๋ฐ SSL ์ธ์ฆ์„œ๋ฅผ ๋น„๋กฏํ•œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํด๋ผ์ด์–ธํŠธ์™€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ฐ„์— ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์˜ˆ์‹œ์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์‚ฌ์ด์— HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํ”„๋ก์‹œ๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ํ•˜๋‚˜ ์ด์ƒ์˜ SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ SSL ์ธ์ฆ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. Google ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  1. ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€์˜ ์™ผ์ชฝ ํŒจ๋„์—์„œ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ์ด๋ฆ„ ํ•„๋“œ์— https-content-rule๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  3. ํ”„๋กœํ† ์ฝœ ํ•„๋“œ์—์„œ HTTPS๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. ๊ณ„์†ํ•˜๋ ค๋ฉด ์ฐฝ์„ ์—ด์–ด๋‘ก๋‹ˆ๋‹ค.

IPv4 ์ „๋‹ฌ ๊ทœ์น™ ๊ตฌ์„ฑ

  1. IP ๋ฒ„์ „์„ IPv4๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. IP ์ฃผ์†Œ์—์„œ ์•ž์„œ ๋งŒ๋“  lb-ipv4-1์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. HTTPS ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๋„๋ก ํฌํŠธ๊ฐ€ 443์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  4. ์ธ์ฆ์„œ ์ €์žฅ์†Œ ์„ ํƒ์—์„œ ์ธ์ฆ์„œ ๋งต ์‚ฌ์šฉ ๋˜๋Š” ๊ธฐ์กด ์ธ์ฆ์„œ ์‚ฌ์šฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  5. ์„ ํƒ์— ๋”ฐ๋ผ ์ธ์ฆ์„œ ๋งต ๋˜๋Š” ๊ธฐ๋ณธ ์ธ์ฆ์„œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  6. QUIC ํ˜‘์ƒ์—์„œ ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • ์ž๋™(๊ธฐ๋ณธ๊ฐ’): Google์ด QUIC๋ฅผ ํ˜‘์ƒํ•  ์‹œ๊ธฐ๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ์ž๋™์„ ์„ ํƒํ•˜๋ฉด QUIC๊ฐ€ ์‚ฌ์šฉ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ์„ ํƒํ•˜๋ฉด ๋‚˜์ค‘์— Google์—์„œ ์ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— QUIC ํ˜‘์ƒ ๋ฐ HTTP/3๋ฅผ ์ž๋™์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. gcloud ๋ฐ API์—์„œ๋Š” ์ด ์˜ต์…˜์„ NONE์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ ์„ค์ • - ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์™€ QUIC๋ฅผ ํ˜‘์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ ์ค‘์ง€ - ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์™€ QUIC๋ฅผ ํ˜‘์ƒํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.
  7. ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  8. ๊ณ„์†ํ•˜๋ ค๋ฉด ์ฐฝ์„ ์—ด์–ด๋‘ก๋‹ˆ๋‹ค.

IPv6 ์ „๋‹ฌ ๊ทœ์น™ ๊ตฌ์„ฑ

  1. ํ”„๋ŸฐํŠธ์—”๋“œ IP ๋ฐ ํฌํŠธ ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. https-content-ipv6-rule์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  3. ํด๋ผ์ด์–ธํŠธ์™€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ฐ„์— HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ํ”„๋กœํ† ์ฝœ ํ•„๋“œ์—์„œ HTTPS๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ฐ„์— HTTP๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด HTTP๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. IP ๋ฒ„์ „์„ IPv6๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  5. IP์—์„œ ์•ž์„œ ๋งŒ๋“  lb-ipv6-1์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  6. ํฌํŠธ๋ฅผ ๊ธฐ๋ณธ๊ฐ’ 443์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  7. ์ธ์ฆ์„œ ์ €์žฅ์†Œ ์„ ํƒ์—์„œ ์ธ์ฆ์„œ ๋งต ์‚ฌ์šฉ ๋˜๋Š” ๊ธฐ์กด ์ธ์ฆ์„œ ์‚ฌ์šฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  8. ์„ ํƒ์— ๋”ฐ๋ผ ์ธ์ฆ์„œ ๋งต ๋˜๋Š” ๊ธฐ๋ณธ ์ธ์ฆ์„œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  9. QUIC ํ˜‘์ƒ์—์„œ ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • ์ž๋™(๊ธฐ๋ณธ๊ฐ’): Google์ด QUIC๋ฅผ ํ˜‘์ƒํ•  ์‹œ๊ธฐ๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ์ž๋™์„ ์„ ํƒํ•˜๋ฉด QUIC๊ฐ€ ์‚ฌ์šฉ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ์„ ํƒํ•˜๋ฉด ๋‚˜์ค‘์— Google์—์„œ ์ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— QUIC ํ˜‘์ƒ ๋ฐ HTTP/3๋ฅผ ์ž๋™์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. gcloud ๋ฐ API์—์„œ๋Š” ์ด ์˜ต์…˜์„ NONE์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ ์„ค์ • - ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์™€ QUIC๋ฅผ ํ˜‘์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ ์ค‘์ง€ - ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์™€ QUIC๋ฅผ ํ˜‘์ƒํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.
  10. ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ฒ€ํ†  ๋ฐ ์™„๋ฃŒ

  1. ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€์˜ ์™ผ์ชฝ ํŒจ๋„์—์„œ ๊ฒ€ํ†  ๋ฐ ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ๋งŒ๋“ค๋ ค๋˜ ์„ค์ •๊ณผ ํ˜„์žฌ ์„ค์ •์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ชจ๋“  ์„ค์ •์ด ์˜ฌ๋ฐ”๋ฅธ ๊ฒƒ์œผ๋กœ ํ™•์ธ๋˜๋ฉด ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

gcloud

  1. ์ƒํƒœ ์ ๊ฒ€์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋ฐฑ์—”๋“œ ๊ฐ„์— HTTP๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ gcloud ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute health-checks create http http-basic-check \
        --port 80
    
  2. ์ฝ˜ํ…์ธ  ์ œ๊ณต์—…์ฒด๋งˆ๋‹ค ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    HTTP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋กœ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— --protocol ํ•„๋“œ๋ฅผ HTTP๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— ์ƒํƒœ ์ ๊ฒ€์œผ๋กœ ๋งŒ๋“  http-basic-check ์ƒํƒœ ์ ๊ฒ€์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    • ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฒฝ์šฐ gcloud CLI ๋ช…๋ น์–ด๋ฅผ load-balancing-scheme=EXTERNAL_MANAGED์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ๊ณ ๊ธ‰ ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฒฝ์šฐ load-balancing-scheme=EXTERNAL์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    gcloud compute backend-services create video-backend-service \
        --load-balancing-scheme=LOAD_BALANCING_SCHEME \
        --global-health-checks \
        --protocol=HTTP \
        --port-name=http \
        --health-checks=http-basic-check \
        --global
    
    gcloud compute backend-services create web-backend-service \
        --load-balancing-scheme=LOAD_BALANCING_SCHEME \
        --global-health-checks \
        --protocol=HTTP \
        --port-name=http \
        --health-checks=http-basic-check \
        --global
    
  3. ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ๋ฐฑ์—”๋“œ๋กœ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋Š” ํฌํ•จ๋œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ์šฉ๋Ÿ‰(์ตœ๋Œ€ ๋ฐฑ์—”๋“œ ์‚ฌ์šฉ๋ฅ  ๋˜๋Š” ์ดˆ๋‹น ์ตœ๋Œ€ ์ฟผ๋ฆฌ ์ˆ˜)์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ balancing-mode๋Š” UTILIZATION ๊ฐ’์œผ๋กœ, max-utilization์€ 0.8๋กœ, capacity-scaler๋Š” 1๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ๋“œ๋ ˆ์ด๋‹ํ•˜๋ ค๋ฉด capacity-scaler์„ 0์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

    ig-video-us ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute backend-services add-backend video-backend-service \
        --balancing-mode=UTILIZATION \
        --max-utilization=0.8 \
        --capacity-scaler=1 \
        --instance-group=ig-video-us \
        --instance-group-zone=us-central1-b \
        --global
    

    ig-video-eu ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute backend-services add-backend video-backend-service \
        --balancing-mode=UTILIZATION \
        --max-utilization=0.8 \
        --capacity-scaler=1 \
        --instance-group=ig-video-eu \
        --instance-group-zone=europe-west1-b \
        --global
    

    ig-www-us ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute backend-services add-backend web-backend-service \
        --balancing-mode=UTILIZATION \
        --max-utilization=0.8 \
        --capacity-scaler=1 \
        --instance-group=ig-www-us \
        --instance-group-zone=us-central1-b \
        --global
    

    ig-www-eu ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute backend-services add-backend web-backend-service \
        --balancing-mode=UTILIZATION \
        --max-utilization=0.8 \
        --capacity-scaler=1 \
        --instance-group=ig-www-eu \
        --instance-group-zone=europe-west1-b \
        --global
    
  4. ์ˆ˜์‹ ๋˜๋Š” ์š”์ฒญ์„ ํ•ด๋‹น ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” URL ๋งต์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ --path-rules ํ”Œ๋ž˜๊ทธ๋ฅผ ํ†ตํ•ด ์ •์˜๋œ ์š”์ฒญ ๊ฒฝ๋กœ ๋งคํ•‘์€ ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ๊ฐ ์š”์ฒญ์˜ URL ๊ฒฝ๋กœ์— ๋”ฐ๋ผ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค. --path-rules์˜ ํ•ญ๋ชฉ๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ํŠธ๋ž˜ํ”ฝ์€ --default-service flag์˜ ํ•ญ๋ชฉ์œผ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

    1. URL ๋งต์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

      gcloud compute url-maps create web-map \
          --default-service web-backend-service
      
    2. URL ๋งต์— ๊ฒฝ๋กœ ์ผ์น˜์ž๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์š”์ฒญ ๊ฒฝ๋กœ ๋งคํ•‘์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

      gcloud compute url-maps add-path-matcher web-map \
          --default-service web-backend-service \
          --path-matcher-name pathmap \
          --path-rules="/video=video-backend-service,/video/*=video-backend-service"
      
  5. HTTPS ํ”„๋ก์‹œ์— ์‚ฌ์šฉํ•  SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. Google ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋„๋ฉ”์ธ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ์ด ์—†๋Š” ๊ฒฝ์šฐ ์ž์ฒด ์„œ๋ช… SSL ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ SSL ์ธ์ฆ์„œ ์œ ํ˜•์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์—ฌ๋Ÿฌ SSL ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ธ์ฆ์„œ๋งˆ๋‹ค SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    ์ž์ฒด ๊ด€๋ฆฌํ˜• SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

    gcloud compute ssl-certificates create www-ssl-cert \
        --certificate [CRT_FILE_PATH] \
        --private-key [KEY_FILE_PATH]
    

    Google ๊ด€๋ฆฌํ˜• SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    gcloud compute ssl-certificates create www-ssl-cert \
      --domains [DOMAIN]
    
  6. ๋Œ€์ƒ HTTPS ํ”„๋ก์‹œ๋ฅผ ๋งŒ๋“ค์–ด ์š”์ฒญ์„ URL ๋งต์œผ๋กœ ๋ผ์šฐํŒ…ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ก์‹œ๋Š” HTTPS ๋ถ€ํ•˜ ๋ถ„์‚ฐ์„ ์œ„ํ•ด SSL ์ธ์ฆ์„œ๋ฅผ ํฌํ•จํ•˜๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ์ผ๋ถ€๋ถ„์ด๋ฏ€๋กœ ์ด ๋‹จ๊ณ„์—์„œ ์ธ์ฆ์„œ๋„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute target-https-proxies create https-lb-proxy \
        --url-map web-map --ssl-certificates www-ssl-cert
    
  7. ์ƒ์„ฑํ•œ IP ์ฃผ์†Œ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ํ•˜๋‚˜์”ฉ ๋‘ ๊ฐœ์˜ ์ „์—ญ ์ „๋‹ฌ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด ์ˆ˜์‹ ๋˜๋Š” ์š”์ฒญ์„ ํ”„๋ก์‹œ๋กœ ๋ผ์šฐํŒ…ํ•ฉ๋‹ˆ๋‹ค.

    • ์ „์—ญ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฒฝ์šฐ gcloud CLI ๋ช…๋ น์–ด๋ฅผ load-balancing-scheme=EXTERNAL_MANAGED์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ ๊ณ ๊ธ‰ ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฒฝ์šฐ load-balancing-scheme=EXTERNAL์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    gcloud compute forwarding-rules create https-content-rule \
        --load-balancing-scheme=LOAD_BALANCING_SCHEME \
        --network-tier=PREMIUM \
        --address=lb-ipv4-1 \
        --global \
        --target-https-proxy=https-lb-proxy \
        --ports=443
    
    gcloud compute forwarding-rules create https-content-ipv6-rule \
        --load-balancing-scheme=LOAD_BALANCING_SCHEME \
        --network-tier=PREMIUM \
        --address=lb-ipv6-1 \
        --global \
        --target-https-proxy=https-lb-proxy \
        --ports=443
    

์ „์—ญ ์ „๋‹ฌ ๊ทœ์น™์„ ๋งŒ๋“  ํ›„์— ๊ตฌ์„ฑ์ด ์ „์—ญ์ ์œผ๋กœ ์ ์šฉ๋˜๋Š” ๋ฐ ๋ช‡ ๋ถ„ ์ •๋„ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“  ํ›„ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ์—ฐ๊ฒฐ๋œ IP ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: 30.90.80.100). ๋„๋ฉ”์ธ์ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•˜๋ ค๋ฉด ๋„๋ฉ”์ธ ๋“ฑ๋ก ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ A ๋ ˆ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. SSL ์ธ์ฆ์„œ์— ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค๋ฉด ๋ชจ๋‘ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” A ๋ ˆ์ฝ”๋“œ๋ฅผ ๋„๋ฉ”์ธ๋งˆ๋‹ค ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด www.example.com ๋ฐ example.com์˜ A ๋ ˆ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Cloud DNS๋ฅผ DNS ์ œ๊ณต์—…์ฒด๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€, ์ˆ˜์ •, ์‚ญ์ œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ธ์Šคํ„ด์Šค์— ํŠธ๋ž˜ํ”ฝ ๋ณด๋‚ด๊ธฐ

๋ถ€ํ•˜ ๋ถ„์‚ฐ ์„œ๋น„์Šค๋ฅผ ๊ตฌ์„ฑํ–ˆ์œผ๋ฏ€๋กœ ์ด์ œ ์ „๋‹ฌ ๊ทœ์น™์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์ด ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ˜์†” ๋ฐ ์›น๋ธŒ๋ผ์šฐ์ €

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

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ์œผ๋กœ ์ด๋™

  2. web-map์„ ํด๋ฆญํ•˜์—ฌ ์•ž์—์„œ ๋งŒ๋“  ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

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

  4. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IPv4 ๋ฐ IPv6 ์ฃผ์†Œ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

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

      IP ์ฃผ์†Œ๋กœ ์ด๋™

    2. ์ด๋ฆ„์—์„œ lb-ipv4-1 ๋ฐ lb-ipv6-1์ด๋ผ๋Š” ์ฃผ์†Œ๋ฅผ ์ฐพ์€ ๋‹ค์Œ IP ์ฃผ์†Œ ์—ด์—์„œ ์—ฐ๊ฒฐ๋œ ๊ฐ’์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

  5. Google ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

    1. ๋‹ค์Œ DNS ๋ ˆ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    2. ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค์˜ ์ƒํƒœ๊ฐ€ ACTIVE์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google ๊ด€๋ฆฌํ˜• SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค ์ƒํƒœ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  6. ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋กœ ์ด๋™ํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.

    • https://IP_ADDRESS. ์—ฌ๊ธฐ์„œ IP_ADDRESS๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IPv4 ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์— ์ธ์ฆ์„œ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ธ์ฆ์„œ๋ฅผ ์‹ ๋ขฐํ•˜๋„๋ก ๋ช…์‹œ์ ์œผ๋กœ ์ง€์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ IP ์ฃผ์†Œ๊ฐ€ ์•„๋‹Œ ๋„๋ฉ”์ธ์œผ๋กœ ๊ตฌ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

    • https://FQDN. ์—ฌ๊ธฐ์„œ FQDN์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก DNS๋ฅผ ๊ตฌ์„ฑํ•œ ์ •๊ทœํ™”๋œ ๋„๋ฉ”์ธ ์ด๋ฆ„(FQDN)์ž…๋‹ˆ๋‹ค. ์ž์ฒด ๊ด€๋ฆฌํ˜• ์ž์ฒด ์„œ๋ช… SSL ๋˜๋Š” ์ปค์Šคํ…€ ์ธ์ฆ ๊ธฐ๊ด€(CA)์—์„œ ์„œ๋ช…ํ•œ ์ž์ฒด ๊ด€๋ฆฌํ˜• SSL ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ ์ธ์ฆ์„œ ๋˜๋Š” ์ธ์ฆ์„œ์˜ CA๋ฅผ ์‹ ๋ขฐํ•˜๋„๋ก ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜์ง€ ์•Š๋Š” ํ•œ ๋ธŒ๋ผ์šฐ์ €์— ์ธ์ฆ์„œ ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ž์ฒด ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋น„๊ณต๊ฐœ ํ‚ค ๋ฐ ์ธ์ฆ์„œ ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    ๋ธŒ๋ผ์šฐ์ €๋Š” ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•œ ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„๊ณผ ์˜์—ญ์„ ํ‘œ์‹œํ•˜๋Š” ์ฝ˜ํ…์ธ ๋กœ ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: Page on ig-www-us-02 in us-central1-b).

  7. ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    • https://IP_ADDRESS/video. ์—ฌ๊ธฐ์„œ IP_ADDRESS๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IPv4 ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

    • https://FQDN/video. ์—ฌ๊ธฐ์„œ FQDN์€ DNS๊ฐ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IP ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ๊ตฌ์„ฑํ•œ FQDN์ž…๋‹ˆ๋‹ค.

    ๋ธŒ๋ผ์šฐ์ €๋Š” ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•œ ๋™์˜์ƒ ์ธ์Šคํ„ด์Šค์˜ ์ด๋ฆ„๊ณผ ์˜์—ญ์„ ํ‘œ์‹œํ•˜๋Š” ์ฝ˜ํ…์ธ ๋กœ ํŽ˜์ด์ง€๋ฅผ ๋ Œ๋”๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: Page on ig-video-us-02 in us-central1-b).

gcloud ๋ฐ curl ์‚ฌ์šฉ

  1. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IPv4 ๋ฐ IPv6 ์ฃผ์†Œ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute addresses describe lb-ipv4-1 \
    --format="get(address)" \
    --global
    
    gcloud compute addresses describe lb-ipv6-1 \
    --format="get(address)" \
    --global
    
  2. Google ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

    1. ๋‹ค์Œ DNS ๋ ˆ์ฝ”๋“œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    2. ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค์˜ ์ƒํƒœ๊ฐ€ ACTIVE์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google ๊ด€๋ฆฌํ˜• SSL ์ธ์ฆ์„œ ๋ฆฌ์†Œ์Šค ์ƒํƒœ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

      gcloud compute ssl-certificates list
      
  3. curl ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ URL์˜ ์‘๋‹ต์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. IP_ADDRESS๋ฅผ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IPv4 ์ฃผ์†Œ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    curl -k https://IP_ADDRESS
    
    curl -k https://IP_ADDRESS/video/
    
  4. curl ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ URL์˜ ์‘๋‹ต์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค. IP_ADDRESS๋ฅผ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IPv6 ์ฃผ์†Œ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. IPv6์˜ ๊ฒฝ์šฐ ์ฃผ์†Œ๋ฅผ ๋Œ€๊ด„ํ˜ธ([])๋กœ ๋ฌถ๊ณ  -g ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์™€์ผ๋“œ์นด๋“œ ์‚ฌ์šฉ์„ ๋น„ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: curl -g -6 "https://[2001:DB8::]/").

    curl -k -g -6 https://[IP_ADDRESS]
    
    curl -k -g -6 https://[IP_ADDRESS]/video/
    

๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ

๋‹ค๋ฅธ ์ง€์—ญ์˜ ์‚ฌ์šฉ์ž๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ๋ฆฌ์ „์˜ ๊ฐ€์ƒ ๋จธ์‹  ์ธ์Šคํ„ด์Šค ์ค‘ ํ•˜๋‚˜์— ์—ฐ๊ฒฐํ•œ ๋‹ค์Œ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์—์„œ curl ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฆฌ์ „์˜ ์ธ์Šคํ„ด์Šค๋กœ ์ด๋™ํ•˜๋Š” ์š”์ฒญ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ig-www-us-01์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ curl ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์š”์ฒญ์ด us-central1์˜ ์ธ์Šคํ„ด์Šค๋กœ ์ด๋™ํ•œ๋‹ค๊ณ  ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Page on ig-www-us-02 in us-central1-b์™€ ๊ฐ™์€ ์ถœ๋ ฅ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ig-www-eu-01์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ curl ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์š”์ฒญ์ด europe-west1์˜ ์ธ์Šคํ„ด์Šค๋กœ ์ด๋™ํ•œ๋‹ค๊ณ  ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Page on ig-www-eu-02 in europe-west1-b์™€ ๊ฐ™์€ ์ถœ๋ ฅ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ๋Š” ์ „ ์„ธ๊ณ„์˜ ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฆฌ์ „์˜ ๋ฐฑ์—”๋“œ๊ฐ€ ๋น„์ •์ƒ์ ์ด๊ฑฐ๋‚˜ ์šฉ๋Ÿ‰์— ๋„๋‹ฌํ•˜๋ฉด HTTPS ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ํŠธ๋ž˜ํ”ฝ์„ ๋‹ค์Œ์œผ๋กœ ๊ฐ€๊นŒ์šด ๋ฆฌ์ „์œผ๋กœ ์ž๋™์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ๊ตฌ์„ฑ ์˜ต์…˜

์ด ์„น์…˜์—์„œ๋Š” ๋Œ€์ฒด ๋ฐ ์ถ”๊ฐ€ ๊ตฌ์„ฑ ์˜ต์…˜์„ ์ œ๊ณตํ•˜๋Š” ๊ตฌ์„ฑ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ๋ชจ๋“  ์ž‘์—…์€ ์„ ํƒ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์‚ฌ์šฉ ์„ค์ •

๋‹ค์Œ ์ ˆ์ฐจ๋Š” ๊ฐ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ๋‹ค๋ฅธ ์œ ํ˜•์˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

  • web-backend-service์˜ ํด๋ผ์ด์–ธํŠธ IP ์ฃผ์†Œ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ
  • video-backend-service์˜ HTTP ์ฟ ํ‚ค ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ

ํด๋ผ์ด์–ธํŠธ IP ์–ดํ”ผ๋‹ˆํ‹ฐ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ํด๋ผ์ด์–ธํŠธ์˜ IP ์ฃผ์†Œ์—์„œ ์ƒ์„ฑ๋œ ํ•ด์‹œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋™์ผํ•œ ๋ฐฑ์—”๋“œ VM์œผ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ ์ฟ ํ‚ค ์–ดํ”ผ๋‹ˆํ‹ฐ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์—์„œ ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ ํ›„์† ์š”์ฒญ์˜ ๊ฒฝ์šฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๊ฐ™์€ ๋ฐฑ์—”๋“œ VM ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋กœ ์š”์ฒญ์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฒฝ์šฐ ์ฟ ํ‚ค ์ด๋ฆ„์€ GCLB์ž…๋‹ˆ๋‹ค.

์ฝ˜์†”

web-backend-service์— ํด๋ผ์ด์–ธํŠธ IP ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

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

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ์œผ๋กœ ์ด๋™

  2. ๋ฐฑ์—”๋“œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. web-backend-service(์ด ์˜ˆ์‹œ์—์„œ ๋งŒ๋“  ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜์˜ ์ด๋ฆ„)๋ฅผ ํด๋ฆญํ•˜๊ณ  ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ ๊ณ ๊ธ‰ ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ์˜ ๋ฉ”๋‰ด์—์„œ ํด๋ผ์ด์–ธํŠธ IP๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  6. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ ์ฟ ํ‚ค ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ video-backend-service์— ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

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

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ์œผ๋กœ ์ด๋™

  2. ๋ฐฑ์—”๋“œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. video-backend-service(์ด ์˜ˆ์‹œ์—์„œ ๋งŒ๋“  ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜์˜ ์ด๋ฆ„)๋ฅผ ํด๋ฆญํ•˜๊ณ  ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ ๊ณ ๊ธ‰ ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ๋ฉ”๋‰ด์—์„œ ์ƒ์„ฑ๋œ ์ฟ ํ‚ค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  6. ์—…๋ฐ์ดํŠธ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

๋‹ค์Œ gcloud ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ IP ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์ง€์ •ํ•˜์—ฌ web-backend-service ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

gcloud compute backend-services update web-backend-service \
    --session-affinity=CLIENT_IP \
    --global

๋‹ค์Œ gcloud ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ์ฟ ํ‚ค ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์ง€์ •ํ•˜์—ฌ video-backend-service ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

gcloud compute backend-services update video-backend-service \
    --session-affinity=GENERATED_COOKIE \
    --global

API

ํด๋ผ์ด์–ธํŠธ IP ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด backendServices/patch ๋ฉ”์„œ๋“œ์— PATCH ์š”์ฒญ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/backendServices/web-backend-service
{
  "sessionAffinity": "CLIENT_IP"
}

์ƒ์„ฑ๋œ ์ฟ ํ‚ค ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด backendServices/patch ๋ฉ”์„œ๋“œ์— PATCH ์š”์ฒญ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/backendServices/video-backend-service
{
  "sessionAffinity": "GENERATED_COOKIE"
}

๋ฐฑ์—”๋“œ VM์—์„œ ์™ธ๋ถ€ IP ์ฃผ์†Œ ์ œ๊ฑฐ

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

๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์—์„œ ์™ธ๋ถ€ IP ์ฃผ์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ง€์นจ์„ ๋”ฐ๋ฅด์„ธ์š”.

SSH๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์™ธ๋ถ€ IP ์ฃผ์†Œ๊ฐ€ ์—†๋Š” ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์™ธ๋ถ€ IP ์ฃผ์†Œ๊ฐ€ ์—†๋Š” ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์‚ญ์ œ

์ด ํŠœํ† ๋ฆฌ์–ผ์„ ์™„๋ฃŒํ•œ ํ›„์—๋Š” ๋งŒ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•˜์—ฌ ํ–ฅํ›„ ์š”๊ธˆ์ด ์ฒญ๊ตฌ๋˜์ง€ ์•Š๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ž์ฒด ํ”„๋กœ์ ํŠธ ๋‚ด์— ๋งŒ๋“  ๊ฒฝ์šฐ ์ „์ฒด ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ฝ˜์†”

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

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

  2. ํ”„๋กœ์ ํŠธ ๋ชฉ๋ก์—์„œ ์‚ญ์ œํ•  ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•˜๊ณ  ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๋Œ€ํ™”์ƒ์ž์—์„œ PROJECT_ID๋ฅผ ์ž…๋ ฅํ•œ ๋‹ค์Œ ์ข…๋ฃŒ๋ฅผ ํด๋ฆญํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

gcloud

PROJECT_ID๋ฅผ ํ”„๋กœ์ ํŠธ ID๋กœ ๋ฐ”๊ฟ” ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

gcloud projects delete PROJECT_ID

๊ฐœ๋ณ„ ๋ฆฌ์†Œ์Šค ์‚ญ์ œ

์ฝ˜์†”

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์‚ญ์ œ

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

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ์œผ๋กœ ์ด๋™

  2. web-map ์˜†์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. ํŽ˜์ด์ง€ ์ƒ๋‹จ์˜ ์‚ญ์ œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค, ์ƒํƒœ ์ ๊ฒ€, SSL ์ธ์ฆ์„œ ๋“ฑ ๋ชจ๋“  ์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค ์˜†์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  5. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐ ์„ ํƒํ•œ ๋ฆฌ์†Œ์Šค ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ์‚ญ์ œ

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

    ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์œผ๋กœ ์ด๋™

  2. ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์„ ํƒํ•˜๋ ค๋ฉด ์ด๋ฆ„ ์ƒ๋‹จ ์˜†์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ํ™•์ธ ์ฐฝ์—์„œ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์™ธ๋ถ€ IP ์ฃผ์†Œ ํ•ด์ œ

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

    ์™ธ๋ถ€ IP ์ฃผ์†Œ๋กœ ์ด๋™

  2. lb-ipv4-1 ๋ฐ lb-ipv6-1 ์˜†์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค,

  3. ๊ณ ์ • ์ฃผ์†Œ ํ•ด์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ํ™•์ธ ์ฐฝ์—์„œ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ์‚ญ์ œ

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

    ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…์œผ๋กœ ์ด๋™

  2. fw-allow-health-check-and-proxy ๋ฐ fw-allow-ssh ์˜†์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค,

  3. ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ํ™•์ธ ์ฐฝ์—์„œ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

VM ์ธ์Šคํ„ด์Šค ์‚ญ์ œ

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

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

  2. ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•˜๋ ค๋ฉด ์ด๋ฆ„ ์ƒ๋‹จ ์˜†์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ํ™•์ธ ์ฐฝ์—์„œ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

VPC ๋„คํŠธ์›Œํฌ ์‚ญ์ œ

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

    VPC ๋„คํŠธ์›Œํฌ๋กœ ์ด๋™

  2. lb-network๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๋„คํŠธ์›Œํฌ ์„ธ๋ถ€์ •๋ณด ํŽ˜์ด์ง€์—์„œ VPC ๋„คํŠธ์›Œํฌ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ํ™•์ธ ์ฐฝ์—์„œ ์‚ญ์ œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์‚ญ์ œ

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด ํ•ด๋‹น ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๊ฐ๊ฐ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ์ „๋‹ฌ ๊ทœ์น™์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute forwarding-rules delete https-content-rule \
        --global
    
    gcloud compute forwarding-rules delete https-content-ipv6-rule \
        --global
    
  2. ์ „์—ญ ์™ธ๋ถ€ IP ์ฃผ์†Œ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute addresses delete lb-ipv4-1 \
        --global
    
    gcloud compute addresses delete lb-ipv6-1 \
        --global
    
  3. ๋Œ€์ƒ ํ”„๋ก์‹œ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute target-https-proxies delete https-lb-proxy
    
  4. SSL ์ธ์ฆ์„œ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute ssl-certificates delete www-ssl-cert
    
  5. URL ๋งต์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute url-maps delete web-map
    
  6. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute backend-services delete web-backend-service \
        --global
    
    gcloud compute backend-services delete video-backend-service \
        --global
    
  7. ์ƒํƒœ ์ ๊ฒ€์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute health-checks delete http-basic-check
    

๋ชจ๋“  ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค.

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ์‚ญ์ œ

๋‹ค์Œ ์ด๋ฆ„ ๋ฐ ์˜์—ญ ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•ด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ 4๊ฐœ์˜ ๋น„๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. INSTANCE_GROUP_NAME ๋ฐ ZONE์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • ์ด๋ฆ„: ig-www-us, ์˜์—ญ: us-central1-b
  • ์ด๋ฆ„: ig-video-us, ์˜์—ญ: us-central1-b
  • ์ด๋ฆ„: ig-www-eu, ์˜์—ญ: europe-west1-b
  • ์ด๋ฆ„: ig-video-eu, ์˜์—ญ: europe-west1-b
gcloud compute instance-groups unmanaged delete INSTANCE_GROUP_NAME \
   --zone=ZONE

VM ์ธ์Šคํ„ด์Šค ์‚ญ์ œ

๋‹ค์Œ ์ด๋ฆ„ ๋ฐ ์˜์—ญ ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•ด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ 8๊ฐœ์˜ VM์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. VM_NAME ๋ฐ ZONE์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • ์ด๋ฆ„: ig-www-us-01, ์˜์—ญ: us-central1-b
  • ์ด๋ฆ„: ig-www-us-02, ์˜์—ญ: us-central1-b
  • ์ด๋ฆ„: ig-video-us-01, ์˜์—ญ: us-central1-b
  • ์ด๋ฆ„: ig-video-us-02, ์˜์—ญ: us-central1-b
  • ์ด๋ฆ„: ig-www-eu-01, ์˜์—ญ: europe-west1-b
  • ์ด๋ฆ„: ig-www-eu-02, ์˜์—ญ: europe-west1-b
  • ์ด๋ฆ„: ig-video-eu-01, ์˜์—ญ: europe-west1-b
  • ์ด๋ฆ„: ig-video-eu-02, ์˜์—ญ: europe-west1-b
gcloud compute instances delete VM_NAME \
   --zone=ZONE

๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ์‚ญ์ œ

๋‘ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋ชจ๋‘ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

gcloud compute firewall-rules delete fw-allow-health-check-and-proxy
gcloud compute firewall-rules delete fw-allow-ssh

VPC ๋„คํŠธ์›Œํฌ ์‚ญ์ œ

  1. us-subnet์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute networks subnets delete us-subnet \
    --region=us-central1
    
  2. eu-subnet์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute networks subnets delete eu-subnet \
    --region=europe-west1
    
  3. VPC ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute networks delete lb-network
    

์ด ํ”„๋กœ์ ํŠธ์—์„œ ์„ค์ •ํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค.

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