๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ฐœ์š”

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

Google Cloud ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋‹จ์ผ ๋‚ด๋ถ€ IP ์ฃผ์†Œ๋กœ ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ ๋ฐ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋ก์‹œ ๊ธฐ๋ฐ˜์˜ ๋ ˆ์ด์–ด 7 ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์ž…๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” Compute Engine, Google Kubernetes Engine(GKE), Cloud Run๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ Google Cloud ํ”Œ๋žซํผ์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” ๋ฐฑ์—”๋“œ์— HTTP ๋ฐ HTTPS ํŠธ๋ž˜ํ”ฝ์„ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ž‘์—… ๋ชจ๋“œ

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋‹ค์Œ ๋ชจ๋“œ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

    ๋‹ค์Œ ํ‘œ์—์„œ๋Š” ๋ฆฌ์ „ ๊ฐ„ ๋ชจ๋“œ์™€ ๋ฆฌ์ „ ๋ชจ๋“œ ๊ฐ„์˜ ์ค‘์š”ํ•œ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ ๊ธฐ๋Šฅ
    ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฐ€์ƒ IP ์ฃผ์†Œ(VIP) ํด๋ผ์ด์–ธํŠธ ์•ก์„ธ์Šค ๋ถ€ํ•˜ ๋ถ„์‚ฐ๋œ ๋ฐฑ์—”๋“œ ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐ ์žฅ์•  ์กฐ์น˜
    ๋ฆฌ์ „ ๊ฐ„ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํŠน์ • Google Cloud ๋ฆฌ์ „์˜ ์„œ๋ธŒ๋„ท์—์„œ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.

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

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

๋ชจ๋“œ ์‹๋ณ„

์ฝ˜์†”

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

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

  2. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํƒญ์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์œ ํ˜•, ํ”„๋กœํ† ์ฝœ, ๋ฆฌ์ „์„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ „์ด ๋น„์–ด ์žˆ์œผ๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ๊ต์ฐจ ๋ฆฌ์ „ ๋ชจ๋“œ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ํ‘œ์—๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๋ชจ๋“œ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์š”์•ฝ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์œ ํ˜• ์•ก์„ธ์Šค ์œ ํ˜• ์ง€์—ญ
    ๋ฆฌ์ „ ๊ฐ„ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด๋ถ€
    ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด๋ถ€ ๋ฆฌ์ „ ์ง€์ •

gcloud

  1. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute forwarding-rules describe FORWARDING_RULE_NAME
    

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

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์Šคํ‚ค๋งˆ ์ „๋‹ฌ ๊ทœ์น™
    ๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ INTERNAL_MANAGED ์ „์—ญ
    ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ INTERNAL_MANAGED ๋ฆฌ์ „

์•„ํ‚คํ…์ฒ˜ ๋ฐ ๋ฆฌ์†Œ์Šค

๋‹ค์Œ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ํ•„์š”ํ•œ Google Cloud ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ฆฌ์ „ ๊ฐ„ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

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

๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ตฌ์„ฑ์š”์†Œ
๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ตฌ์„ฑ์š”์†Œ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

๋ฆฌ์ „๋ณ„ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

์ด ๋‹ค์ด์–ด๊ทธ๋žจ์€ ํ”„๋ฆฌ๋ฏธ์—„ ๋“ฑ๊ธ‰์˜ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐฐํฌ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ตฌ์„ฑ์š”์†Œ
๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ตฌ์„ฑ์š”์†Œ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐฐํฌ์—๋Š” ๋‹ค์Œ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท

์œ„์˜ ๋‹ค์ด์–ด๊ทธ๋žจ์—์„œ ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท์€ Google์ด ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ Envoy ํ”„๋ก์‹œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” IP ์ฃผ์†Œ ์ง‘ํ•ฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” VPC ๋„คํŠธ์›Œํฌ์˜ ๊ฐ ๋ฆฌ์ „์— ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ๋ฆฌ์ „ ๊ฐ„ ๋ชจ๋“œ์™€ ๋ฆฌ์ „ ๋ชจ๋“œ์—์„œ ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์ „ ๊ฐ„ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋ฆฌ์ „ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋™์ผํ•œ ์„œ๋ธŒ๋„ท์„ ๊ณต์œ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท --purpose ํ”Œ๋ž˜๊ทธ์˜ ๊ฐ’
๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

GLOBAL_MANAGED_PROXY

๋ฆฌ์ „ ๊ฐ„ Envoy ๊ธฐ๋ฐ˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ๊ตฌ์„ฑ๋œ ๊ฐ ๋ฆฌ์ „์— ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ฆฌ์ „ ๋ฐ ๋„คํŠธ์›Œํฌ์˜ ๊ต์ฐจ ๋ฆฌ์ „ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํ”„๋ก์‹œ๋Š” ๋™์ผํ•œ ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

REGIONAL_MANAGED_PROXY

๋ฆฌ์ „ ๋ฐ VPC ๋„คํŠธ์›Œํฌ์˜ ๋ชจ๋“  ๋ฆฌ์ „ Envoy ๊ธฐ๋ฐ˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋™์ผํ•œ ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ๋ฐ–์—๋„ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

์ „๋‹ฌ ๊ทœ์น™ ๋ฐ IP ์ฃผ์†Œ

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

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

ํด๋ผ์ด์–ธํŠธ๋Š” IP ์ฃผ์†Œ์™€ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ Envoy ํ”„๋ก์‹œ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ „๋‹ฌ ๊ทœ์น™์˜ IP ์ฃผ์†Œ๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IP ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค(๊ฐ€์ƒ IP ์ฃผ์†Œ ๋˜๋Š” VIP๋ผ๊ณ ๋„ ํ•จ). ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์—ฐ๊ฒฐํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” HTTP ๋ฒ„์ „ 1.1 ์ด์ƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ์ „์ฒด ํ”„๋กœํ† ์ฝœ ๋ชฉ๋ก์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ธฐ๋Šฅ ๋น„๊ต๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ „๋‹ฌ ๊ทœ์น™์— ์—ฐ๊ฒฐ๋œ ๋‚ด๋ถ€ IP ์ฃผ์†Œ๋Š” ๋ฐฑ์—”๋“œ์™€ ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ ๋ฐ ๋ฆฌ์ „์˜ ๋ชจ๋“  ์„œ๋ธŒ๋„ท์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํฌํŠธ ์‚ฌ์–‘. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฐ ์ „๋‹ฌ ๊ทœ์น™์€ 1~65535 ๋ฒ”์œ„์˜ ๋‹จ์ผ ํฌํŠธ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํฌํŠธ๋ฅผ ์ง€์›ํ•˜๋ ค๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ „๋‹ฌ ๊ทœ์น™์„ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. IP ์ฃผ์†Œ, ํฌํŠธ, ํ”„๋กœํ† ์ฝœ์˜ ์ „์ฒด ์กฐํ•ฉ์ด ๊ฐ ์ „๋‹ฌ ๊ทœ์น™๋งˆ๋‹ค ๊ณ ์œ ํ•˜๋ฉด ๋™์ผํ•œ ๋‚ด๋ถ€ IP ์ฃผ์†Œ(VIP)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋™์ผํ•œ ๋Œ€์ƒ HTTP ๋˜๋Š” HTTPS ํ”„๋ก์‹œ๋ฅผ ์ฐธ์กฐํ•˜๋„๋ก ์—ฌ๋Ÿฌ ์ „๋‹ฌ ๊ทœ์น™์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ณต์œ  URL ๋งต์ด ์žˆ๋Š” ๋‹จ์ผ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ํ”„๋ก์‹œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์‚ฌ์šฉ๋˜๋Š” ์ „๋‹ฌ ๊ทœ์น™, IP ์ฃผ์†Œ, ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์Šคํ‚ค๋งˆ์˜ ์œ ํ˜•์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

๋ฆฌ์ „ ๊ฐ„ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ
์ „๋‹ฌ ๊ทœ์น™

globalForwardingRules.insert ๋ฉ”์„œ๋“œ

๋ฆฌ์ „ IP ์ฃผ์†Œ

addresses.insert ๋ฉ”์„œ๋“œ

๋ถ€ํ•˜ ๋ถ„์‚ฐ ์Šคํ‚ค๋งˆ

INTERNAL_MANAGED

IP ์ฃผ์†Œ(์„ ํƒ์‚ฌํ•ญ)

SHARED_LOADBALANCER_VIP

ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ํ”„๋ŸฐํŠธ์—”๋“œ๋กœ ๋ผ์šฐํŒ…

VPC ๋‚ด ๋ชจ๋“  ๋ฆฌ์ „์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋ณธ์ ์œผ๋กœ ์ „์—ญ ์•ก์„ธ์Šค๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋Š” ์—ฌ๋Ÿฌ ๋ฆฌ์ „์— ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ
์ „๋‹ฌ ๊ทœ์น™

forwardingRules.insert ๋ฉ”์„œ๋“œ

๋ฆฌ์ „ IP ์ฃผ์†Œ

addresses.insert ๋ฉ”์„œ๋“œ

๋ถ€ํ•˜ ๋ถ„์‚ฐ ์Šคํ‚ค๋งˆ

INTERNAL_MANAGED

IP ์ฃผ์†Œ(์„ ํƒ์‚ฌํ•ญ)

SHARED_LOADBALANCER_VIP

ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ํ”„๋ŸฐํŠธ์—”๋“œ๋กœ ๋ผ์šฐํŒ…

VPC์˜ ๋ชจ๋“  ๋ฆฌ์ „์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์•ก์„ธ์Šคํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋ฉด ์ „์—ญ ์•ก์„ธ์Šค๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฑ์—”๋“œ๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋™์ผํ•œ ๋ฆฌ์ „์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ „๋‹ฌ ๊ทœ์น™ ๋ฐ VPC ๋„คํŠธ์›Œํฌ

์ด ์„น์…˜์—์„œ๋Š” ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ „๋‹ฌ ๊ทœ์น™์ด VPC ๋„คํŠธ์›Œํฌ์™€ ์—ฐ๊ฒฐ๋˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ VPC ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ
๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

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

๋Œ€์ƒ ํ”„๋ก์‹œ

๋Œ€์ƒ HTTP ๋˜๋Š” HTTPS ํ”„๋ก์‹œ๋Š” ํด๋ผ์ด์–ธํŠธ์˜ HTTP(S) ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. HTTP(S) ํ”„๋ก์‹œ๋Š” URL ๋งต์„ ์ฐธ์กฐํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐฑ์—”๋“œ๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์ƒ HTTPS ํ”„๋ก์‹œ๋Š” SSL ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์— ์ž์‹ ์„ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์›๋ž˜ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์˜ ํ˜ธ์ŠคํŠธ ํ—ค๋”๋ฅผ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋‘ IP ์ฃผ์†Œ๋ฅผ X-Forwarded-For ํ—ค๋”์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์—ฐ๊ฒฐ๋˜๋Š” ํด๋ผ์ด์–ธํŠธ์˜ IP ์ฃผ์†Œ
  • ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ์ „๋‹ฌ ๊ทœ์น™์— ํ•ด๋‹นํ•˜๋Š” IP ์ฃผ์†Œ

