์—ฌ๋Ÿฌ IP ํ”„๋กœํ† ์ฝœ์— ์™ธ๋ถ€ ํŒจ์Šค ์Šค๋ฃจ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์„ค์ •

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” TCP, UDP, ESP, GRE, ICMP, ICMPv6 ํŠธ๋ž˜ํ”ฝ์˜ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๋Š” ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค ๊ธฐ๋ฐ˜ ์™ธ๋ถ€ ํŒจ์Šค ์Šค๋ฃจ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ TCP ๋˜๋Š” UDP๊ฐ€ ์•„๋‹Œ IP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ์˜ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์ƒ ํ’€ ๊ธฐ๋ฐ˜ ์™ธ๋ถ€ ํŒจ์Šค ์Šค๋ฃจ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ์ด ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

TCP ๋˜๋Š” UDP๊ฐ€ ์•„๋‹Œ IP ํ”„๋กœํ† ์ฝœ์— ์™ธ๋ถ€ ํŒจ์Šค ์Šค๋ฃจ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ํ”„๋กœํ† ์ฝœ์ด L3_DEFAULT๋กœ ์„ค์ •๋œ ์ „๋‹ฌ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ์ „๋‹ฌ ๊ทœ์น™์€ ํ”„๋กœํ† ์ฝœ์ด UNSPECIFIED๋กœ ์„ค์ •๋œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

์ด ์˜ˆ์‹œ์—์„œ๋Š” ์™ธ๋ถ€ ํŒจ์Šค ์Šค๋ฃจ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋‘ ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ us-central1 ๋ฆฌ์ „์˜ ์˜์—ญ๋ณ„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋‘ ๊ฐœ์— ์žˆ๋Š” ๋ฐฑ์—”๋“œ VM ๊ฐ„์— ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋ชจ๋‘ ๋™์ผํ•œ ์™ธ๋ถ€ IP ์ฃผ์†Œ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.

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

์˜์—ญ๋ณ„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์ด ์žˆ๋Š” ์™ธ๋ถ€ ํŒจ์Šค ์Šค๋ฃจ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ
์˜์—ญ๋ณ„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์ด ์žˆ๋Š” ์™ธ๋ถ€ ํŒจ์Šค ์Šค๋ฃจ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ(ํ™•๋Œ€ํ•˜๋ ค๋ฉด ํด๋ฆญ)

์ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” ์ •์ƒ ์ธ์Šคํ„ด์Šค์— ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ํŠธ๋ž˜ํ”ฝ์ด ์ •์ƒ ์ธ์Šคํ„ด์Šค์—๋งŒ ์ „์†ก๋˜๋„๋ก TCP ์ƒํƒœ ์ ๊ฒ€์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

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

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

Google Cloud CLI ์„ค์น˜ ์ด ๋„๊ตฌ์— ๋Œ€ํ•œ ์ „์ฒด ๊ฐœ์š”๋Š” gcloud CLI ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ณผ ๊ด€๋ จ๋œ ๋ช…๋ น์–ด๋Š” API ๋ฐ gcloud ์ฐธ์กฐ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ „์— gcloud CLI๋ฅผ ์‹คํ–‰ํ•œ ์ ์ด ์—†์œผ๋ฉด ๋จผ์ € gcloud init ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฐ€์ด๋“œ๋Š” bash์— ์ต์ˆ™ํ•œ ๊ฐœ๋ฐœ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๋„คํŠธ์›Œํฌ ๋ฐ ์„œ๋ธŒ๋„ท ์„ค์ •

์ด ํŽ˜์ด์ง€์˜ ์˜ˆ์‹œ์—์„œ๋Š” lb-network๋ผ๋Š” ์ปค์Šคํ…€ ๋ชจ๋“œ VPC ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. IPv4 ํŠธ๋ž˜ํ”ฝ๋งŒ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ์ž๋™ ๋ชจ๋“œ VPC ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ IPv6 ํŠธ๋ž˜ํ”ฝ์—๋Š” ์ปค์Šคํ…€ ๋ชจ๋“œ ์„œ๋ธŒ๋„ท์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

IPv6 ํŠธ๋ž˜ํ”ฝ์—๋Š” ์ด์ค‘ ์Šคํƒ ์„œ๋ธŒ๋„ท(stack-type์ด IPV4_IPV6๋กœ ์„ค์ •๋จ)๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ปค์Šคํ…€ ๋ชจ๋“œ VPC ๋„คํŠธ์›Œํฌ์—์„œ ์ด์ค‘ ์Šคํƒ ์„œ๋ธŒ๋„ท์„ ๋งŒ๋“ค ๋•Œ ์„œ๋ธŒ๋„ท์— IPv6 ์•ก์„ธ์Šค ์œ ํ˜•์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ๋Š” ์„œ๋ธŒ๋„ท์˜ ipv6-access-type ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ EXTERNAL๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ด ์„œ๋ธŒ๋„ท์˜ ์ƒˆ VM์— ์™ธ๋ถ€ IPv4 ์ฃผ์†Œ์™€ ์™ธ๋ถ€ IPv6 ์ฃผ์†Œ๋ฅผ ๋ชจ๋‘ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „๋‹ฌ ๊ทœ์น™์„ ์™ธ๋ถ€ IPv4 ์ฃผ์†Œ ๋ฐ ์™ธ๋ถ€ IPv6 ์ฃผ์†Œ์— ํ• ๋‹นํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์˜ˆ์‹œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฑ์—”๋“œ ๋ฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ตฌ์„ฑ์š”์†Œ๋Š” ๋‹ค์Œ ๋ฆฌ์ „ ๋ฐ ์„œ๋ธŒ๋„ท์— ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฆฌ์ „: us-central1
  • ์„œ๋ธŒ๋„ท: ๊ธฐ๋ณธ IPv4 ์ฃผ์†Œ ๋ฒ”์œ„๊ฐ€ 10.1.2.0/24์ธ lb-subnet. ์„œ๋ธŒ๋„ท์— ๊ตฌ์„ฑํ•  IPv4 ์ฃผ์†Œ ๋ฒ”์œ„๋ฅผ ์„ ํƒํ•˜๋”๋ผ๋„ IPv6 ์ฃผ์†Œ ๋ฒ”์œ„๊ฐ€ ์ž๋™์œผ๋กœ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. Google์€ ๊ณ ์ •๋œ ํฌ๊ธฐ(/64)์˜ IPv6 CIDR ๋ธ”๋ก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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

์ฝ˜์†”

IPv4 ๋ฐ IPv6 ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‘ ์ง€์›ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

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

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

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

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

  4. ์„œ๋ธŒ๋„ท ์„น์…˜์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

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

IPv4 ํŠธ๋ž˜ํ”ฝ๋งŒ ์ง€์›ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

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

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

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

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

  4. ์„œ๋ธŒ๋„ท ์„น์…˜์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

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