์ˆ˜์‹  ์š”์ฒญ์— X-Forwarded-For ํ—ค๋”๊ฐ€ ์—†์œผ๋ฉด ์ด ๋‘ IP ์ฃผ์†Œ๊ฐ€ ์ „์ฒด ํ—ค๋” ๊ฐ’์ž…๋‹ˆ๋‹ค. ์š”์ฒญ์— X-Forwarded-For ํ—ค๋”๊ฐ€ ์žˆ์œผ๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋กœ ๊ฐ€๋Š” ๋™์•ˆ ํ”„๋ก์‹œ์—์„œ ๊ธฐ๋กํ•œ IP ์ฃผ์†Œ์™€ ๊ฐ™์€ ๊ธฐํƒ€ ์ •๋ณด๊ฐ€ ๋‘ IP ์ฃผ์†Œ๋ณด๋‹ค ๋จผ์ € ๋ณด์กด๋ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์ด ํ—ค๋”์˜ ๋งˆ์ง€๋ง‰ ๋‘ IP ์ฃผ์†Œ ์•ž์— ์žˆ๋Š” IP ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”„๋ก์‹œ๋ฅผ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋กœ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ ์ด ํ”„๋ก์‹œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ X-Forwarded-For ํ—ค๋”์— ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฏ€๋กœ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ์ด๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ํ”„๋ก์‹œ ์„ค์ •๋œ ์š”์ฒญ์€ ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท์˜ IP ์ฃผ์†Œ์—์„œ ๊ฐ€์ ธ์˜ค๋ฉฐ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์˜ ํ”„๋ก์‹œ๋Š” ์ด ์ฃผ์†Œ์™€ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์˜ ์ž์ฒด IP ์ฃผ์†Œ๋ฅผ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ ์œ ํ˜•์— ๋”ฐ๋ผ ๋Œ€์ƒ HTTP ํ”„๋ก์‹œ ๋˜๋Š” ๋Œ€์ƒ HTTPS ํ”„๋ก์‹œ๋กœ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ํ•„์š”ํ•œ ๋Œ€์ƒ ํ”„๋ก์‹œ API๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ ๋Œ€์ƒ ํ”„๋ก์‹œ
๋ฆฌ์ „ ๊ฐ„ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ
๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

SSL ์ธ์ฆ์„œ

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

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ๊ฐ ๋ชจ๋“œ์˜ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ํ•„์š”ํ•œ SSL ์ธ์ฆ์„œ ์œ ํ˜•์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ SSL ์ธ์ฆ์„œ ์œ ํ˜•
๋ฆฌ์ „ ๊ฐ„ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

์ธ์ฆ์„œ ๊ด€๋ฆฌ์ž ์ž์ฒด ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ ๋ฐ Google ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ.

์ธ์ฆ์„œ ๊ด€๋ฆฌ์ž์—์„œ ์ง€์›๋˜๋Š” Google ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ ์œ ํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์Šน์ธ์„ ์‚ฌ์šฉํ•˜๋Š” Google ๊ด€๋ฆฌ ์ธ์ฆ์„œ๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Compute Engine SSL ์ธ์ฆ์„œ๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

Compute Engine ๋ฆฌ์ „ SSL ์ธ์ฆ์„œ

์ธ์ฆ์„œ ๊ด€๋ฆฌ์ž ๋ฆฌ์ „๋ณ„ ์ž์ฒด ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ ๋ฐ Google ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ.

์ธ์ฆ์„œ ๊ด€๋ฆฌ์ž์—์„œ ์ง€์›๋˜๋Š” Google ๊ด€๋ฆฌํ˜• ์ธ์ฆ์„œ ์œ ํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์Šน์ธ์„ ์‚ฌ์šฉํ•˜๋Š” Google ๊ด€๋ฆฌ ์ธ์ฆ์„œ๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

URL ๋งต

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

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ๊ฐ ๋ชจ๋“œ์—์„œ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ํ•„์š”ํ•œ URL ๋งต ์œ ํ˜•์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ URL ๋งต ์œ ํ˜•
๋ฆฌ์ „ ๊ฐ„ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ urlMaps
๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ regionUrlMaps

๋ฐฑ์—”๋“œ ์„œ๋น„์Šค

๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋Š” Compute Engine ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์—”๋“œํฌ์ธํŠธ ๊ทธ๋ฃน(NEG)์™€ ๊ฐ™์€ ๋ฐฑ์—”๋“œ๋กœ ์š”์ฒญ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๊ตฌ์„ฑ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋ฒ”์œ„

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋ฆฌ์†Œ์Šค์™€ ๋ฒ”์œ„๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋ฆฌ์†Œ์Šค
๋ฆฌ์ „ ๊ฐ„ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ backendServices
๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ regionBackendServices

๋ฐฑ์—”๋“œ ํ”„๋กœํ† ์ฝœ

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋Š” ๋ฐฑ์—”๋“œ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ํ”„๋กœํ† ์ฝœ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • HTTP: HTTP/1.1 ์‚ฌ์šฉํ•˜์ง€๋งŒ TLS๋ฅผ ์‚ฌ์šฉ ์•ˆ ํ•จ
  • HTTPS: HTTP/1.1 ๋ฐ TLS ์‚ฌ์šฉ
  • HTTP/2: HTTP/2 ๋ฐ TLS ์‚ฌ์šฉ(์•”ํ˜ธํ™”๊ฐ€ ์—†๋Š” HTTP/2๋Š” ์ง€์›๋˜์ง€ ์•Š์Œ)
  • H2C: TCP๋ฅผ ํ†ตํ•ด HTTP/2 ์‚ฌ์šฉ. TLS๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. H2C๋Š” ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

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

๋ฐฑ์—”๋“œ

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ๊ฐ ๋ชจ๋“œ์—์„œ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ง€์›ํ•˜๋Š” ๋ฐฑ์—”๋“œ ๊ธฐ๋Šฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.


๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ
๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ๋ฐฑ์—”๋“œ ์ง€์›1 ๋ฐฑ์—”๋“œ ๋ฒ„ํ‚ท ์ง€์› Cloud Armor ์ง€์› Cloud CDN ์ง€์› IAP ์ง€์› Service Extensions ์ง€์›
์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน2 ์˜์—ญ๋ณ„ NEG3 ์ธํ„ฐ๋„ท NEG ์„œ๋ฒ„๋ฆฌ์Šค NEG ํ•˜์ด๋ธŒ๋ฆฌ๋“œ NEG Private Service Connect NEG
๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ
Cloud Run
๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ
Cloud Run

1 ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ๋ชจ๋“  ๋ฐฑ์—”๋“œ๋Š” ๊ฐ™์€ ์œ ํ˜•์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋‘ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์ด๊ฑฐ๋‚˜ ๋ชจ๋‘ ๊ฐ™์€ ์œ ํ˜•์˜ NEG์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ทœ์น™์— ๋Œ€ํ•œ ์˜ˆ์™ธ๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด GCE_VM_IP_PORT ์˜์—ญ๋ณ„ NEG์™€ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ NEG๋ฅผ ๋ชจ๋‘ ๋™์ผํ•œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

2 ๊ฐ™์€ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์—์„œ ์˜์—ญ๋ณ„ ๋น„๊ด€๋ฆฌ, ์˜์—ญ๋ณ„ ๊ด€๋ฆฌํ˜•, ๋ฆฌ์ „๋ณ„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๊ฐ€ ๋‘˜ ์ด์ƒ์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ์†ํ•˜๋Š” ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์—ฌ๋Ÿฌ ์‹ ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ์ž๋™ ํ™•์žฅ ์ •์ฑ…์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

3 ์˜์—ญ๋ณ„ NEG๋Š” GCE_VM_IP_PORT ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ๋ฐ VPC ๋„คํŠธ์›Œํฌ

๋ฐฑ์—”๋“œ๋ฅผ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜์— ๋Œ€ํ•œ ์ œํ•œ์‚ฌํ•ญ์€ ๋ฐฑ์—”๋“œ ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

  • ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน, ์˜์—ญ๋ณ„ NEG, ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์—ฐ๊ฒฐ NEG์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ๋ฐฑ์—”๋“œ๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์™€ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ ๋ฐ ๋ฆฌ์ „์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์™€ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ๋‹ค๋ฅธ VPC ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฑ์—”๋“œ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ VPC ๋„คํŠธ์›Œํฌ์™€ ๋ฐฑ์—”๋“œ VPC ๋„คํŠธ์›Œํฌ ๊ฐ„์˜ ์—ฐ๊ฒฐ์€ VPC ๋„คํŠธ์›Œํฌ ํ”ผ์–ด๋ง, Cloud VPN ํ„ฐ๋„, Cloud Interconnect VLAN ์—ฐ๊ฒฐ ๋˜๋Š” Network Connectivity Center ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋ฐฑ์—”๋“œ ๋„คํŠธ์›Œํฌ ์ •์˜

    • ์˜์—ญ๋ณ„ NEG ๋ฐ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ NEG์˜ ๊ฒฝ์šฐ NEG๋ฅผ ๋งŒ๋“ค ๋•Œ VPC ๋„คํŠธ์›Œํฌ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๊ฒฝ์šฐ VPC ๋„คํŠธ์›Œํฌ๊ฐ€ ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์— ์ •์˜๋ฉ๋‹ˆ๋‹ค.
    • ๋น„๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ VPC ๋„คํŠธ์›Œํฌ๋Š” ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์ถ”๊ฐ€๋œ ์ฒซ ๋ฒˆ์งธ VM์— ๋Œ€ํ•œ nic0 ์ธํ„ฐํŽ˜์ด์Šค์˜ VPC ๋„คํŠธ์›Œํฌ์™€ ์ผ์น˜ํ•˜๋„๋ก ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

    ๋ฐฑ์—”๋“œ ๋„คํŠธ์›Œํฌ ์š”๊ตฌ์‚ฌํ•ญ

    ๋ฐฑ์—”๋“œ ๋„คํŠธ์›Œํฌ๋Š” ๋‹ค์Œ ๋„คํŠธ์›Œํฌ ์š”๊ตฌ์‚ฌํ•ญ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • ๋ฐฑ์—”๋“œ์˜ VPC ๋„คํŠธ์›Œํฌ๋Š” ์ „๋‹ฌ ๊ทœ์น™์˜ VPC ๋„คํŠธ์›Œํฌ์™€ ์ •ํ™•ํ•˜๊ฒŒ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • ๋ฐฑ์—”๋“œ์˜ VPC ๋„คํŠธ์›Œํฌ๋Š” VPC ๋„คํŠธ์›Œํฌ ํ”ผ์–ด๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „๋‹ฌ ๊ทœ์น™์˜ VPC ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ „๋‹ฌ ๊ทœ์น™์˜ VPC ๋„คํŠธ์›Œํฌ์— ์žˆ๋Š” ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท๊ณผ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ธŒ๋„ท ๊ฐ„์˜ ํ†ต์‹ ์„ ํ—ˆ์šฉํ•˜๋„๋ก ์„œ๋ธŒ๋„ท ๊ฒฝ๋กœ ๊ตํ™˜์„ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

๋ฐฑ์—”๋“œ ๋ฐ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค

์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํŒจํ‚ท์ด ํ•ญ์ƒ nic0์— ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. nic0์ด ์•„๋‹Œ ์ธํ„ฐํŽ˜์ด์Šค(vNIC ๋˜๋Š” Dynamic Network Interface)๋กœ ํŒจํ‚ท์„ ์ „์†กํ•˜๋ ค๋ฉด ๋Œ€์‹  NEG ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์˜์—ญ๋ณ„ NEG ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํŒจํ‚ท์€ NEG์˜ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚ด๋Š” ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. NEG ์—”๋“œํฌ์ธํŠธ๋Š” NEG์˜ ๋ช…์‹œ์ ์œผ๋กœ ์ •์˜๋œ VPC ๋„คํŠธ์›Œํฌ์™€ ๋™์ผํ•œ VPC ๋„คํŠธ์›Œํฌ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ํ•˜์œ„ ์„ค์ •

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

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

์ƒํƒœ ํ™•์ธ

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

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

์ƒํƒœ ํ™•์ธ ํ”„๋กœํ† ์ฝœ

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

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์ง€์›ํ•˜๋Š” ์ƒํƒœ ํ™•์ธ ๋ฒ”์œ„๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ ์ƒํƒœ ํ™•์ธ ์œ ํ˜•
๋ฆฌ์ „ ๊ฐ„ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ healthChecks
๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ regionHealthChecks

์ƒํƒœ ํ™•์ธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

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

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—๋Š” ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • Google์˜ ์ค‘์•™ ์ƒํƒœ ํ™•์ธ ๋ฒ”์œ„์—์„œ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๋Š” ์ธ๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๊ทœ์น™. ํŠน์ • ์ƒํƒœ ํ™•์ธ ํ”„๋กœ๋ธŒ IP ์ฃผ์†Œ ๋ฒ”์œ„์™€ ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ”„๋กœ๋ธŒ IP ๋ฒ”์œ„ ๋ฐ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ์ฐธ์กฐํ•˜์„ธ์š”.
  • ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท์˜ ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๋Š” ์ธ๊ทธ๋ ˆ์Šค ํ—ˆ์šฉ ๊ทœ์น™

์ด๋Ÿฌํ•œ ๋ฒ”์œ„์— ๋Œ€ํ•œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ์š”๊ตฌ์‚ฌํ•ญ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์™ธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

ํด๋ผ์ด์–ธํŠธ ์•ก์„ธ์Šค

ํด๋ผ์ด์–ธํŠธ๋Š” ๊ฐ™์€ ๋„คํŠธ์›Œํฌ ๋˜๋Š” VPC ๋„คํŠธ์›Œํฌ ํ”ผ์–ด๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ๋œ VPC ๋„คํŠธ์›Œํฌ์— ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋™์ผํ•œ ๋ฆฌ์ „์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. VPC์—์„œ ๋ชจ๋“  ๋ฆฌ์ „์˜ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์•ก์„ธ์Šคํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋ฉด ์ „์—ญ ์•ก์„ธ์Šค๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—๋Š” ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ํด๋ผ์ด์–ธํŠธ ์•ก์„ธ์Šค๊ฐ€ ์š”์•ฝ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ค‘์ง€๋œ ์ „์—ญ ์•ก์„ธ์Šค ์‚ฌ์šฉ ์„ค์ •๋œ ์ „์—ญ ์•ก์„ธ์Šค
ํด๋ผ์ด์–ธํŠธ๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋™์ผํ•œ ๋ฆฌ์ „์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋™์ผํ•œ VPC ๋„คํŠธ์›Œํฌ์— ์žˆ๊ฑฐ๋‚˜ VPC ๋„คํŠธ์›Œํฌ ํ”ผ์–ด๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ VPC ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ VPC ๋„คํŠธ์›Œํฌ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์–ด๋А ๋ฆฌ์ „์—๋‚˜ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋™์ผํ•œ VPC ๋„คํŠธ์›Œํฌ์— ์žˆ๊ฑฐ๋‚˜ VPC ๋„คํŠธ์›Œํฌ ํ”ผ์–ด๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ VPC ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ VPC ๋„คํŠธ์›Œํฌ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์˜จํ”„๋ ˆ๋ฏธ์Šค ํด๋ผ์ด์–ธํŠธ๋Š” Cloud VPN ํ„ฐ๋„์ด๋‚˜ VLAN ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ„ฐ๋„ ๋˜๋Š” ์—ฐ๊ฒฐ์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋™์ผํ•œ ๋ฆฌ์ „์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜จํ”„๋ ˆ๋ฏธ์Šค ํด๋ผ์ด์–ธํŠธ๋Š” Cloud VPN ํ„ฐ๋„์ด๋‚˜ VLAN ์—ฐ๊ฒฐ์„ ํ†ตํ•ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ„ฐ๋„ ๋˜๋Š” ์—ฐ๊ฒฐ์€ ์–ด๋А ๋ฆฌ์ „์—๋‚˜ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GKE ์ง€์›

GKE๋Š” ๋‹ค์Œ ๋ฐฉ์‹์œผ๋กœ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • GKE Gateway Controller๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ๋‚ด๋ถ€ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๋ชจ๋“  ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๋ชจ๋“œ๋ฅผ ์ œ์–ดํ•˜๋ ค๋ฉด GatewayClass๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. GKE Gateway Controller๋Š” ํ•ญ์ƒ GCE_VM_IP_PORT ์˜์—ญ๋ณ„ NEG ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • GKE Ingress Controller๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋œ ๋‚ด๋ถ€ ์ธ๊ทธ๋ ˆ์Šค๋Š” ํ•ญ์ƒ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์ž…๋‹ˆ๋‹ค. GKE Ingress Controller๋Š” ํ•ญ์ƒ GCE_VM_IP_PORT ์˜์—ญ๋ณ„ NEG ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ณต์œ  VPC ์•„ํ‚คํ…์ฒ˜

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

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

์„œ๋ธŒ๋„ท ๋ฐ IP ์ฃผ์†Œ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ์š”์†Œ ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ์š”์†Œ

๊ณต์œ  VPC ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ํ•„์š”ํ•œ ๋„คํŠธ์›Œํฌ ๋ฐ ์„œ๋ธŒ๋„ท(ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท ํฌํ•จ)์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๋‚ด๋ถ€ IP ์ฃผ์†Œ๋Š” ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ๋˜๋Š” ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์—์„œ ์ •์˜ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์—์„œ ์›ํ•˜๋Š” ๊ณต์œ  VPC ๋„คํŠธ์›Œํฌ์˜ ์„œ๋ธŒ๋„ท์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์†Œ ์ž์ฒด๋Š” ์ฐธ์กฐ๋œ ์„œ๋ธŒ๋„ท์˜ ๊ธฐ๋ณธ IP ๋ฒ”์œ„์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

๋ฆฌ์ „ ๋‚ด๋ถ€ IP ์ฃผ์†Œ, ์ „๋‹ฌ ๊ทœ์น™, ๋Œ€์ƒ HTTP(S) ํ”„๋ก์‹œ, ์—ฐ๊ฒฐ๋œ URL ๋งต์ด ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์— ์ •์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ๋˜๋Š” ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”.
  • ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ์š”์†Œ์™€ ๋™์ผํ•œ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์™€ ๋ฐฑ์—”๋“œ(์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน, ์„œ๋ฒ„๋ฆฌ์Šค NEG ๋˜๋Š” ๊ธฐํƒ€ ์ง€์›๋˜๋Š” ๋ฐฑ์—”๋“œ ์œ ํ˜•)๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์™€ ๋ฐฑ์—”๋“œ(์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน, ์„œ๋ฒ„๋ฆฌ์Šค NEG, ๊ธฐํƒ€ ์ง€์›๋˜๋Š” ๋ฐฑ์—”๋“œ ์œ ํ˜•)๋ฅผ ํ•„์š”ํ•œ ๋งŒํผ ๋งŽ์€ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์— ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋‹จ์ผ URL ๋งต์€ ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ๋ฐฐํฌ๋ฅผ ๊ต์ฐจ ํ”„๋กœ์ ํŠธ ์„œ๋น„์Šค ์ฐธ์กฐ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋Š” ์ฐธ์กฐํ•˜๋Š” ๋ฐฑ์—”๋“œ์™€ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ์ •์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์™€ ๊ด€๋ จ๋œ ์ƒํƒœ ํ™•์ธ์€ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์™€ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์—์„œ ์ •์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ตฌ์„ฑ์š”์†Œ ๋ฐ ๋ฐฑ์—”๋“œ

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

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

๊ณต์œ  VPC ๋„คํŠธ์›Œํฌ์˜ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ
๊ณต์œ  VPC ๋„คํŠธ์›Œํฌ์˜ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

๊ณต์œ  VPC ํ™˜๊ฒฝ์˜ ์„œ๋ฒ„๋ฆฌ์Šค ๋ฐฑ์—”๋“œ

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

๊ต์ฐจ ํ”„๋กœ์ ํŠธ ์„œ๋น„์Šค ์ฐธ์กฐ

๊ต์ฐจ ํ”„๋กœ์ ํŠธ ์„œ๋น„์Šค ์ฐธ์กฐ๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ํ”„๋ŸฐํŠธ์—”๋“œ์™€ URL ๋งต์ด ํ•˜๋‚˜์˜ ํ”„๋กœ์ ํŠธ์— ํฌํ•จ๋˜๊ณ  ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์™€ ๋ฐฑ์—”๋“œ๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์— ํฌํ•จ๋˜๋Š” ๋ฐฐํฌ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

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

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

์„œ๋น„์Šค ์†Œ์œ ์ž๋Š” ์„œ๋น„์Šค ๋…ธ์ถœ์— ๋Œ€ํ•œ ์ž์œจ์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” Compute ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์„œ๋น„์Šค ์‚ฌ์šฉ์ž ์—ญํ• (roles/compute.loadBalancerServiceUser)์ด๋ผ๋Š” ํŠน์ˆ˜ IAM ์—ญํ• ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฒฝ์šฐ ๊ต์ฐจ ํ”„๋กœ์ ํŠธ ์„œ๋น„์Šค ์ฐธ์กฐ๋งŒ ๊ณต์œ  VPC ํ™˜๊ฒฝ ๋‚ด์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

๊ต์ฐจ ํ”„๋กœ์ ํŠธ ์„œ๋น„์Šค ์ฐธ์กฐ ์œ ๋ฌด์— ๊ด€๊ณ„์—†์ด ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ณต์œ  VPC๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ณต์œ  VPC๋กœ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ต์ฐจ ํ”„๋กœ์ ํŠธ ์„œ๋น„์Šค ์ฐธ์กฐ๋ฅผ ์œ„ํ•œ ์‚ฌ์šฉ ์ฐธ๊ณ ์‚ฌํ•ญ

  • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ๋ฆฌ์ „ ์ธํ„ฐ๋„ท NEG ๋ฐฑ์—”๋“œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ต์ฐจ ํ”„๋กœ์ ํŠธ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ๋ฐฑ์—”๋“œ ์œ ํ˜•์€ ์ง€์›๋ฉ๋‹ˆ๋‹ค.
  • Google Cloud ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ์—์„œ ๋™์ผํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฆฌ์†Œ์Šค(์˜ˆ: ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค)๋ฅผ ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ต์ฐจ ํ”„๋กœ์ ํŠธ ์„œ๋น„์Šค ์ฐธ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์กฐ์ง ๋‚ด ํ”„๋กœ์ ํŠธ ์ „์ฒด์—์„œ ๊ณ ์œ ํ•œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ 1: ๋‹ค๋ฅธ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํ”„๋ŸฐํŠธ์—”๋“œ ๋ฐ ๋ฐฑ์—”๋“œ