gcloud

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

    gcloud compute networks create lb-network \
        --subnet-mode=custom
    
  2. lb-network ๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ us-central1 ๋ฆฌ์ „์˜ ๋ฐฑ์—”๋“œ์— ๋Œ€ํ•œ ์„œ๋ธŒ๋„ท์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    IPv4 ๋ฐ IPv6 ํŠธ๋ž˜ํ”ฝ ๋ชจ๋‘์˜ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด์ค‘ ์Šคํƒ ์„œ๋ธŒ๋„ท์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    gcloud compute networks subnets create lb-subnet \
        --stack-type=IPV4_IPV6 \
        --ipv6-access-type=EXTERNAL \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-central1
    

    IPv4 ํŠธ๋ž˜ํ”ฝ ์ „์šฉ์˜ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute networks subnets create lb-subnet \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-central1
    

์˜์—ญ๋ณ„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋งŒ๋“ค๊ธฐ

์ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” Compute Engine ์˜์—ญ๋ณ„ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน 2๊ฐœ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ฐ ์ธ์Šคํ„ด์Šค์— Apache ์›น ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

IPv4 ๋ฐ IPv6 ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋ฐฑ์—”๋“œ VM์„ ์ด์ค‘ ์Šคํƒ์œผ๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. VM์˜ stack-type์„ IPV4_IPV6๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. VM์€ ์„œ๋ธŒ๋„ท์—์„œ ipv6-access-type ์„ค์ •(์ด ์˜ˆ์‹œ์—์„œ๋Š” EXTERNAL)๋„ ์ƒ์†ํ•ฉ๋‹ˆ๋‹ค. IPv6 ์š”๊ตฌ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์™ธ๋ถ€ ํŒจ์Šค ์Šค๋ฃจ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ฐœ์š”: ์ „๋‹ฌ ๊ทœ์น™์„ ์ฐธ์กฐํ•˜์„ธ์š”.

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

์™ธ๋ถ€ ํŒจ์Šค ์Šค๋ฃจ ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋ฐฑ์—”๋“œ VM์œผ๋กœ ์ฐธ์—ฌํ•˜๋Š” ์ธ์Šคํ„ด์Šค๋Š” ์ ์ ˆํ•œ Linux ๊ฒŒ์ŠคํŠธ ํ™˜๊ฒฝ, Windows ๊ฒŒ์ŠคํŠธ ํ™˜๊ฒฝ ๋˜๋Š” ๊ธฐํƒ€ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํฌํŠธ 80์—์„œ TCP ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋งŒ๋“ค๊ธฐ

์ฝ˜์†”

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

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

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

      #! /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)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      systemctl restart apache2
      
    6. ๋„คํŠธ์›Œํ‚น ์„น์…˜์„ ํŽผ์นœ ํ›„ ๋‹ค์Œ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

      1. ๋„คํŠธ์›Œํฌ ํƒœ๊ทธ์— network-lb-tcp-80๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
      2. ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๊ธฐ๋ณธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํด๋ฆญํ•˜๊ณ  ๋‹ค์Œ ํ•„๋“œ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
        1. ๋„คํŠธ์›Œํฌ: lb-network
        2. ์„œ๋ธŒ๋„คํŠธ์›Œํฌ: lb-subnet
    7. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

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

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

    1. ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. ์ƒˆ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน(์Šคํ…Œ์ดํŠธ๋ฆฌ์Šค(Stateless))์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์Šคํ…Œ์ดํŠธ๋ฆฌ์Šค(Stateless) ๋˜๋Š” ์Šคํ…Œ์ดํŠธํ’€(Stateful) MIG๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
    3. ์ด๋ฆ„์— ig-us-tcp-80๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    4. ์œ„์น˜์—์„œ ๋‹จ์ผ ์˜์—ญ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    5. ๋ฆฌ์ „์œผ๋กœ us-central1์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    6. ์˜์—ญ์œผ๋กœ us-central1-a๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    7. ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์—์„œ ig-us-template-tcp-80์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    8. ๊ทธ๋ฃน์— ๋งŒ๋“ค ์ธ์Šคํ„ด์Šค์˜ ์ˆ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

      ์ด ์˜ˆ์‹œ์—์„œ๋Š” ์ž๋™ ํ™•์žฅ์—์„œ ๋‹ค์Œ ์˜ต์…˜์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

      • ์ž๋™ ํ™•์žฅ ๋ชจ๋“œ์—์„œ Off:do not autoscale์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      • ์ตœ๋Œ€ ์ธ์Šคํ„ด์Šค ์ˆ˜์— 2๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

์ด ๊ฐ€์ด๋“œ์˜ gcloud ์•ˆ๋‚ด์—์„œ๋Š” Cloud Shell ๋˜๋Š” bash๊ฐ€ ์„ค์น˜๋œ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

  1. gcloud compute instance-templates create ๋ช…๋ น์–ด๋กœ HTTP ์„œ๋ฒ„๊ฐ€ ํฌํ•จ๋œ VM ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    IPv4 ๋ฐ IPv6 ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

      gcloud compute instance-templates create ig-us-template-tcp-80 \
          --region=us-central1 \
          --network=lb-network \
          --subnet=lb-subnet \
          --ipv6-network-tier=PREMIUM \
          --stack-type=IPV4_IPV6 \
          --tags=network-lb-tcp-80 \
          --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)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          systemctl restart apache2'
    

    ๋˜๋Š” IPv4 ํŠธ๋ž˜ํ”ฝ ์ „์šฉ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

      gcloud compute instance-templates create ig-us-template-tcp-80 \
          --region=us-central1 \
          --network=lb-network \
          --subnet=lb-subnet \
          --tags=network-lb-tcp-80 \
          --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" \
                  ://metadata.google.internal/computeMetadata/v1/instance/name)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          systemctl restart apache2'
    
  2. gcloud compute instance-groups managed create ๋ช…๋ น์–ด๋กœ ์˜์—ญ์— ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

      gcloud compute instance-groups managed create ig-us-tcp-80 \
          --zone us-central1-a \
          --size 2 \
          --template ig-us-template-tcp-80
    

ํฌํŠธ 8080, UDP, ESP, ICMP ํŠธ๋ž˜ํ”ฝ์— TCP์šฉ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋งŒ๋“ค๊ธฐ

์ฝ˜์†”

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

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

    1. ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. ์ด๋ฆ„์— ig-us-template-l3-default๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    3. ๋ถ€ํŒ… ๋””์Šคํฌ๊ฐ€ Debian GNU/Linux 12(bookworm)์™€ ๊ฐ™์€ Debian ์ด๋ฏธ์ง€๋กœ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ์•ˆ๋‚ด์—์„œ๋Š” apt-get์ฒ˜๋Ÿผ Debian์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    4. ๊ณ ๊ธ‰ ์˜ต์…˜ ์„น์…˜์„ ํŽผ์นฉ๋‹ˆ๋‹ค.
    5. ๊ด€๋ฆฌ ์„น์…˜์„ ํŽผ์นœ ํ›„ ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ ํ•„๋“œ์— ๋‹ค์Œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ๋Š” Apache ์„œ๋ฒ„๊ฐ€ ํฌํŠธ 80 ๋Œ€์‹  ํฌํŠธ 8080์—์„œ ๋ฆฌ์Šจํ•˜๋„๋ก ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

      #! /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)"
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      sed -ire 's/^Listen 80$/Listen 8080/g' /etc/apache2/ports.conf
      systemctl restart apache2
      
    6. ๋„คํŠธ์›Œํ‚น ์„น์…˜์„ ํŽผ์นœ ํ›„ ๋‹ค์Œ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

      1. ๋„คํŠธ์›Œํฌ ํƒœ๊ทธ์— network-lb-l3-default๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
      2. ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๊ธฐ๋ณธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํด๋ฆญํ•˜๊ณ  ๋‹ค์Œ ํ•„๋“œ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
        1. ๋„คํŠธ์›Œํฌ: lb-network
        2. ์„œ๋ธŒ๋„คํŠธ์›Œํฌ: lb-subnet
    7. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

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

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

    1. ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. ์ƒˆ ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน(์Šคํ…Œ์ดํŠธ๋ฆฌ์Šค(Stateless))์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์Šคํ…Œ์ดํŠธ๋ฆฌ์Šค(Stateless) ๋˜๋Š” ์Šคํ…Œ์ดํŠธํ’€(Stateful) MIG๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
    3. ์ด๋ฆ„์— ig-us-l3-default๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    4. ์œ„์น˜์—์„œ ๋‹จ์ผ ์˜์—ญ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    5. ๋ฆฌ์ „์œผ๋กœ us-central1์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    6. ์˜์—ญ์œผ๋กœ us-central1-c๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    7. ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์—์„œ ig-us-template-l3-default์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    8. ๊ทธ๋ฃน์— ๋งŒ๋“ค ์ธ์Šคํ„ด์Šค์˜ ์ˆ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

      ์ด ์˜ˆ์‹œ์—์„œ๋Š” ์ž๋™ ํ™•์žฅ์—์„œ ๋‹ค์Œ ์˜ต์…˜์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

      • ์ž๋™ ํ™•์žฅ ๋ชจ๋“œ์—์„œ Off:do not autoscale์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      • ์ตœ๋Œ€ ์ธ์Šคํ„ด์Šค ์ˆ˜์— 2๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

์ด ๊ฐ€์ด๋“œ์˜ gcloud ์•ˆ๋‚ด์—์„œ๋Š” Cloud Shell ๋˜๋Š” bash๊ฐ€ ์„ค์น˜๋œ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

  1. gcloud compute instance-templates create ๋ช…๋ น์–ด๋กœ HTTP ์„œ๋ฒ„๊ฐ€ ํฌํ•จ๋œ VM ์ธ์Šคํ„ด์Šค ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    ๋˜ํ•œ ์‹œ์ž‘ ์Šคํฌ๋ฆฝํŠธ๋Š” Apache ์„œ๋ฒ„๊ฐ€ ํฌํŠธ 80 ๋Œ€์‹  ํฌํŠธ 8080์—์„œ ๋ฆฌ์Šจํ•˜๋„๋ก ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

    IPv4 ๋ฐ IPv6 ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

      gcloud compute instance-templates create ig-us-template-l3-default \
          --region=us-central1 \
          --network=lb-network \
          --subnet=lb-subnet \
          --ipv6-network-tier=PREMIUM \
          --stack-type=IPV4_IPV6 \
          --tags=network-lb-l3-default \
          --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)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf
          systemctl restart apache2'
    

    ๋˜๋Š” IPv4 ํŠธ๋ž˜ํ”ฝ๋งŒ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

      gcloud compute instance-templates create ig-us-template-l3-default \
          --region=us-central1 \
          --network=lb-network \
          --subnet=lb-subnet \
          --tags=network-lb-l3-default \
          --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)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf
          systemctl restart apache2'
    
  2. gcloud compute instance-groups managed create ๋ช…๋ น์–ด๋กœ ์˜์—ญ์— ๊ด€๋ฆฌํ˜• ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

      gcloud compute instance-groups managed create ig-us-l3-default \
          --zone us-central1-c \
          --size 2 \
          --template ig-us-template-l3-default
    

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

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

  • ์™ธ๋ถ€ TCP ํŠธ๋ž˜ํ”ฝ์ด ํฌํŠธ 80์˜ ig-us-tcp-80 ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์žˆ๋Š” ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™(๋Œ€์ƒ ํƒœ๊ทธ network-lb-tcp-80 ์‚ฌ์šฉ)์ž…๋‹ˆ๋‹ค. IPv4 ๋ฐ IPv6 ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๋„๋ก ๋ณ„๋„์˜ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ(ํฌํŠธ 8080, UDP, ESP, ICMP์˜ TCP)์ด ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™(๋Œ€์ƒ ํƒœ๊ทธ network-lb-l3-default ์‚ฌ์šฉ)์ž…๋‹ˆ๋‹ค. IPv4 ๋ฐ IPv6 ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•˜๋„๋ก ๋ณ„๋„์˜ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

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