๋‹ค์Œ์€ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ A์— ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ํ”„๋ŸฐํŠธ์—”๋“œ ๋ฐ URL ๋งต์ด ์ƒ์„ฑ๋˜๊ณ  URL ๋งต์ด ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ B์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ณต์œ  VPC ๋ฐฐํฌ์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ A์˜ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๋‚˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ด€๋ฆฌ์ž๊ฐ€ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ B์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ B ๊ด€๋ฆฌ์ž๋Š” ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ B์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์ฐธ์กฐํ•˜๋ ค๋Š” ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ A์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ด€๋ฆฌ์ž์—๊ฒŒ Compute ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์„œ๋น„์Šค ์‚ฌ์šฉ์ž ์—ญํ• (roles/compute.loadBalancerServiceUser)์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํ”„๋ŸฐํŠธ์—”๋“œ ๋ฐ URL ๋งต
๋‹ค๋ฅธ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํ”„๋ŸฐํŠธ์—”๋“œ ๋ฐ ๋ฐฑ์—”๋“œ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ).

์˜ˆ์‹œ 2: ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํ”„๋ŸฐํŠธ์—”๋“œ ๋ฐ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ๋ฐฑ์—”๋“œ

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

์ด ๊ฒฝ์šฐ ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๋‚˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ด€๋ฆฌ์ž๊ฐ€ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์ž๋Š” ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ์ฐธ์กฐํ•˜๋ ค๋Š” ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ A์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ด€๋ฆฌ์ž์—๊ฒŒ Compute ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์„œ๋น„์Šค ์‚ฌ์šฉ์ž ์—ญํ• (roles/compute.loadBalancerServiceUser)์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํ”„๋ŸฐํŠธ์—”๋“œ ๋ฐ URL ๋งต
ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํ”„๋ŸฐํŠธ์—”๋“œ ๋ฐ URL ๋งต(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ).

์ œํ•œ ์‹œ๊ฐ„ ๋ฐ ์žฌ์‹œ๋„

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

์ œํ•œ ์‹œ๊ฐ„ ์œ ํ˜• ๋ฐ ์„ค๋ช… ๊ธฐ๋ณธ๊ฐ’ ์ปค์Šคํ…€ ๊ฐ’ ์ง€์›
๋ฆฌ์ „ ๊ฐ„ ๋ฆฌ์ „
๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„

์š”์ฒญ ๋ฐ ์‘๋‹ต ์ œํ•œ ์‹œ๊ฐ„. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์š”์ฒญ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ๋ฅผ ๋ฐฑ์—”๋“œ๋กœ ๋ณด๋‚ด๋Š” ์‹œ์ ๊ณผ ๋ฐฑ์—”๋“œ๊ฐ€ HTTP ์‘๋‹ต์˜ ๋งˆ์ง€๋ง‰ ๋ฐ”์ดํŠธ๋ฅผ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ์‹œ์  ์‚ฌ์ด์— ํ—ˆ์šฉ๋˜๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๊ฐ€ ์ด ์ œํ•œ ์‹œ๊ฐ„ ๋‚ด์— ์ „์ฒด HTTP ์‘๋‹ต์„ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์•˜์œผ๋ฉด ๋‚จ์€ ์‘๋‹ต ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

  • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ์„œ๋ฒ„๋ฆฌ์Šค NEG: 60๋ถ„
  • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ๋‹ค๋ฅธ ๋ชจ๋“  ๋ฐฑ์—”๋“œ ์œ ํ˜•: 30์ดˆ =
ํด๋ผ์ด์–ธํŠธ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„

ํด๋ผ์ด์–ธํŠธ์™€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ด€๋ฆฌํ˜• Envoy ํ”„๋ก์‹œ ์‚ฌ์ด์˜ TCP ์—ฐ๊ฒฐ์ด ์œ ํœด ์ƒํƒœ๋กœ ์œ ์ง€๋  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ HTTP ์š”์ฒญ์— ๊ฐ™์€ TCP ์—ฐ๊ฒฐ์ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

610์ดˆ
๋ฐฑ์—”๋“œ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ด€๋ฆฌํ˜• Envoy ํ”„๋ก์‹œ์™€ ๋ฐฑ์—”๋“œ ์‚ฌ์ด์˜ TCP ์—ฐ๊ฒฐ์ด ์œ ํœด ์ƒํƒœ๋กœ ์œ ์ง€๋  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ HTTP ์š”์ฒญ์— ๊ฐ™์€ TCP ์—ฐ๊ฒฐ์ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

10๋ถ„(600์ดˆ)

๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„

๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ๋ฐฑ์—”๋“œ๊ฐ€ HTTP ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ํ•ด๋‹น HTTP ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฆฌ์Šค NEG๋ฅผ ์ œ์™ธํ•˜๊ณ  ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„์˜ ๊ธฐ๋ณธ๊ฐ’์€ 30์ดˆ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด 500MB ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋ ค๋Š”๋ฐ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„์ด 90์ดˆ๋ผ๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋ฐฑ์—”๋“œ๊ฐ€ 500MB ํŒŒ์ผ ์ „์ฒด๋ฅผ 90์ดˆ ์ด๋‚ด์— ์ „์†กํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๊ฐ€ ์ „์ฒด HTTP ์‘๋‹ต์„ ๋ณด๋‚ด์ง€ ๋ชปํ•  ์ •๋„๋กœ ์งง๊ฒŒ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋ฐฑ์—”๋“œ๋กœ๋ถ€ํ„ฐ์˜ HTTP ์‘๋‹ต ํ—ค๋”๊ฐ€ ์ตœ์†Œํ•œ ํ•œ ๊ฐœ ์ด์ƒ ์žˆ์œผ๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ „์ฒด ์‘๋‹ต ํ—ค๋”์™€ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„ ๋‚ด์— ๊ฐ€๋Šฅํ•  ๋งŒํผ ์‘๋‹ต ๋ณธ๋ฌธ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„์„ ๋ฐฑ์—”๋“œ๊ฐ€ HTTP ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ฐ€์žฅ ๊ธด ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ์—์„œ ์‹คํ–‰ ์ค‘์ธ ์†Œํ”„ํŠธ์›จ์–ด์—์„œ HTTP ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ „์ฒด ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐ ๋” ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„์„ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„์€ 1~2,147,483,647์ดˆ ์‚ฌ์ด์˜ ๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€๋งŒ ํฐ ๊ฐ’์€ ์‹ค์šฉ์ ์ธ ๊ตฌ์„ฑ ์˜ต์…˜์ด ์•„๋‹™๋‹ˆ๋‹ค.Google Cloud ๋Š” ๊ธฐ๋ณธ TCP ์—ฐ๊ฒฐ์ด ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„ ๊ฐ’ ์ „์ฒด์— ๋Œ€ํ•ด ์—ด๋ฆฐ ์ƒํƒœ๋กœ ์œ ์ง€๋œ๋‹ค๊ณ  ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ์‹œ์Šคํ…œ์€ TCP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ์žฅ์‹œ๊ฐ„ ์—ด์–ด ๋‘๋Š” ๋Œ€์‹  ์žฌ์‹œ๋„ ๋กœ์ง์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

Google Cloud ๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ Envoy ์†Œํ”„ํŠธ์›จ์–ด ์ž‘์—…์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์ œ๊ณต ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„ ๊ฐ’์ด ๊ธธ์ˆ˜๋ก Envoy ํƒœ์Šคํฌ๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋Œ€์ฒด๋ฅผ ํ†ตํ•ด TCP ์—ฐ๊ฒฐ์ด ์ข…๋ฃŒ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ์ œํ•œ ์‹œ๊ฐ„์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

์ฝ˜์†”

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ์ œํ•œ ์‹œ๊ฐ„ ํ•„๋“œ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud compute backend-services update ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋ฆฌ์†Œ์Šค์˜ --timeout ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

API

regionBackendServices ๋ฆฌ์†Œ์Šค์˜ timeoutSec ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„

ํด๋ผ์ด์–ธํŠธ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„์€ (๋‹ค์šด์ŠคํŠธ๋ฆผ) ํด๋ผ์ด์–ธํŠธ์™€ Envoy ํ”„๋ก์‹œ ์‚ฌ์ด์— TCP ์—ฐ๊ฒฐ์ด ์œ ํœด ์ƒํƒœ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํด๋ผ์ด์–ธํŠธ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„ ๊ฐ’์€ 610์ดˆ์ž…๋‹ˆ๋‹ค. ์ œํ•œ ์‹œ๊ฐ„์€ 5~1200์ดˆ ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„์€ TCP ์œ ํœด ์ƒํƒœ ์ œํ•œ ์‹œ๊ฐ„์ด๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํด๋ผ์ด์–ธํŠธ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„์€ ๋‹ค์šด์ŠคํŠธ๋ฆผ ํด๋ผ์ด์–ธํŠธ ๋˜๋Š” ํ”„๋ก์‹œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” HTTP ์—ฐ๊ฒฐ ์œ ์ง€(TCP ์œ ํœด ์ƒํƒœ) ์ œํ•œ ์‹œ๊ฐ„๋ณด๋‹ค ์ปค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์šด์ŠคํŠธ๋ฆผ ํด๋ผ์ด์–ธํŠธ์˜ HTTP ์—ฐ๊ฒฐ ์œ ์ง€(TCP ์œ ํœด ์ƒํƒœ) ์ œํ•œ ์‹œ๊ฐ„์ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ํด๋ผ์ด์–ธํŠธ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„๋ณด๋‹ค ๊ธธ๋ฉด ๊ฒฝํ•ฉ ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์šด์ŠคํŠธ๋ฆผ ํด๋ผ์ด์–ธํŠธ์˜ ๊ด€์ ์—์„œ ์„ค์ •๋œ TCP ์—ฐ๊ฒฐ์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์œ ํœด ์ƒํƒœ๋ฅผ ๋” ์˜ค๋žซ๋™์•ˆ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ TCP ์—ฐ๊ฒฐ์ด ์ข…๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๋ฉด ๋‹ค์šด์ŠคํŠธ๋ฆผ ํด๋ผ์ด์–ธํŠธ๋Š” ํŒจํ‚ท์„ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” TCP ์žฌ์„ค์ •(RST) ํŒจํ‚ท์œผ๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„์ด ๋งŒ๋ฃŒ๋˜๋ฉด GFE ๋˜๋Š” Envoy ํ”„๋ก์‹œ์—์„œ TCP FIN์„ ํด๋ผ์ด์–ธํŠธ๋กœ ๋ณด๋‚ด ์—ฐ๊ฒฐ์„ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” (๋‹ค์šด์ŠคํŠธ๋ฆผ) ํด๋ผ์ด์–ธํŠธ์™€ Envoy ํ”„๋ก์‹œ ์‚ฌ์ด์— ์ฒซ ๋ฒˆ์งธ TCP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๊ณ  Envoy ํ”„๋ก์‹œ์™€ ๋ฐฑ์—”๋“œ ์‚ฌ์ด์— ๋‘ ๋ฒˆ์งธ TCP ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋ก์‹œ์ž…๋‹ˆ๋‹ค.