์ฝ˜์†”

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

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

  2. IPv4 TCP ํŠธ๋ž˜ํ”ฝ์ด ig-us-tcp-80 ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    1. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. allow-network-lb-tcp-80-ipv4์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    3. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’).
    4. ๋Œ€์ƒ์—์„œ ์ง€์ •๋œ ๋Œ€์ƒ ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    5. ๋Œ€์ƒ ํƒœ๊ทธ ํ•„๋“œ์— network-lb-tcp-80๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    6. ์†Œ์Šค ํ•„ํ„ฐ๋ฅผ IPv4 ๋ฒ”์œ„๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    7. ์†Œ์Šค IPv4 ๋ฒ”์œ„๋ฅผ 0.0.0.0/0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋“  ์†Œ์Šค์—์„œ ์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ ๋ฐ ์ƒํƒœ ์ ๊ฒ€ ํ”„๋กœ๋ธŒ๊ฐ€ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    8. ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ์—์„œ ์ง€์ •๋œ ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. TCP ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  80์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ฝ˜์†”์— ์ƒˆ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ํ‘œ์‹œ๋˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ์ƒˆ๋กœ๊ณ ์นจ์„ ํด๋ฆญํ•ด์•ผ ๊ทœ์น™์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. IPv4 UDP, ESP, ICMP ํŠธ๋ž˜ํ”ฝ์ด ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    1. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. allow-network-lb-l3-default-ipv4์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    3. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’).
    4. ๋Œ€์ƒ์—์„œ ์ง€์ •๋œ ๋Œ€์ƒ ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    5. ๋Œ€์ƒ ํƒœ๊ทธ ํ•„๋“œ์— network-lb-l3-default๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    6. ์†Œ์Šค ํ•„ํ„ฐ๋ฅผ IPv4 ๋ฒ”์œ„๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    7. ์†Œ์Šค IPv4 ๋ฒ”์œ„๋ฅผ 0.0.0.0/0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋“  ์†Œ์Šค์˜ ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ ๋ฐ ์ƒํƒœ ์ ๊ฒ€ ํ”„๋กœ๋ธŒ๊ฐ€ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    8. ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ์—์„œ ์ง€์ •๋œ ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      1. TCP ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  8080์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      2. UDP ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      3. ๊ธฐํƒ€ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  esp, icmp๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ฝ˜์†”์— ์ƒˆ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ํ‘œ์‹œ๋˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ์ƒˆ๋กœ๊ณ ์นจ์„ ํด๋ฆญํ•ด์•ผ ๊ทœ์น™์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. IPv6 TCP ํŠธ๋ž˜ํ”ฝ์ด ig-us-tcp-80 ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    1. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. allow-network-lb-tcp-80-ipv6์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    3. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’).
    4. ๋Œ€์ƒ์—์„œ ์ง€์ •๋œ ๋Œ€์ƒ ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    5. ๋Œ€์ƒ ํƒœ๊ทธ ํ•„๋“œ์— network-lb-tcp-80๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    6. ์†Œ์Šค ํ•„ํ„ฐ๋ฅผ IPv6 ๋ฒ”์œ„๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    7. ์†Œ์Šค IPv6 ๋ฒ”์œ„๋ฅผ ::/0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋“  ์†Œ์Šค์˜ ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ ๋ฐ ์ƒํƒœ ์ ๊ฒ€ ํ”„๋กœ๋ธŒ๊ฐ€ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    8. ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ์—์„œ ์ง€์ •๋œ ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. TCP ์˜†์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ํด๋ฆญํ•˜๊ณ  80์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ฝ˜์†”์— ์ƒˆ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ํ‘œ์‹œ๋˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ์ƒˆ๋กœ๊ณ ์นจ์„ ํด๋ฆญํ•ด์•ผ ๊ทœ์น™์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. IPv6 UDP, ESP, ICMPv6 ํŠธ๋ž˜ํ”ฝ์ด ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์—์„œ๋Š” TCP ์ƒํƒœ ์ ๊ฒ€ ํ”„๋กœ๋ธŒ๊ฐ€ ํฌํŠธ 8080์˜ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    1. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. allow-network-lb-l3-default-ipv6์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    3. ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ๊ฐ’).
    4. ๋Œ€์ƒ์—์„œ ์ง€์ •๋œ ๋Œ€์ƒ ํƒœ๊ทธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    5. ๋Œ€์ƒ ํƒœ๊ทธ ํ•„๋“œ์— network-lb-l3-default๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    6. ์†Œ์Šค ํ•„ํ„ฐ๋ฅผ IPv6 ๋ฒ”์œ„๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    7. ์†Œ์Šค IPv6 ๋ฒ”์œ„๋ฅผ ::/0์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋“  ์†Œ์Šค์˜ ํŠธ๋ž˜ํ”ฝ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ ๋ฐ ์ƒํƒœ ์ ๊ฒ€ ํ”„๋กœ๋ธŒ๊ฐ€ ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    8. ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ์—์„œ ์ง€์ •๋œ ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      1. TCP ์˜†์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ํด๋ฆญํ•˜๊ณ  8080์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      2. UDP ์˜†์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
      3. ๊ธฐํƒ€ ์˜†์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ํด๋ฆญํ•˜๊ณ  esp, 58๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    9. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ฝ˜์†”์— ์ƒˆ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์ด ํ‘œ์‹œ๋˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ์ƒˆ๋กœ๊ณ ์นจ์„ ํด๋ฆญํ•ด์•ผ ๊ทœ์น™์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud

  1. IPv4 TCP ํŠธ๋ž˜ํ”ฝ์ด ig-us-tcp-80 ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv4 \
        --network=lb-network \
        --target-tags network-lb-tcp-80 \
        --allow tcp:80 \
        --source-ranges=0.0.0.0/0
    
  2. IPv4 UDP, ESP, ICMP ํŠธ๋ž˜ํ”ฝ์ด ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์—์„œ๋Š” TCP ์ƒํƒœ ์ ๊ฒ€ ํ”„๋กœ๋ธŒ๊ฐ€ ํฌํŠธ 8080์˜ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create allow-network-lb-l3-default-ipv4 \
        --network=lb-network \
        --target-tags network-lb-l3-default \
        --allow tcp:8080,udp,esp,icmp \
        --source-ranges=0.0.0.0/0
    
  3. IPv6 TCP ํŠธ๋ž˜ํ”ฝ์ด ig-us-tcp-80 ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv6 \
        --network=lb-network \
        --target-tags network-lb-tcp-80 \
        --allow tcp:80 \
        --source-ranges=::/0
    
  4. IPv6 UDP, ESP, ICMPv6 ํŠธ๋ž˜ํ”ฝ์ด ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ์— ๋„๋‹ฌํ•˜๋„๋ก ํ—ˆ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ๋ฐฉํ™”๋ฒฝ ๊ทœ์น™์—์„œ๋Š” TCP ์ƒํƒœ ์ ๊ฒ€ ํ”„๋กœ๋ธŒ๊ฐ€ ํฌํŠธ 8080์˜ ์ธ์Šคํ„ด์Šค์— ๋„๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    gcloud compute firewall-rules create allow-network-lb-l3-default-ipv6 \
        --network=lb-network \
        --target-tags network-lb-l3-default \
        --allow tcp:8080,udp,esp,58 \
        --source-ranges=::/0
    

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ตฌ์„ฑ

๋‹ค์Œ์œผ๋กœ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ 2๊ฐœ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํ•˜๋‚˜๋Š” ํฌํŠธ 80์—์„œ TCP ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋‹ค๋ฅธ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” ํฌํŠธ 8080์—์„œ TCP, UDP, ESP, ICMP ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ „๋‹ฌ ๊ทœ์น™์— ๊ฐ™์€ ์™ธ๋ถ€ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋‘ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

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

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ 2๊ฐœ๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

์ฝ˜์†”

๊ตฌ์„ฑ ์‹œ์ž‘

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

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

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

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

  1. ์ด๋ฆ„ ํ•„๋“œ์— ์ƒˆ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ backend-service-tcp-80 ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฆฌ์ „ ๋ชฉ๋ก์—์„œ us-central1์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ

  1. ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ ํŽ˜์ด์ง€์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ•˜์„ธ์š”.
    1. ์ƒˆ ๋ฐฑ์—”๋“œ ์„น์…˜์—์„œ IP ์Šคํƒ ์œ ํ˜•์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. IPv4 ๋ฐ IPv6 ํŠธ๋ž˜ํ”ฝ ๋ชจ๋‘ ์ฒ˜๋ฆฌ๋˜๋„๋ก ์ด์ค‘ ์Šคํƒ ๋ฐฑ์—”๋“œ๋ฅผ ๋งŒ๋“  ๊ฒฝ์šฐ IPv4 ๋ฐ IPv6(์ด์ค‘ ์Šคํƒ)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. IPv4 ํŠธ๋ž˜ํ”ฝ๋งŒ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด IPv4(๋‹จ์ผ ์Šคํƒ)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋ชฉ๋ก์—์„œ ig-us-tcp-80์„ ์„ ํƒํ•œ ํ›„ ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    3. ์ƒํƒœ ์ ๊ฒ€ ๋ชฉ๋ก์—์„œ ์ƒํƒœ ์ ๊ฒ€ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•œ ํ›„ ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      • ์ด๋ฆ„: tcp-health-check-80
      • ํ”„๋กœํ† ์ฝœ: TCP
      • ํฌํŠธ: 80
    4. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ณ„์†ํ•˜๊ธฐ ์ „์— ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ ์˜†์— ํŒŒ๋ž€์ƒ‰ ์ฒดํฌํ‘œ์‹œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

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

  1. ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ์ด๋ฆ„ ํ•„๋“œ์— forwarding-rule-tcp-80๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  3. IPv4 ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.
    1. IP ๋ฒ„์ „์—์„œ IPv4๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. ๋‚ด๋ถ€ IP ์šฉ๋„ ์„น์…˜์˜ IP ์ฃผ์†Œ ๋ชฉ๋ก์—์„œ IP ์ฃผ์†Œ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      1. ์ด๋ฆ„ ํ•„๋“œ์— network-lb-ipv4๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      2. ์˜ˆ์•ฝ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    3. ํฌํŠธ์— ๋Œ€ํ•ด ๋‹จ์ผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํฌํŠธ ๋ฒˆํ˜ธ ํ•„๋“œ์— 80์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    4. ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. IPv6 ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

    1. IP ๋ฒ„์ „์—์„œ IPv6์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. ์„œ๋ธŒ๋„คํŠธ์›Œํฌ์— lb-subnet์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    3. IPv6 ๋ฒ”์œ„ ๋ชฉ๋ก์—์„œ IP ์ฃผ์†Œ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      1. ์ด๋ฆ„ ํ•„๋“œ์— network-lb-ipv6๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      2. ์˜ˆ์•ฝ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    4. ํฌํŠธ์— ๋Œ€ํ•ด ๋‹จ์ผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํฌํŠธ ๋ฒˆํ˜ธ ํ•„๋“œ์— 80์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    5. ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ ์™ผ์ชฝ์˜ ์ฒดํฌ ํ‘œ์‹œ๊ฐ€ ์žˆ๋Š” ํŒŒ๋ž€์ƒ‰ ์›์€ ์„ค์ •์ด ์™„๋ฃŒ๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ๊ฒ€ํ† 

  1. ๊ฒ€ํ†  ๋ฐ ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ตฌ์„ฑ ์„ค์ •์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.
  3. ์„ ํƒ์‚ฌํ•ญ: ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” REST API ์š”์ฒญ์„ ๋ณด๋ ค๋ฉด ์ƒ์‘ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ ํŽ˜์ด์ง€์˜ ์ƒˆ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋Œ€ํ•œ ๋ฐฑ์—”๋“œ ์—ด์— ์ƒˆ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ •์ƒ์ž„์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋…น์ƒ‰ ํ™•์ธ ํ‘œ์‹œ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ

๊ตฌ์„ฑ ์‹œ์ž‘

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

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

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

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

  1. ์ด๋ฆ„ ํ•„๋“œ์— ์ƒˆ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ backend-service-l3-default ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฆฌ์ „ ๋ชฉ๋ก์—์„œ us-central1์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ

  1. ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ ํŽ˜์ด์ง€์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ•˜์„ธ์š”.
    1. ์ƒˆ ๋ฐฑ์—”๋“œ ์„น์…˜์—์„œ IP ์Šคํƒ ์œ ํ˜•์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. IPv4 ๋ฐ IPv6 ํŠธ๋ž˜ํ”ฝ ๋ชจ๋‘ ์ฒ˜๋ฆฌ๋˜๋„๋ก ์ด์ค‘ ์Šคํƒ ๋ฐฑ์—”๋“œ๋ฅผ ๋งŒ๋“  ๊ฒฝ์šฐ IPv4 ๋ฐ IPv6(์ด์ค‘ ์Šคํƒ)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. IPv4 ํŠธ๋ž˜ํ”ฝ๋งŒ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด IPv4(๋‹จ์ผ ์Šคํƒ)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน ๋ชฉ๋ก์—์„œ ig-us-l3-default์„ ์„ ํƒํ•œ ํ›„ ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    3. ํ”„๋กœํ† ์ฝœ ๋ชฉ๋ก์—์„œ L3(์—ฌ๋Ÿฌ ํ”„๋กœํ† ์ฝœ)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    4. ์ƒํƒœ ์ ๊ฒ€ ๋ชฉ๋ก์—์„œ ์ƒํƒœ ์ ๊ฒ€ ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•œ ํ›„ ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      • ์ด๋ฆ„: tcp-health-check-8080
      • ํ”„๋กœํ† ์ฝœ: TCP
      • ํฌํŠธ: 8080
    5. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ณ„์†ํ•˜๊ธฐ ์ „์— ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ ์˜†์— ํŒŒ๋ž€์ƒ‰ ์ฒดํฌํ‘œ์‹œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

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

  1. ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ์ด๋ฆ„ ํ•„๋“œ์— forwarding-rule-l3-default๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  3. IPv4 ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.
    1. IP ๋ฒ„์ „์—์„œ IPv4๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. ๋‚ด๋ถ€ IP ์šฉ๋„ ์„น์…˜์˜ IP ์ฃผ์†Œ ๋ชฉ๋ก์—์„œ IP ์ฃผ์†Œ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      1. ์ด๋ฆ„ ํ•„๋“œ์— network-lb-ipv4๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      2. ์˜ˆ์•ฝ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    3. ํ”„๋กœํ† ์ฝœ ๋ชฉ๋ก์—์„œ L3(์—ฌ๋Ÿฌ ํ”„๋กœํ† ์ฝœ)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    4. ํฌํŠธ์— ๋ชจ๋‘๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    5. ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. IPv6 ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

    1. IP ๋ฒ„์ „์—์„œ IPv6์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. ์„œ๋ธŒ๋„คํŠธ์›Œํฌ์— lb-subnet์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    3. IPv6 ๋ฒ”์œ„ ๋ชฉ๋ก์—์„œ IP ์ฃผ์†Œ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      1. ์ด๋ฆ„ ํ•„๋“œ์— network-lb-ipv6๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      2. ์˜ˆ์•ฝ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    4. ํ”„๋กœํ† ์ฝœ ํ•„๋“œ์—์„œ L3(์—ฌ๋Ÿฌ ํ”„๋กœํ† ์ฝœ)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    5. ํฌํŠธ์— ๋ชจ๋‘๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    6. ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ ์™ผ์ชฝ์˜ ์ฒดํฌ ํ‘œ์‹œ๊ฐ€ ์žˆ๋Š” ํŒŒ๋ž€์ƒ‰ ์›์€ ์„ค์ •์ด ์™„๋ฃŒ๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ๊ฒ€ํ† 

  1. ๊ฒ€ํ†  ๋ฐ ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ๊ตฌ์„ฑ ์„ค์ •์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.
  3. ์„ ํƒ์‚ฌํ•ญ: ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” REST API ์š”์ฒญ์„ ๋ณด๋ ค๋ฉด ์ƒ์‘ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ ํŽ˜์ด์ง€์˜ ์ƒˆ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋Œ€ํ•œ ๋ฐฑ์—”๋“œ ์—ด์— ์ƒˆ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ •์ƒ์ž„์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋…น์ƒ‰ ํ™•์ธ ํ‘œ์‹œ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