๊ฐ ์š”์ฒญ ํ›„ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๋ณด์กฐ TCP ์—ฐ๊ฒฐ์ด ๋‹ซํžˆ์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐฉํ˜• ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜์—ฌ ์—ฌ๋Ÿฌ HTTP ์š”์ฒญ ๋ฐ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„ ์ œํ•œ์€ TCP ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋ฐฑ์—”๋“œ ๊ฐ„์˜ TCP ์œ ํœด ์ƒํƒœ ์ œํ•œ ์‹œ๊ฐ„์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„์€ WebSocket์— ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„์€ 10๋ถ„(600์ดˆ)์œผ๋กœ ๊ณ ์ •๋˜๋ฉฐ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ตœ์†Œ 10๋ถ„ ์ด์ƒ ์—ฐ๊ฒฐ์„ ์œ ํœด ์ƒํƒœ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„์ด ๊ฒฝ๊ณผํ•˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์–ธ์ œ๋“ ์ง€ ์ข…๋ฃŒ ํŒจํ‚ท์„ ๋ฐฑ์—”๋“œ์— ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐฑ์—”๋“œ ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„์€ ๋ฐฑ์—”๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„๋ณด๋‹ค ์งง์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ฐฑ์—”๋“œ์˜ ์šด์˜์ฒด์ œ๊ฐ€ TCP ์žฌ์„ค์ •(RST)์œผ๋กœ TCP ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ๊ฒฝํ•ฉ ์ƒํƒœ๊ฐ€ ๋ฐฉ์ง€๋ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐฑ์—”๋“œ ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ HTTP ์—ฐ๊ฒฐ ์œ ์ง€(TCP ์œ ํœด ์ƒํƒœ) ์ œํ•œ ์‹œ๊ฐ„ ๊ฐ’์ด 600์ดˆ๋ณด๋‹ค ํฌ๋„๋ก ๋ฐฑ์—”๋“œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ HTTP ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„์ด ๋งŒ๋ฃŒ๋˜๋ฉด GFE ๋˜๋Š” Envoy ํ”„๋ก์‹œ์—์„œ TCP FIN์„ ๋ฐฑ์—”๋“œ VM์œผ๋กœ ๋ณด๋‚ด ์—ฐ๊ฒฐ์„ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ์ผ๋ฐ˜์ ์ธ ์›น ์„œ๋ฒ„ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์—ฐ๊ฒฐ ์œ ์ง€ ์ œํ•œ ์‹œ๊ฐ„ ๊ฐ’์„ ์ˆ˜์ •ํ•  ๋•Œ ํ•„์š”ํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์›น ์„œ๋ฒ„ ์†Œํ”„ํŠธ์›จ์–ด ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ธฐ๋ณธ ์„ค์ • ๊ถŒ์žฅ ์„ค์ •
Apache KeepAliveTimeout KeepAliveTimeout 5 KeepAliveTimeout 620
nginx keepalive_timeout keepalive_timeout 75s; keepalive_timeout 620s;

์žฌ์‹œ๋„

์žฌ์‹œ๋„๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด URL ๋งต์—์„œ ์žฌ์‹œ๋„ ์ •์ฑ…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์žฌ์‹œ๋„ ํšŸ์ˆ˜(numRetries)๋Š” 1์ž…๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ์ตœ๋Œ€ perTryTimeout์€ 24์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

์žฌ์‹œ๋„ ์ •์ฑ…์ด ์—†์œผ๋ฉด HTTP ๋ณธ๋ฌธ์ด ์—†๋Š” ์‹คํŒจํ•œ ์š”์ฒญ(์˜ˆ: GET ์š”์ฒญ)์€ 502, 503, ๋˜๋Š” 504 ์‘๋‹ต์ด ํ•œ ๋ฒˆ๋งŒ ์žฌ์‹œ๋„๋ฉ๋‹ˆ๋‹ค.

HTTP POST ์š”์ฒญ์€ ์žฌ์‹œ๋„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์žฌ์‹œ๋„ํ•œ ์š”์ฒญ์€ ์ตœ์ข… ์‘๋‹ต์˜ ๋กœ๊ทธ ํ•ญ๋ชฉ ํ•˜๋‚˜๋งŒ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋กœ๊น… ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค

ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ์—์„œ VPC ๋„คํŠธ์›Œํฌ์˜ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • VPC ๋„คํŠธ์›Œํฌ ํ”ผ์–ด๋ง
  • Cloud VPN ๋ฐ Cloud Interconnect

์ž์„ธํ•œ ์˜ˆ์‹œ๋Š” ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐ ์—ฐ๊ฒฐ๋œ ๋„คํŠธ์›Œํฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ

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

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

ํ‘œ: ์ง€์›๋˜๋Š” ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์„ค์ •
์ œํ’ˆ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์˜ต์…˜
  • ์—†์Œ(NONE)
  • ํด๋ผ์ด์–ธํŠธ IP(CLIENT_IP)
  • ์ƒ์„ฑ๋œ ์ฟ ํ‚ค(GENERATED_COOKIE)
  • ํ—ค๋” ํ•„๋“œ(HEADER_FIELD)
  • HTTP ์ฟ ํ‚ค(HTTP_COOKIE)
  • ์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ(STRONG_COOKIE_AFFINITY)

๋˜ํ•œ ๋‹ค์Œ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”

  • ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์ง€์—ญ ์ •์ฑ…(localityLbPolicy)์˜ ์œ ํšจํ•œ ๊ธฐ๋ณธ๊ฐ’์€ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์„ค์ •์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ์ฆ‰ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๊ฐ€ ๊ธฐ๋ณธ๊ฐ’ NONE์œผ๋กœ ์œ ์ง€๋˜๋Š” ๊ฒฝ์šฐ localityLbPolicy์˜ ๊ธฐ๋ณธ๊ฐ’์€ ROUND_ROBIN์ž…๋‹ˆ๋‹ค. ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๊ฐ€ NONE ์ด์™ธ์˜ ๊ฐ’์œผ๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ localityLbPolicy์˜ ๊ธฐ๋ณธ๊ฐ’์€ MAGLEV์ž…๋‹ˆ๋‹ค.
  • ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ๊ฐ€์ค‘์น˜๊ฐ€ ์ ์šฉ๋œ ํŠธ๋ž˜ํ”ฝ ๋ถ„ํ• ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ๊ตฌ์„ฑํ•˜์ง€ ๋งˆ์„ธ์š”. ๊ตฌ์„ฑํ•˜๋ฉด ๊ฐ€์ค‘์น˜๊ฐ€ ์ ์šฉ๋œ ํŠธ๋ž˜ํ”ฝ ๋ถ„ํ•  ๊ตฌ์„ฑ์ด ์šฐ์„  ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ๋‹ค์Œ ์‚ฌํ•ญ์— ์œ ์˜ํ•˜์„ธ์š”.

  • ์ธ์ฆ ๋˜๋Š” ๋ณด์•ˆ ๋ชฉ์ ์œผ๋กœ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์ œ์™ธํ•œ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋Š” ์ œ๊ณต ๋ฐ ์ •์ƒ ๋ฐฑ์—”๋“œ ์ˆ˜๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์†์‹ค์„ ์ฐธ์กฐํ•˜์„ธ์š”.

  • --session-affinity ๋ฐ --subsetting-policy ํ”Œ๋ž˜๊ทธ์˜ ๊ธฐ๋ณธ๊ฐ’์€ ๋ชจ๋‘ NONE์ด๋ฉฐ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜๋งŒ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์œ ํ˜•

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋Š” ๋‹ค์Œ ์นดํ…Œ๊ณ ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•ด์‹œ ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ(NONE, CLIENT_IP)
  • HTTP ํ—ค๋” ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ(HEADER_FIELD)
  • ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ(GENERATED_COOKIE, HTTP_COOKIE, STRONG_COOKIE_AFFINITY)

ํ•ด์‹œ ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ

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

ํ•ด์‹œ ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋Š” ๋‹ค์Œ ์œ ํ˜• ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—†์Œ

์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ NONE์œผ๋กœ ์„ค์ •ํ•œ๋‹ค๊ณ  ํ•ด์„œ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๊ฐ€ ์—†๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์˜ต์…˜์ด ์—†๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

ํ•ด์‹ฑ์€ ํ•ญ์ƒ ๋ฐฑ์—”๋“œ๋ฅผ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์„ค์ •์ด NONE์ด๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ 5ํŠœํ”Œ ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. 5ํŠœํ”Œ ํ•ด์‹œ๋Š” ์†Œ์Šค IP ์ฃผ์†Œ, ์†Œ์Šค ํฌํŠธ, ํ”„๋กœํ† ์ฝœ, ๋Œ€์ƒ IP ์ฃผ์†Œ, ๋ชฉ์ ์ง€ ํฌํŠธ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ๊ธฐ๋ณธ๊ฐ’์€ NONE์ž…๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ IP ์–ดํ”ผ๋‹ˆํ‹ฐ

ํด๋ผ์ด์–ธํŠธ IP ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ(CLIENT_IP)๋Š” ํŒจํ‚ท์˜ ์†Œ์Šค ๋ฐ ๋Œ€์ƒ IP ์ฃผ์†Œ์—์„œ ์ƒ์„ฑ๋œ 2ํŠœํ”Œ ํ•ด์‹œ์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ IP ์–ดํ”ผ๋‹ˆํ‹ฐ๋Š” ๋ฐฑ์—”๋“œ๊ฐ€ ์ •์ƒ์ด๊ณ  ์šฉ๋Ÿ‰์ด ์ถฉ๋ถ„ํ•œ ๊ฒฝ์šฐ ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ IP ์ฃผ์†Œ์˜ ๋ชจ๋“  ์š”์ฒญ์„ ๊ฐ™์€ ๋ฐฑ์—”๋“œ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

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

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

HTTP ํ—ค๋” ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ

ํ—ค๋” ํ•„๋“œ ์–ดํ”ผ๋‹ˆํ‹ฐ(HEADER_FIELD)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์š”์ฒญ์ด ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ consistentHash.httpHeaderName ํ•„๋“œ์— ์žˆ๋Š” HTTP ํ—ค๋” ๊ฐ’์— ๋”ฐ๋ผ ๋ฐฑ์—”๋“œ๋กœ ๋ผ์šฐํŒ…๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ฐฑ์—”๋“œ์— ์š”์ฒญ์„ ๋ถ„์‚ฐํ•˜๋ ค๋ฉด ๊ฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ HTTP ํ—ค๋” ๊ฐ’์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ—ค๋” ํ•„๋“œ ์–ดํ”ผ๋‹ˆํ‹ฐ๋Š” ๋‹ค์Œ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜๋Š” ๊ฒฝ์šฐ์— ์ง€์›๋ฉ๋‹ˆ๋‹ค.

  • ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์ง€์—ญ ์ •์ฑ…์ด RING_HASH ๋˜๋Š” MAGLEV์ž…๋‹ˆ๋‹ค.
  • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ consistentHash๊ฐ€ HTTP ํ—ค๋”์˜ ์ด๋ฆ„(httpHeaderName)์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋Š” ๋‹ค์Œ ์œ ํ˜• ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ(GENERATED_COOKIE)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์ดˆ๊ธฐ HTTP ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์˜ Set-Cookie ํ—ค๋”์— HTTP ์ฟ ํ‚ค๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ ์ฟ ํ‚ค์˜ ์ด๋ฆ„์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์œ ํ˜•์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ œํ’ˆ ์ฟ ํ‚ค ์ด๋ฆ„
๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ GCILB
๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ GCILB

์ƒ์„ฑ๋œ ์ฟ ํ‚ค์˜ ๊ฒฝ๋กœ ์†์„ฑ์€ ํ•ญ์ƒ ์Šฌ๋ž˜์‹œ(/)์ด๋ฏ€๋กœ ๋‹ค๋ฅธ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋„ ์ƒ์„ฑ๋œ ์ฟ ํ‚ค ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ™์€ URL ๋งต์˜ ๋ชจ๋“  ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

affinityCookieTtlSec ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟ ํ‚ค TTL(์ˆ˜๋ช…) ๊ฐ’์„ 0~1,209,600์ดˆ(ํฌํ•จ)๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. affinityCookieTtlSec์ด ์ง€์ •๋˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ TTL ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๊ฐ€ HTTP ์š”์ฒญ์˜ Cookie ์š”์ฒญ ํ—ค๋”์— ์ƒ์„ฑ๋œ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์ฟ ํ‚ค๋ฅผ ํฌํ•จํ•˜๋ฉด ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์ฟ ํ‚ค๊ฐ€ ์œ ํšจํ•œ ๊ฒฝ์šฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ๋™์ผํ•œ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ฟ ํ‚ค ๊ฐ’์„ ํŠน์ • ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค๋‚˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ƒ‰์ธ์— ๋งคํ•‘ํ•˜๊ณ  ์ƒ์„ฑ๋œ ์ฟ ํ‚ค ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ถฉ์กฑ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ์ด ์ž‘์—…์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ๋œ ์ฟ ํ‚ค ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ท ํ˜• ์กฐ์ • ๋ชจ๋“œ์™€ localityLbPolicy ์„ค์ •์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๊ฒฝ์šฐ RATE ๋ถ„์‚ฐ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ localityLbPolicy์—๋Š” RING_HASH ๋˜๋Š” MAGLEV๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. localityLbPolicy๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” MAGLEV๋ฅผ ์•”์‹œ์  ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์†์‹ค์„ ์ฐธ์กฐํ•˜์„ธ์š”.

HTTP ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ(HTTP_COOKIE)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์ดˆ๊ธฐ HTTP ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์˜ Set-Cookie ํ—ค๋”์— HTTP ์ฟ ํ‚ค๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ฟ ํ‚ค์˜ ์ด๋ฆ„, ๊ฒฝ๋กœ, TTL(์ˆ˜๋ช…)์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” HTTP ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ์œ ํšจํ•œ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ์ดˆ, 1์ดˆ ๋ฏธ๋งŒ์˜ ๊ฐ’(๋‚˜๋…ธ์ดˆ) ๋˜๋Š” ์ดˆ์™€ 1์ดˆ ๋ฏธ๋งŒ์˜ ๊ฐ’(๋‚˜๋…ธ์ดˆ) ๋ชจ๋‘๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟ ํ‚ค์˜ TTL ๊ฐ’์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • consistentHash.httpCookie.ttl.seconds๋Š” 0๊ณผ 315576000000 ์‚ฌ์ด์˜ ๊ฐ’(์–‘ ๋๊ฐ’ ํฌํ•จ)์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • consistentHash.httpCookie.ttl.nanos๋Š” 0๊ณผ 999999999 ์‚ฌ์ด์˜ ๊ฐ’(์–‘ ๋๊ฐ’ ํฌํ•จ)์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์œ„๊ฐ€ ๋‚˜๋…ธ์ดˆ์ด๋ฏ€๋กœ 999999999๋Š” .999999999์ดˆ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

consistentHash.httpCookie.ttl.seconds ๋ฐ consistentHash.httpCookie.ttl.nanos๊ฐ€ ๋ชจ๋‘ ์ง€์ •๋˜์ง€ ์•Š์œผ๋ฉด affinityCookieTtlSec ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์ด ๋Œ€์‹  ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. affinityCookieTtlSec์ด ์ง€์ •๋˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ TTL ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๊ฐ€ HTTP ์š”์ฒญ์˜ Cookie ์š”์ฒญ ํ—ค๋”์— HTTP ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์ฟ ํ‚ค๋ฅผ ํฌํ•จํ•˜๋ฉด ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์ฟ ํ‚ค๊ฐ€ ์œ ํšจํ•œ ๊ฒฝ์šฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ๋™์ผํ•œ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์ฟ ํ‚ค ๊ฐ’์„ ํŠน์ • ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค๋‚˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ƒ‰์ธ์— ๋งคํ•‘ํ•˜๊ณ  ์ƒ์„ฑ๋œ ์ฟ ํ‚ค ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ถฉ์กฑ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ์ด ์ž‘์—…์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

HTTP ์ฟ ํ‚ค ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ท ํ˜• ์กฐ์ • ๋ชจ๋“œ ๋ฐ localityLbPolicy ์„ค์ •์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๊ฒฝ์šฐ RATE ๋ถ„์‚ฐ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ localityLbPolicy์—๋Š” RING_HASH ๋˜๋Š” MAGLEV๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. localityLbPolicy๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” MAGLEV๋ฅผ ์•”์‹œ์  ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์†์‹ค์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ

์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ(STRONG_COOKIE_AFFINITY)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์ดˆ๊ธฐ HTTP ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์˜ Set-Cookie ํ—ค๋”์— HTTP ์ฟ ํ‚ค๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ฟ ํ‚ค์˜ ์ด๋ฆ„, ๊ฒฝ๋กœ, TTL(์ˆ˜๋ช…)์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ดˆ, 1์ดˆ ๋ฏธ๋งŒ์˜ ๊ฐ’(๋‚˜๋…ธ์ดˆ) ๋˜๋Š” ์ดˆ์™€ 1์ดˆ ๋ฏธ๋งŒ์˜ ๊ฐ’(๋‚˜๋…ธ์ดˆ) ๋ชจ๋‘๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฟ ํ‚ค์˜ TTL ๊ฐ’์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. strongSessionAffinityCookie.ttl๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ธฐ๊ฐ„์€ 2์ฃผ(1,209,600์ดˆ)๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฐ’์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ฟ ํ‚ค์˜ ๊ฐ’์€ ์„ ํƒ๋œ ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋ฅผ ๊ฐ’ ์ž์ฒด์— ์ธ์ฝ”๋”ฉํ•˜์—ฌ ์„ ํƒ๋œ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ์ฟ ํ‚ค๊ฐ€ ์œ ํšจํ•œ ํ•œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ›„์† HTTP ์š”์ฒญ์˜ Cookie ์š”์ฒญ ํ—ค๋”์— ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์ฟ ํ‚ค๋ฅผ ํฌํ•จํ•˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ์„ ํƒํ•œ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ๋ฐฉ๋ฒ•๊ณผ์˜ ์ฐจ์ด์ :

  • ์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ์—๋Š” ๋ถ„์‚ฐ ๋ชจ๋“œ ๋˜๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์ง€์—ญ ์ •์ฑ…(localityLbPolicy)์— ๊ด€ํ•œ ํŠน์ •ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์ด ์—†์Šต๋‹ˆ๋‹ค.

  • ์ž๋™ ํ™•์žฅ์ด ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์ƒˆ ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์„ ํƒํ•œ ์ธ์Šคํ„ด์Šค๊ฐ€ ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ํ•œ ์ž๋™ ํ™•์žฅ์ด ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ญ์ œํ•  ๋•Œ ์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์„ ํƒํ•œ ์ธ์Šคํ„ด์Šค๊ฐ€ ์‚ญ์ œ๋˜์ง€ ์•Š๋Š” ํ•œ ์ž๋™ ๋ณต๊ตฌ๊ฐ€ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ญ์ œํ•  ๋•Œ ์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์†์‹ค์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ TTL 0์˜ ์˜๋ฏธ

์ƒ์„ฑ๋œ ์ฟ ํ‚ค ์–ดํ”ผ๋‹ˆํ‹ฐ, HTTP ์ฟ ํ‚ค ์–ดํ”ผ๋‹ˆํ‹ฐ, ์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์–ดํ”ผ๋‹ˆํ‹ฐ์™€ ๊ฐ™์€ ๋ชจ๋“  ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ์—๋Š” TTL ์†์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

TTL์ด 0์ดˆ์ด๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ฟ ํ‚ค์— Expires ์†์„ฑ์„ ํ• ๋‹นํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ๋Š” ์ฟ ํ‚ค๋ฅผ ์„ธ์…˜ ์ฟ ํ‚ค๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜ ์ •์˜๋Š” ํด๋ผ์ด์–ธํŠธ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

  • ์›น๋ธŒ๋ผ์šฐ์ €์™€ ๊ฐ™์€ ์ผ๋ถ€ ํด๋ผ์ด์–ธํŠธ๋Š” ์ „์ฒด ํƒ์ƒ‰ ์„ธ์…˜ ๋™์•ˆ ์ฟ ํ‚ค๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ซํž ๋•Œ๊นŒ์ง€ ์—ฌ๋Ÿฌ ์š”์ฒญ์— ๊ฑธ์ณ ์ฟ ํ‚ค๊ฐ€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

  • ์„ธ์…˜์„ ๋‹จ์ผ HTTP ์š”์ฒญ์œผ๋กœ ์ทจ๊ธ‰ํ•˜์—ฌ ์ฟ ํ‚ค๋ฅผ ์ฆ‰์‹œ ์‚ญ์ œํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์ƒ์‹ค