gcloud

  1. ์ •์  ์™ธ๋ถ€ IP ์ฃผ์†Œ๋ฅผ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

    IPv4 ํŠธ๋ž˜ํ”ฝ: ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ณ ์ • ์™ธ๋ถ€ IP ์ฃผ์†Œ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    gcloud compute addresses create network-lb-ipv4 \
        --region us-central1
    

    IPv6 ํŠธ๋ž˜ํ”ฝ: ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ณ ์ • ์™ธ๋ถ€ IPv6 ์ฃผ์†Œ ๋ฒ”์œ„๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜๋Š” ์„œ๋ธŒ๋„ท์€ ์™ธ๋ถ€ IPv6 ์„œ๋ธŒ๋„ท ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š” ์ด์ค‘ ์Šคํƒ ์„œ๋ธŒ๋„ท์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    gcloud compute addresses create network-lb-ipv6 \
        --region us-central1 \
        --subnet lb-subnet \
        --ip-version IPV6 \
        --endpoint-type NETLB
    
  2. ํฌํŠธ 80์— ๋Œ€ํ•œ TCP ์ƒํƒœ ์ ๊ฒ€์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ์ƒํƒœ ์ ๊ฒ€์€ ig-us-tcp-80 ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

    gcloud compute health-checks create tcp tcp-health-check-80 \
        --region us-central1 \
        --port 80
    
  3. ํฌํŠธ 8080์— ๋Œ€ํ•œ TCP ์ƒํƒœ ์ ๊ฒ€์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ์ƒํƒœ ์ ๊ฒ€์€ ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

    gcloud compute health-checks create tcp tcp-health-check-8080 \
        --region us-central1 \
        --port 8080
    
  4. ํฌํŠธ 80์˜ TCP ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    1. TCP๋กœ ์„ค์ •๋œ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

      gcloud compute backend-services create backend-service-tcp-80 \
          --protocol TCP \
          --health-checks tcp-health-check-80 \
          --health-checks-region us-central1 \
          --region us-central1
      
    2. ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

      gcloud compute backend-services add-backend backend-service-tcp-80 \
          --instance-group ig-us-tcp-80 \
          --instance-group-zone us-central1-a \
          --region us-central1
      
    3. IPv4 ํŠธ๋ž˜ํ”ฝ: ํฌํŠธ 80์—์„œ ๋“ค์–ด์˜ค๋Š” TCP ํŠธ๋ž˜ํ”ฝ์„ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ์ „๋‹ฌ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. TCP๋Š” ๊ธฐ๋ณธ ์ „๋‹ฌ ๊ทœ์น™ ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •๋˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

      1๋‹จ๊ณ„์—์„œ ์˜ˆ์•ฝ๋œ IP ์ฃผ์†Œ๋ฅผ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ๊ณ ์ • ์™ธ๋ถ€ IP ์ฃผ์†Œ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

      gcloud compute forwarding-rules create forwarding-rule-tcp-80 \
          --load-balancing-scheme external \
          --region us-central1 \
          --ports 80 \
          --address network-lb-ipv4 \
          --backend-service backend-service-tcp-80
      
    4. IPv6 ํŠธ๋ž˜ํ”ฝ: ํฌํŠธ 80์—์„œ ๋“ค์–ด์˜ค๋Š” TCP ํŠธ๋ž˜ํ”ฝ์„ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ์ „๋‹ฌ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. TCP๋Š” ๊ธฐ๋ณธ ์ „๋‹ฌ ๊ทœ์น™ ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •๋˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

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

      gcloud compute forwarding-rules create forwarding-rule-tcp-80 \
          --load-balancing-scheme external \
          --region us-central1 \
          --network-tier PREMIUM \
          --ip-version IPV6 \
          --subnet lb-subnet \
          --address network-lb-ipv6 \
          --ports 80 \
          --backend-service backend-service-tcp-80
      
  5. TCP(ํฌํŠธ 8080), UDP, ESP, ICMP ํŠธ๋ž˜ํ”ฝ์šฉ ๋‘ ๋ฒˆ์งธ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

    1. UNSPECIFIED๋กœ ์„ค์ •๋œ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

      gcloud compute backend-services create backend-service-l3-default \
          --protocol UNSPECIFIED \
          --health-checks tcp-health-check-8080 \
          --health-checks-region us-central1 \
          --region us-central1
      
    2. ๋ฐฑ์—”๋“œ ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์„ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

      gcloud compute backend-services add-backend backend-service-l3-default \
          --instance-group ig-us-l3-default \
          --instance-group-zone us-central1-c \
          --region us-central1
      
    3. IPv4 ํŠธ๋ž˜ํ”ฝ: ํ”„๋กœํ† ์ฝœ์ด L3_DEFAULT๋กœ ์„ค์ •๋œ ์ „๋‹ฌ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด ์ง€์›๋˜๋Š” ๋‚จ์€ ๋ชจ๋“  IP ํ”„๋กœํ† ์ฝœ ํŠธ๋ž˜ํ”ฝ(ํฌํŠธ 8080์˜ TCP, UDP, ESP, ICMP)์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํฌํŠธ๋ฅผ L3_DEFAULT ์ „๋‹ฌ ๊ทœ์น™์œผ๋กœ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

      ์ด์ „ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ์‚ฌ์šฉํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ์™ธ๋ถ€ IPv4 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

      gcloud compute forwarding-rules create forwarding-rule-l3-default \
          --load-balancing-scheme external \
          --region us-central1 \
          --ports all \
          --ip-protocol L3_DEFAULT \
          --address network-lb-ipv4 \
          --backend-service backend-service-l3-default
      
    4. IPv6 ํŠธ๋ž˜ํ”ฝ: ํ”„๋กœํ† ์ฝœ์ด L3_DEFAULT๋กœ ์„ค์ •๋œ ์ „๋‹ฌ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด ์ง€์›๋˜๋Š” ๋‚จ์€ ๋ชจ๋“  IP ํ”„๋กœํ† ์ฝœ ํŠธ๋ž˜ํ”ฝ(ํฌํŠธ 8080์˜ TCP, UDP, ESP, ICMP)์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ํฌํŠธ๋ฅผ L3_DEFAULT ์ „๋‹ฌ ๊ทœ์น™์œผ๋กœ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

      gcloud compute forwarding-rules create forwarding-rule-l3-default \
          --load-balancing-scheme external \
          --region us-central1 \
          --network-tier PREMIUM \
          --ip-version IPV6 \
          --subnet lb-subnet \
          --address network-lb-ipv6 \
          --ports all \
          --ip-protocol L3_DEFAULT \
          --backend-service backend-service-l3-default
      

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ํ…Œ์ŠคํŠธ

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

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ์™ธ๋ถ€ IP ์ฃผ์†Œ ์กฐํšŒ

์ฝ˜์†”

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

    ๋ถ€ํ•˜ ๋ถ„์‚ฐ ๊ตฌ์„ฑ์š”์†Œ๋กœ ์ด๋™

  2. ์ „๋‹ฌ ๊ทœ์น™ ํƒญ์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ „๋‹ฌ ๊ทœ์น™์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

  3. IP ์ฃผ์†Œ ์—ด์—์„œ ๊ฐ IPv4 ๋ฐ IPv6 ์ „๋‹ฌ ๊ทœ์น™์— ๋‚˜์—ด๋œ ์™ธ๋ถ€ IP ์ฃผ์†Œ๋ฅผ ๊ธฐ๋กํ•ด ๋‘ก๋‹ˆ๋‹ค.

gcloud: IPv4

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

gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \
    --region us-central1

์ด ์˜ˆ์‹œ์—์„œ๋Š” ๋‘ IPv4 ์ „๋‹ฌ ๊ทœ์น™ ๋ชจ๋‘์— ๊ฐ™์€ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ forwarding-rule-l3-default๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud: IPv6

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” forwarding-rule-tcp-80 ์ „๋‹ฌ ๊ทœ์น™์˜ ์™ธ๋ถ€ IPv6 ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \
    --region us-central1

์ด ์˜ˆ์‹œ์—์„œ๋Š” ๋‘ IPv6 ์ „๋‹ฌ ๊ทœ์น™ ๋ชจ๋‘์— ๊ฐ™์€ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ forwarding-rule-l3-default๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋กœ ํŠธ๋ž˜ํ”ฝ ์ „์†ก

์ด ์ ˆ์ฐจ๋Š” ์™ธ๋ถ€ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ํฌํŠธ 80์˜ TCP ํŠธ๋ž˜ํ”ฝ์ด ig-us-tcp-80 ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์˜ํ•ด ๋ถ€ํ•˜ ๋ถ„์‚ฐ๋˜๊ณ  ๋‹ค๋ฅธ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ(ํฌํŠธ 8080์˜ TCP, UDP, ESP, ICMP)์ด ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ํฌํŠธ 80์—์„œ TCP ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ž‘ ํ™•์ธ

  1. ํฌํŠธ 80์—์„œ TCP๋ฅผ ํ†ตํ•ด curl์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋Œ€ํ•œ ์›น ์š”์ฒญ์„ ๋งŒ๋“ค์–ด IP ์ฃผ์†Œ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

    • IPv4 ์—ฐ๊ฒฐ์ด ์„ค์ •๋œ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

      while true; do curl -m1 IP_ADDRESS; done
      
    • IPv6 ์—ฐ๊ฒฐ์ด ์„ค์ •๋œ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

      while true; do curl -m1 http://IPV6_ADDRESS; done
      

      ์˜ˆ๋ฅผ ๋“ค์–ด ํ• ๋‹น๋œ IPv6 ์ฃผ์†Œ๊ฐ€ [2001:db8:1:1:1:1:1:1/96]์ด๋ฉด ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

      while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]; done
      
  2. curl ๋ช…๋ น์–ด์—์„œ ๋ฐ˜ํ™˜๋œ ํ…์ŠคํŠธ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์‘๋‹ต์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฑ์—”๋“œ VM์˜ ์ด๋ฆ„์€ ํ•ด๋‹น ํ…์ŠคํŠธ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: Page served from: VM_NAME). ig-us-tcp-80 ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ์ธ์Šคํ„ด์Šค์—์„œ๋งŒ ์‘๋‹ต์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

    ์ฒ˜์Œ์— ์‘๋‹ต์ด ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ•˜๋ฉด ๊ตฌ์„ฑ์ด ์™„์ „ํžˆ ๋กœ๋“œ๋˜๊ณ  ์ธ์Šคํ„ด์Šค๊ฐ€ ์ •์ƒ์œผ๋กœ ํ‘œ์‹œ๋  ๋•Œ๊นŒ์ง€ 30์ดˆ ์ •๋„ ๊ธฐ๋‹ค๋ฆฐ ๋‹ค์Œ ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

ํฌํŠธ 8080์—์„œ TCP ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ž‘ ํ™•์ธ

ํฌํŠธ 8080์—์„œ TCP๋ฅผ ํ†ตํ•ด curl์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ๋Œ€ํ•œ ์›น ์š”์ฒญ์„ ๋งŒ๋“ค์–ด IP ์ฃผ์†Œ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

  • IPv4 ์—ฐ๊ฒฐ์ด ์„ค์ •๋œ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    while true; do curl -m1 IPV4_ADDRESS:8080; done
    
  • IPv6 ์—ฐ๊ฒฐ์ด ์„ค์ •๋œ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    while true; do curl -m1 http://IPV6_ADDRESS; done
    

    ์˜ˆ๋ฅผ ๋“ค์–ด ํ• ๋‹น๋œ IPv6 ์ฃผ์†Œ๊ฐ€ [2001:db8:1:1:1:1:1:1/96]์ด๋ฉด ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:8080; done
    

curl ๋ช…๋ น์–ด์—์„œ ๋ฐ˜ํ™˜๋œ ํ…์ŠคํŠธ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ์ธ์Šคํ„ด์Šค์—์„œ๋งŒ ์‘๋‹ต์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ๋Š” ํฌํŠธ 8080์—์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ IP ์ฃผ์†Œ๋กœ ์ „์†ก๋œ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์ด ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ์—์„œ๋งŒ ์ฒ˜๋ฆฌ๋จ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

ICMP ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ž‘ ํ™•์ธ

ICMP ํŠธ๋ž˜ํ”ฝ์˜ ๋™์ž‘์„ ํ™•์ธํ•˜๋ ค๋ฉด tcpdump ๋ช…๋ น์–ด์˜ ์ถœ๋ ฅ์„ ์บก์ฒ˜ํ•˜์—ฌ ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ VM๋งŒ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋กœ ์ „์†ก๋˜๋Š” ICMP ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  1. SSH๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ VM์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

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

      VM ์ธ์Šคํ„ด์Šค ํŽ˜์ด์ง€๋กœ ์ด๋™

    2. ๊ฐ€์ƒ ๋จธ์‹ (VM) ์ธ์Šคํ„ด์Šค ๋ชฉ๋ก์˜ ์—ฐ๊ฒฐํ•  ์ธ์Šคํ„ด์Šค ํ–‰์—์„œ SSH๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  2. tcpdump๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ICMP ํŠธ๋ž˜ํ”ฝ ๋ฆฌ์Šจ์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    sudo tcpdump icmp -w ~/icmpcapture.pcap -s0 -c 10000
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    

    SSH ์ฐฝ์„ ์—ด์–ด ๋‘ก๋‹ˆ๋‹ค.

  3. 4๊ฐœ์˜ ๋ฐฑ์—”๋“œ VM ๋ชจ๋‘์— 1๋‹จ๊ณ„์™€ 2๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

  4. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์— ICMP ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    IPv4 ์‘๋‹ต์„ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด ping์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IPv4 ์ฃผ์†Œ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

    ping IPV4_ADDRESS
    

    IPv6 ์‘๋‹ต์„ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด ping6์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ IPv6 ์ฃผ์†Œ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

    ping6 IPV6_ADDRESS
    

    ์˜ˆ๋ฅผ ๋“ค์–ด ํ• ๋‹น๋œ IPv6 ์ฃผ์†Œ๊ฐ€ [2001:db8:1:1:1:1:1:1/96]์ด๋ฉด ๋ช…๋ น์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    ping6 2001:db8:1:1:1:1:1:1
    
  5. VM๋งˆ๋‹ค ์—ด๋ฆฐ SSH ์ฐฝ์œผ๋กœ ๋Œ์•„๊ฐ€์„œ tcpdump ์บก์ฒ˜ ๋ช…๋ น์–ด๋ฅผ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. Ctrl+C๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

  6. ๊ฐ VM์— ๋Œ€ํ•ด tcpdump ๋ช…๋ น์–ด์˜ ์ถœ๋ ฅ์„ icmpcapture.pcap ํŒŒ์ผ์—์„œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    sudo tcpdump -r ~/icmpcapture.pcap -n
    

    ig-us-l3-default ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ VM์—์„œ๋Š” ๋‹ค์Œ๊ณผ ์œ ์‚ฌํ•œ ํŒŒ์ผ ํ•ญ๋ชฉ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet)
    22:13:07.814486 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 1, length 64
    22:13:07.814513 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 1, length 64
    22:13:08.816150 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 2, length 64
    22:13:08.816175 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 2, length 64
    22:13:09.817536 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 3, length 64
    22:13:09.817560 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 3, length 64
    ...
    

    ig-us-tcp-80 ์ธ์Šคํ„ด์Šค ๊ทธ๋ฃน์˜ ๋ฐฑ์—”๋“œ VM์—์„œ๋Š” ์ˆ˜์‹ ๋œ ํŒจํ‚ท์ด ์—†๊ณ  ํŒŒ์ผ์ด ๋น„์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

    reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet)
    

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