๋ชจ๋“  ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์˜ต์…˜์—๋Š” ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์„ ํƒํ•œ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค๋‚˜ ์—”๋“œํฌ์ธํŠธ๋Š” ๋ฐฑ์—”๋“œ๋กœ ๊ตฌ์„ฑ๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์ด๋ฒคํŠธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๊ฐ€ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์„ ํƒํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์—์„œ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
    • ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ์ž๋™ ํ™•์žฅ ๋˜๋Š” ์ž๋™ ๋ณต๊ตฌ๋กœ ์ธํ•ด ์„ ํƒํ•œ ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์—์„œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.
    • ์„ ํƒํ•œ ์—”๋“œํฌ์ธํŠธ๋ฅผ NEG์—์„œ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
    • ์„ ํƒํ•œ ์ธ์Šคํ„ด์Šค๋‚˜ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ํฌํ•จ๋œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋˜๋Š” NEG๋ฅผ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์—์„œ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
  • ์„ ํƒํ•œ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค๋‚˜ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์ •์ƒ ์ƒํƒœ๋กœ ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ์ธ์Šคํ„ด์Šค๋‚˜ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์ƒํƒœ ์ ๊ฒ€์— ์‹คํŒจํ•˜๋ฉด ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๊ฐ€ ์†์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์Šคํ…Œ์ดํŠธํ’€(Stateful) ์ฟ ํ‚ค ๊ธฐ๋ฐ˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ ์˜ต์…˜์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ ํƒํ•œ ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๊ฐ€ ํฌํ•จ๋œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋˜๋Š” NEG๊ฐ€ ๋Œ€์ƒ ์šฉ๋Ÿ‰์—์„œ ์ •์˜๋œ ๋Œ€๋กœ ๊ฐ€๋“ ์ฐจ์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ์ „ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๊ฒฝ์šฐ ์„ ํƒํ•œ ์ธ์Šคํ„ด์Šค๊ฐ€ ํฌํ•จ๋œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ์˜์—ญ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ๊ฐ€๋“ ์ฐจ์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋˜๋Š” NEG๊ฐ€ ๊ฐ€๋“ ์ฐจ๊ณ  ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋˜๋Š” NEG๋Š” ๊ฐ€๋“ ์ฐจ์ง€ ์•Š์€ ๊ฒฝ์šฐ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๊ฐ€ ์†์ƒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. UTILIZATION ๋ถ„์‚ฐ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ฐ€๋“ ์ฐฌ ์ƒํƒœ๊ฐ€ ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ RATE ๋˜๋Š” CONNECTION ๋ถ„์‚ฐ ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๊ฐ€ ์†์ƒ๋  ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์„ ์ตœ์†Œํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

    • ์ƒˆ ์ธ์Šคํ„ด์Šค๋‚˜ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

      • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ๊ธฐ์กด ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
      • ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ์ž๋™ ํ™•์žฅ์œผ๋กœ ์ธํ•ด ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์ธ์Šคํ„ด์Šค๊ฐ€ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
      • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ๊ธฐ์กด NEG์— ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
      • ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ๋น„์–ด ์žˆ์ง€ ์•Š์€ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋˜๋Š” NEG๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • ์„ ํƒํ•œ ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ ์‚ญ์ œ:

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

    • ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์ƒํƒœ ์ ๊ฒ€์„ ํ†ต๊ณผํ•˜์—ฌ ๋น„์ •์ƒ ์ƒํƒœ์—์„œ ์ •์ƒ ์ƒํƒœ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค.
    • ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์ƒํƒœ ์ ๊ฒ€์— ์‹คํŒจํ•˜์—ฌ ์ •์ƒ ์ƒํƒœ์—์„œ ๋น„์ •์ƒ ์ƒํƒœ ๋˜๋Š” ์‹œ๊ฐ„ ์ดˆ๊ณผ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค.

์žฅ์•  ์กฐ์น˜

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

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ๊ฐ ๋ชจ๋“œ์˜ ์žฅ์•  ์กฐ์น˜ ๋™์ž‘์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋“œ ์žฅ์•  ์กฐ์น˜ ๋™์ž‘ ๋ชจ๋“  ๋ฐฑ์—”๋“œ๊ฐ€ ๋น„์ •์ƒ์ผ ๋•Œ ๋™์ž‘
๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

๋™์ผํ•œ ๋ฆฌ์ „ ๋˜๋Š” ๋‹ค๋ฅธ ๋ฆฌ์ „์˜ ์ •์ƒ ๋ฐฑ์—”๋“œ๋กœ ์ž๋™ ์žฅ์•  ์กฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.

ํŠธ๋ž˜ํ”ฝ์€ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ ๊ตฌ์„ฑ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๋ฆฌ์ „์— ๊ฑธ์ณ ์žˆ๋Š” ์ •์ƒ ๋ฐฑ์—”๋“œ ๊ฐ„์— ๋ถ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.

HTTP 503 ๋ฐ˜ํ™˜
๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ

๋™์ผํ•œ ๋ฆฌ์ „์˜ ์ •์ƒ ๋ฐฑ์—”๋“œ๋กœ ์ž๋™ ์žฅ์•  ์กฐ์น˜ํ•ฉ๋‹ˆ๋‹ค.

Envoy ํ”„๋ก์‹œ๋Š” ๊ตฌ์„ฑ๋œ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฆฌ์ „์˜ ์ •์ƒ ๋ฐฑ์—”๋“œ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

HTTP 503 ๋ฐ˜ํ™˜

๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐ ๊ต์ฐจ ๋ฆฌ์ „ ์žฅ์•  ์กฐ์น˜

๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฒฝ์šฐ

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

๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ฒฝ์šฐ

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

  1. ํ•œ ๋ฆฌ์ „์˜ ๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์‹คํŒจํ•˜๋ฉด DNS ๋ผ์šฐํŒ… ์ •์ฑ…์ด ๋‹ค๋ฅธ ๋ฆฌ์ „์˜ ๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ผ์šฐํŒ…ํ•ฉ๋‹ˆ๋‹ค.

    ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐฐํฌ ์˜ˆ์‹œ์—์„œ๋Š” ๋‹ค์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

    • VPC ๋„คํŠธ์›Œํฌ์˜ RegionA ๋ฐ RegionB ๋ฆฌ์ „์— ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐ€์ƒ IP ์ฃผ์†Œ(VIP)๊ฐ€ ์žˆ๋Š” ๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ. ํด๋ผ์ด์–ธํŠธ๋Š” RegionA ๋ฆฌ์ „์— ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋‘ ๋ฆฌ์ „์˜ ํ”„๋ŸฐํŠธ์—”๋“œ VIP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์•ก์„ธ์Šค ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŒ๋“ค๊ณ , DNS ๋ผ์šฐํŒ… ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์— ์ตœ์ ์˜ VIP๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ง€๋ฆฌ์ ์œผ๋กœ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด VIP๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋ ค๋ฉด ์œ„์น˜์ •๋ณด ๋ผ์šฐํŒ… ์ •์ฑ…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • DNS ๋ผ์šฐํŒ… ์ •์ฑ…์€ ๋ฆฌ์ „ ์ค‘๋‹จ ์‹œ VIP๊ฐ€ ์‘๋‹ตํ•˜์ง€ ์•Š๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ๊ทธ ๋‹ค์Œ์œผ๋กœ ์ ํ•ฉํ•œ VIP๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ๋ฐ˜ํ™˜ํ•˜์—ฌ ๋ฆฌ์ „์ด ์ค‘๋‹จ๋˜์–ด๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ณ„์† ๊ฐ€๋™ํ•ฉ๋‹ˆ๋‹ค.
    ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐฐํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ
    ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐฐํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)
  2. ํŠน์ • ๋ฆฌ์ „์˜ ๋ฐฑ์—”๋“œ๊ฐ€ ๋‹ค์šด๋˜๋ฉด ๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํŠธ๋ž˜ํ”ฝ์ด ๋‹ค๋ฅธ ๋ฆฌ์ „์˜ ๋ฐฑ์—”๋“œ๋กœ ์›ํ™œํ•˜๊ฒŒ ์žฅ์•  ์กฐ์น˜๋ฉ๋‹ˆ๋‹ค.

    ๊ต์ฐจ ๋ฆฌ์ „ ์žฅ์•  ์กฐ์น˜ ๋ฐฐํฌ ์˜ˆ์‹œ์—์„œ๋Š” ๋‹ค์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

    • VPC ๋„คํŠธ์›Œํฌ์˜ RegionA ๋ฆฌ์ „์— ํ”„๋ŸฐํŠธ์—”๋“œ VIP ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š” ๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ. ๋˜ํ•œ ํด๋ผ์ด์–ธํŠธ๋„ RegionA ๋ฆฌ์ „์— ์žˆ์Šต๋‹ˆ๋‹ค.
    • RegionA ๋ฐ RegionB Google Cloud ๋ฆฌ์ „์˜ ๋ฐฑ์—”๋“œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ „์—ญ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค
    • RegionA ๋ฆฌ์ „์˜ ๋ฐฑ์—”๋“œ๊ฐ€ ๋‹ค์šด๋˜๋ฉด ํŠธ๋ž˜ํ”ฝ์ด RegionB ๋ฆฌ์ „์œผ๋กœ ์žฅ์•  ์กฐ์น˜๋ฉ๋‹ˆ๋‹ค.
    ๊ต์ฐจ ๋ฆฌ์ „ ์žฅ์•  ์กฐ์น˜ ๋ฐฐํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ
    ๊ต์ฐจ ๋ฆฌ์ „ ์žฅ์•  ์กฐ์น˜ ๋ฐฐํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ต์ฐจ ๋ฆฌ์ „ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

WebSocket ์ง€์›

HTTP ๋˜๋Š” HTTPS๋ฅผ ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•œ ํ”„๋กœํ† ์ฝœ๋กœ ์‚ฌ์šฉํ•˜๋ฉดGoogle Cloud HTTP(S) ๊ธฐ๋ฐ˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ WebSocket ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—๋Š” WebSocket ์—ฐ๊ฒฐ์„ ํ”„๋ก์‹œํ•˜๋Š” ๊ตฌ์„ฑ์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.

WebSocket ํ”„๋กœํ† ์ฝœ์€ ํด๋ผ์ด์–ธํŠธ์™€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ฐ„์˜ ์ „์ด์ค‘ ํ†ต์‹  ์ฑ„๋„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ RFC 6455๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

WebSocket ํ”„๋กœํ† ์ฝœ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” HTTP ๋˜๋Š” HTTPS ํด๋ผ์ด์–ธํŠธ์˜ WebSocket Upgrade ์š”์ฒญ์„ ์ธ์‹ํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์—๋Š” ๋‹ค๋ฅธ ๊ด€๋ จ๋œ WebSocket ๊ด€๋ จ ์š”์ฒญ ํ—ค๋”๋กœ ์ด์–ด์ง€๋Š” Connection: Upgrade, Upgrade: websocket ํ—ค๋”๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  2. ๋ฐฑ์—”๋“œ๊ฐ€ WebSocket Upgrade ์‘๋‹ต์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค๋Š” Connection: Upgrade ๋ฐ Upgrade: websocket ํ—ค๋”, ๊ธฐํƒ€ WebSocket ๊ด€๋ จ ์‘๋‹ต ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 101 switching protocol ์‘๋‹ต์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  3. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ํ˜„์žฌ ์—ฐ๊ฒฐ ๊ธฐ๊ฐ„ ๋™์•ˆ ์–‘๋ฐฉํ–ฅ ํŠธ๋ž˜ํ”ฝ์„ ํ”„๋ก์‹œํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์—์„œ ์ƒํƒœ ์ฝ”๋“œ 426 ๋˜๋Š” 502๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์—ฐ๊ฒฐ์„ ๋‹ซ์Šต๋‹ˆ๋‹ค.

WebSocket์˜ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ์š”์ฒญ๊ณผ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ธ์…˜ ์–ดํ”ผ๋‹ˆํ‹ฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

HTTP/2 ์ง€์›

HTTP/2๋Š” HTTP/1 ํ”„๋กœํ† ์ฝœ์˜ ์ฃผ์š” ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. HTTP/2 ์ง€์›์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ชจ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • TLS ๊ธฐ๋ฐ˜ HTTP/2
  • TCP ๊ธฐ๋ฐ˜ ์ผ๋ฐ˜ ํ…์ŠคํŠธ HTTP/2

TLS ๊ธฐ๋ฐ˜ HTTP/2