BYOIP๋กœ IPv6 ์ „๋‹ฌ ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ

์ด์ „ ๋‹จ๊ณ„์—์„œ ๋งŒ๋“  ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๋Š” IP version์ด IPv4 ๋˜๋Š” IPv6์ธ ์ „๋‹ฌ ๊ทœ์น™์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” ์ž์ฒด IP ์ฃผ์†Œ ์‚ฌ์šฉ(BYOIP)์œผ๋กœ IPv6 ์ „๋‹ฌ ๊ทœ์น™์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ž์ฒด IP ์ฃผ์†Œ ์‚ฌ์šฉ์„ ํ†ตํ•ด Google Cloud ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ž์ฒด ๊ณต๊ฐœ IPv6 ์ฃผ์†Œ๋ฅผ ํ”„๋กœ๋น„์ €๋‹ํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ž์ฒด IP ์ฃผ์†Œ ์‚ฌ์šฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

BYOIP ์ฃผ์†Œ๋กœ IPv6 ์ „๋‹ฌ ๊ทœ์น™์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋จผ์ € ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ๊ณต๊ฐœ ๊ณต์ง€ IPv6 ํ”„๋ฆฌํ”ฝ์Šค ๋งŒ๋“ค๊ธฐ
  2. ๊ณต๊ฐœ ์œ„์ž„ ํ”„๋ฆฌํ”ฝ์Šค ๋งŒ๋“ค๊ธฐ
  3. IPv6 ํ•˜์œ„ ํ”„๋ฆฌํ”ฝ์Šค ๋งŒ๋“ค๊ธฐ
  4. ํ”„๋ฆฌํ”ฝ์Šค ์•Œ๋ฆผ

์ƒˆ ์ „๋‹ฌ ๊ทœ์น™์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

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

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

  2. ์ˆ˜์ •ํ•  ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์˜ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  3. ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. ํ”„๋ŸฐํŠธ์—”๋“œ ๊ตฌ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. ํ”„๋ŸฐํŠธ์—”๋“œ IP ๋ฐ ํฌํŠธ ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  6. ์ƒˆ ํ”„๋ŸฐํŠธ์—”๋“œ IP ๋ฐ ํฌํŠธ ์„น์…˜์—์„œ ๋‹ค์Œ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    1. ํ•„์š”ํ•œ ํ”„๋กœํ† ์ฝœ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. IP ๋ฒ„์ „ ํ•„๋“œ์—์„œ IPv6๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    3. IPv6 ๋ฒ”์œ„์˜ ์†Œ์Šค ํ•„๋“œ์—์„œ BYOIP๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    4. IP ์ง‘ํ•ฉ ๋ชฉ๋ก์—์„œ ์ „๋‹ฌ ๊ทœ์น™ ์˜ต์…˜์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜์—ฌ ์ด์ „ ๋‹จ๊ณ„์—์„œ ๋งŒ๋“  ํ•˜์œ„ ํ”„๋ฆฌํ”ฝ์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    5. IPv6 ๋ฒ”์œ„ ํ•„๋“œ์— IPv6 ์ฃผ์†Œ ๋ฒ”์œ„๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. IPv6 ์ฃผ์†Œ ๋ฒ”์œ„ ํ”„๋ฆฌํ”ฝ์Šค๋Š” ์—ฐ๊ฒฐ๋œ ํ•˜์œ„ ํ”„๋ฆฌํ”ฝ์Šค์— ์˜ํ•ด ์ง€์ •๋œ ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ํ”„๋ฆฌํ”ฝ์Šค ๊ธธ์ด์™€ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    6. ํฌํŠธ ํ•„๋“œ์— ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    7. ์™„๋ฃŒ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  7. ์—…๋ฐ์ดํŠธ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

gcloud

gcloud compute forwarding-rules create ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ „๋‹ฌ ๊ทœ์น™์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

gcloud compute forwarding-rules create FWD_RULE_NAME \
    --load-balancing-scheme EXTERNAL \
    --ip-protocol PROTOCOL \
    --ports ALL \
    --ip-version IPV6 \
    --region REGION_A \
    --address IPV6_CIDR_RANGE  \
    --backend-service BACKEND_SERVICE \
    --ip-collection PDP_NAME

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

  • FWD_RULE_NAME: ์ „๋‹ฌ ๊ทœ์น™์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • PROTOCOL: ์ „๋‹ฌ ๊ทœ์น™์˜ IP ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ TCP์ž…๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ IP ํ”„๋กœํ† ์ฝœ์€ TCP ๋˜๋Š” L3_DEFAULT ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • REGION_A: ์ „๋‹ฌ ๊ทœ์น™์˜ ๋ฆฌ์ „์ž…๋‹ˆ๋‹ค.
  • IPV6_CIDR_RANGE: ์ „๋‹ฌ ๊ทœ์น™์—์„œ ์ œ๊ณตํ•˜๋Š” IPv6 ์ฃผ์†Œ ๋ฒ”์œ„. IPv6 ์ฃผ์†Œ ๋ฒ”์œ„ ํ”„๋ฆฌํ”ฝ์Šค๋Š” ์—ฐ๊ฒฐ๋œ ํ•˜์œ„ ํ”„๋ฆฌํ”ฝ์Šค์— ์˜ํ•ด ์ง€์ •๋œ ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ํ”„๋ฆฌํ”ฝ์Šค ๊ธธ์ด์™€ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • BACKEND_SERVICE: ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • PDP_NAME: ๊ณต๊ฐœ ์œ„์ž„ ํ”„๋ฆฌํ”ฝ์Šค ์ด๋ฆ„. PDP๋Š” EXTERNAL_IPV6_FORWARDING_RULE_CREATION ๋ชจ๋“œ์˜ ํ•˜์œ„ ํ”„๋ฆฌํ”ฝ์Šค์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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