TLS ๊ธฐ๋ฐ˜ HTTP/2๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์™ธ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ๊ณผ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ฐ ๋ฐฑ์—”๋“œ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์— ์ง€์›๋ฉ๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์ž๋™์œผ๋กœ ALPN TLS ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ TLS ํ•ธ๋“œ์…ฐ์ดํฌ์˜ ์ผ๋ถ€๋กœ ํด๋ผ์ด์–ธํŠธ์™€ HTTP/2๋ฅผ ํ˜‘์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด๋„ ์ตœ์‹  ํด๋ผ์ด์–ธํŠธ๋Š” HTTP/2๋กœ ๊ธฐ๋ณธ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์•„๋‹Œ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์ œ์–ด๋ฉ๋‹ˆ๋‹ค.

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

TLS ๊ธฐ๋ฐ˜ HTTP/2๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฐฑ์—”๋“œ์—์„œ TLS๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ณ  ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ํ”„๋กœํ† ์ฝœ์„ HTTP2๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ๋ฐฑ์—”๋“œ๋กœ์˜ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

HTTP/2 ์ตœ๋Œ€ ๋™์‹œ ์ŠคํŠธ๋ฆผ

HTTP/2 SETTINGS_MAX_CONCURRENT_STREAMS ์„ค์ •์€ ๋™์ข… ์•ฑ์—์„œ ์‹œ์ž‘ํ•œ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ํ—ˆ์šฉํ•˜๋Š” ์ตœ๋Œ€ ์ŠคํŠธ๋ฆผ ์ˆ˜๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. HTTP/2 ํด๋ผ์ด์–ธํŠธ์—์„œGoogle Cloud ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋กœ ๊ณต์ง€ํ•˜๋Š” ๊ฐ’์€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋กœ ์ŠคํŠธ๋ฆผ์„ ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์‹ค์งˆ์ ์œผ๋กœ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ HTTP/2๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ VM์—์„œ ์‹คํ–‰ ์ค‘์ธ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์„œ๋ฒ„์—์„œ ๊ณต์ง€ํ•œ SETTINGS_MAX_CONCURRENT_STREAMS ๊ฐ’์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’ 0์ด ๊ณต์ง€๋˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์š”์ฒญ์„ ์„œ๋ฒ„์— ์ „๋‹ฌํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

HTTP/2 ์ œํ•œ์‚ฌํ•ญ

  • ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ์ธ์Šคํ„ด์Šค ๊ฐ„์˜ HTTP/2์—๋Š” HTTP ๋˜๋Š” HTTPS๋ณด๋‹ค ์ธ์Šคํ„ด์Šค์— ํ›จ์”ฌ ๋” ๋งŽ์€ TCP ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. HTTP/2์—์„œ๋Š” HTTP ๋˜๋Š” HTTPS์™€์˜ ์—ฐ๊ฒฐ ์ˆ˜๋ฅผ ์ค„์ด๋Š” ์ตœ์ ํ™” ๋ฐฉ๋ฒ•์ธ ์—ฐ๊ฒฐ ํ’€๋ง์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐฑ์—”๋“œ ์—ฐ๊ฒฐ์ด ๋” ์ž์ฃผ ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฑ์—”๋“œ ์ง€์—ฐ ์‹œ๊ฐ„์ด ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋ฐฑ์—”๋“œ ๊ฐ„์˜ HTTP/2๋Š” HTTP/2 ์—ฐ๊ฒฐ์˜ ๋‹จ์ผ ์ŠคํŠธ๋ฆผ(RFC 8441)์„ ํ†ตํ•œ WebSocket ํ”„๋กœํ† ์ฝœ ์‹คํ–‰์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋ฐฑ์—”๋“œ ๊ฐ„์˜ HTTP/2๋Š” ์„œ๋ฒ„ ํ‘ธ์‹œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • gRPC ์˜ค๋ฅ˜์œจ๊ณผ ์š”์ฒญ ๋ณผ๋ฅจ์€Google Cloud API ๋˜๋Š” Google Cloud ์ฝ˜์†”์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. gRPC ์—”๋“œํฌ์ธํŠธ์—์„œ ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋กœ๊ทธ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ์— 200 OK HTTP ์ƒํƒœ ์ฝ”๋“œ๊ฐ€ ๋ณด๊ณ ๋ฉ๋‹ˆ๋‹ค.

TCP ๊ธฐ๋ฐ˜ ์ผ๋ฐ˜ ํ…์ŠคํŠธ HTTP/2(H2C)

H2C๋ผ๊ณ ๋„ ๋ถ€๋ฅด๋Š” TCP ๊ธฐ๋ฐ˜ ์ผ๋ฐ˜ ํ…์ŠคํŠธ HTTP/2์—์„œ๋Š” TLS ์—†์ด HTTP/2๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. H2C๋Š” ๋‹ค์Œ ์—ฐ๊ฒฐ์— ๋ชจ๋‘ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

  • ํด๋ผ์ด์–ธํŠธ์™€ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ. ํŠน๋ณ„ํ•œ ๊ตฌ์„ฑ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋ฐฑ์—”๋“œ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ.

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋ฐฑ์—”๋“œ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด H2C๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ํ”„๋กœํ† ์ฝœ์„ H2C๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

GKE Gateway Controller์™€ Cloud Service Mesh๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—๋„ H2C ์ง€์›์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

H2C๋Š” ๊ธฐ๋ณธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

gRPC ์ง€์›

gRPC๋Š” ์›๊ฒฉ ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ์ด๋ฉฐ HTTP/2 ํ‘œ์ค€์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. gRPC์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์ง€์—ฐ ์‹œ๊ฐ„์ด ์งง๊ณ  ํ™•์žฅ์„ฑ์ด ๋†’์€ ๋ถ„์‚ฐํ˜• ์‹œ์Šคํ…œ
  • ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ๋ชจ๋ฐ”์ผ ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ
  • ์ •ํ™•ํ•˜๊ณ  ํšจ์œจ์ ์ด๋ฉฐ ์–ธ์–ด์™€ ๋…๋ฆฝ์ ์ด์–ด์•ผ ํ•˜๋Š” ์ƒˆ๋กœ์šด ํ”„๋กœํ† ์ฝœ ์„ค๊ณ„
  • ํ™•์žฅ, ์ธ์ฆ, ๋กœ๊น…์„ ์‚ฌ์šฉํ•˜๋Š” ๊ณ„์ธตํ˜• ๋””์ž์ธ

Google Cloud ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ gRPC๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด HTTP/2๋ฅผ ํ†ตํ•ด ์—”๋“œ ํˆฌ ์—”๋“œ ์š”์ฒญ์„ ํ”„๋ก์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๊ตฌ์„ฑ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  • ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ์—”๋“œ ํˆฌ ์—”๋“œ ํŠธ๋ž˜ํ”ฝ์˜ ๊ฒฝ์šฐ(TLS ๋ฏธ์‚ฌ์šฉ): HTTP ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค(๋Œ€์ƒ HTTP ํ”„๋ก์‹œ๋กœ ๊ตฌ์„ฑ๋จ). ๋˜ํ•œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ํ”„๋กœํ† ์ฝœ์„ H2C๋กœ ์„ค์ •ํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์™€ ๋ฐฑ์—”๋“œ ์‚ฌ์ด์˜ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ์—ฐ๊ฒฐ์— HTTP/2๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ์•”ํ˜ธํ™”๋œ ์—”๋“œ ํˆฌ ์—”๋“œ ํŠธ๋ž˜ํ”ฝ์˜ ๊ฒฝ์šฐ(TLS ์‚ฌ์šฉ): HTTPS ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค(๋Œ€์ƒ HTTPS ํ”„๋ก์‹œ ๋ฐ SSL ์ธ์ฆ์„œ๋กœ ๊ตฌ์„ฑ๋จ). ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ALPN TLS ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ SSL ํ•ธ๋“œ์…ฐ์ดํฌ์˜ ์ผ๋ถ€๋กœ ํด๋ผ์ด์–ธํŠธ์™€ HTTP/2๋ฅผ ํ˜‘์ƒํ•ฉ๋‹ˆ๋‹ค.

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

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

TLS ์ง€์›

๊ธฐ๋ณธ์ ์œผ๋กœ HTTPS ๋Œ€์ƒ ํ”„๋ก์‹œ๋Š” ํด๋ผ์ด์–ธํŠธ SSL ์š”์ฒญ์„ ์ข…๋ฃŒํ•  ๋•Œ TLS 1.0, 1.1, 1.2, 1.3๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ํ”„๋กœํ† ์ฝœ๋กœ HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ๋ฐฑ์—”๋“œ์— TLS 1.2 ๋˜๋Š” 1.3์„ ํ˜‘์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒํ˜ธ TLS ์ง€์›

์ƒํ˜ธ TLS(mTLS)๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์ƒํ˜ธ ์ธ์ฆ์„ ์œ„ํ•œ ์—…๊ณ„ ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. mTLS๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ ๊ธฐ๊ด€(CA)์—์„œ ๋ฐœ๊ธ‰ํ•œ ์œ ํšจํ•œ ์ธ์ฆ์„œ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ์„œ๋กœ ์ธ์ฆํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋งŒ ์ธ์ฆ๋˜๋Š” ํ‘œ์ค€ TLS์™€ ๋‹ฌ๋ฆฌ mTLS๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋ชจ๋‘ ์ธ์ฆ์„œ๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•˜๋ฉฐ, ์–‘์ธก์˜ ID๊ฐ€ ํ™•์ธ๋œ ํ›„์—๋งŒ ํ†ต์‹ ์ด ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

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

mTLS์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ƒํ˜ธ TLS ์ธ์ฆ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

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

  • ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ๋‹ค์Œ ๊ธฐ๋Šฅ๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์ธ์ฆ์„œ ๊ด€๋ฆฌ์ž ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด API ๋˜๋Š” gcloud CLI๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.Google Cloud ์ฝ˜์†”์€ ์ธ์ฆ์„œ ๊ด€๋ฆฌ์ž ์ธ์ฆ์„œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” TLS๋ฅผ ํ†ตํ•ด์„œ๋งŒ HTTP/2๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์—ฐ๊ฒฐํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” HTTP ๋ฒ„์ „ 1.1 ์ด์ƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. HTTP 1.0์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ํ”„๋ก์‹œ ์ „์šฉ ์„œ๋ธŒ๋„ท์— IP ์ฃผ์†Œ๊ฐ€ ๋ถ€์กฑํ•ด๋„Google Cloud ์—์„œ ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

  • ๊ณต์œ  VPC ํ™˜๊ฒฝ์—์„œ Cloud Run๊ณผ ํ•จ๊ป˜ ๋‚ด๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์˜ ๋…๋ฆฝํ˜• VPC ๋„คํŠธ์›Œํฌ๋Š” ๋™์ผํ•œ ๊ณต์œ  VPC ํ™˜๊ฒฝ ๋‚ด์˜ ๋‹ค๋ฅธ ์„œ๋น„์Šค ํ”„๋กœ์ ํŠธ์— ๋ฐฐํฌ๋œ ๋‹ค๋ฅธ ๋ชจ๋“  Cloud Run ์„œ๋น„์Šค๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์•Œ๋ ค์ง„ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

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

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