Network Load Balancer(NLB) Guide(KR) - cloud-barista/cb-spider GitHub Wiki

Network Load Balancer Management Guide

Language: English | ํ•œ๊ตญ์–ด

1. CB-Spider NLB ๊ฐœ์š”

  • ์‚ฌ์šฉ์ž๋Š” VPC ๋‚ด์˜ VM์„ ํ–ฅํ•œ ์™ธ๋ถ€์˜ Client ์š”์ฒญ ๋ฐ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ(Load Balancing)์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ
    • ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํŠน์ • VPC์— ์†Œ์†๋˜๋Š” Network Load Balancer(์ดํ•˜ NLB)๋ฅผ ์ƒ์„ฑ ๋ฐ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
    • NLB ์ƒ์„ฑ์‹œ์— ๋Œ€์ƒ VM(VM Group)์„ ํ•จ๊ป˜ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ๊ณ , NLB ์ƒ์„ฑ ํ›„์— VM์„ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
    • ์˜ˆ์™ธ: KT NLB๋Š” VPC๊ฐ€ ์•„๋‹Œ Subnet ๋Œ€์ƒ์œผ๋กœ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
      • KT NLB๋Š” ๋Œ€์ƒ VM(VM Group)๊ณผ ํ•จ๊ป˜ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹๋งŒ ์ง€์›ํ•˜๋ฉฐ, ์„ค์ •ํ•œ VM์ด ์†ํ•œ Subnet์— NLB๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.
      • ๋˜ํ•œ, NLB์™€ ๋™์ผํ•œ Subnet์˜ VM๋“ค๋งŒ VM Group์— ์ถ”๊ฐ€ ๋ฐ ์šด์˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • NLB๋Š” Public ํƒ€์ž…๊ณผ Internal ํƒ€์ž…์„ ์„ ํƒํ•˜์—ฌ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
    • Public ํƒ€์ž…(default): ์™ธ๋ถ€ ์ธํ„ฐ๋„ท์„ ํ†ตํ•œ ์‚ฌ์šฉ์ž์˜ ํด๋ผ์ด์–ธํŠธ ์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ
    • Internal ํƒ€์ž…: ๋‚ด๋ถ€ VM ๊ฐ„์˜ ์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ
    • Public ํƒ€์ž… ์ œ๊ณต ์ค‘์‹ฌ์œผ๋กœ ์„ ๊ฐœ๋ฐœ ๋ฐ ์šฐ์„  ํ™œ์šฉ
  • NLB๋Š” Region ๋ฒ”์œ„์™€ Global ๋ฒ”์œ„์˜ ์šด์˜์„ ์„ ํƒํ•˜์—ฌ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
    • Regional NLB(default): ๋‹จ์ผ Region์—์„œ ์šด์˜๋˜๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ
    • Global NLB: ๋ฉ€ํ‹ฐ Region์—์„œ ์šด์˜๋˜๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ
    • Regional NLB ์ œ๊ณต ์ค‘์‹ฌ์œผ๋กœ ์„ ๊ฐœ๋ฐœ ๋ฐ ์šฐ์„  ํ™œ์šฉ

2. CB-Spider NLB ๊ตฌ์„ฑ ์š”์†Œ

  • NLB๋Š” ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ”„๋ก ํŠธ์—”๋“œ(Frontend) ์˜์—ญ๊ณผ ๋ฐฑ์—”๋“œ(Backend) ์˜์—ญ์œผ๋กœ ๊ตฌ๋ถ„๋˜๋ฉฐ, ์˜์—ญ๋ณ„ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • [NLB-Frontend Tier]

      (1) ํ”„๋ก ํŠธ์—”๋“œ ๋ฆฌ์Šค๋„ˆ(Frontend Listener)

      • ๋ฆฌ์Šค๋„ˆ๋Š” Client์˜ ์š”์ฒญ ๋ฐ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์„ ์ˆ˜์‹ ํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์˜์—ญ์˜ VM๊ทธ๋ฃน์œผ๋กœ ์ „๋‹ฌํ•œ๋‹ค.
      • ํ•˜๋‚˜์˜ NLB๋Š” ํ•˜๋‚˜์˜ ๋ฆฌ์Šค๋„ˆ๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ์ˆ˜์‹  ํ”„๋กœํ† ์ฝœ, IP ๋ฐ ์ˆ˜์‹  ํฌํŠธ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
      • ์„ ํƒ ๊ฐ€๋Šฅํ•œ ์ˆ˜์‹  ํ”„๋กœํ† ์ฝœ์€ TCP ๋ฐ UDP์ด๋ฉฐ, IP๋Š” CSP ๋˜๋Š” ๋Œ€์ƒ Driver์—์„œ ์ž๋™ ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ๋œ๋‹ค.
      • ์ˆ˜์‹  ํฌํŠธ๋Š” 1-65535 ๋ฒ”์œ„์˜ ๊ฐ’์œผ๋กœ ์„ค์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
      • โ€ป ๋ฆฌ์Šค๋„ˆ IP์™€ DNS-Name: ๋‘˜๋‹ค ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ๋‘˜์ค‘ ํ•˜๋‚˜๋งŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Œ
    • [NLB-Backend Tier]

      (2) ๋ฐฑ์—”๋“œ VM ๊ทธ๋ฃน(Backend VM Group)

      • VM ๊ทธ๋ฃน์€ ๋™์ผํ•œ ์„œ๋น„์Šค(nginx, redis, ์‚ฌ์šฉ์ž ๊ฐœ๋ฐœ ์„œ๋น„์Šค ๋“ฑ)๋ฅผ ์ œ๊ณตํ•˜๋Š” VM๋“ค์˜ ์ง‘ํ•ฉ์ด๋ฉฐ, VM์€ ๋“ฑ๋ก ๋˜๋Š” ์ œ์™ธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
      • VM ๊ทธ๋ฃน์— ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š” VM์€ NLB์™€ ๋™์ผํ•œ VPC์— ์†ํ•ด ์žˆ๋Š” VM๋“ค๋กœ ํ•œ์ •๋œ๋‹ค.
      • ํ•˜๋‚˜์˜ NLB๋Š” ํ•˜๋‚˜์˜ VM ๊ทธ๋ฃน์„ ํฌํ•จํ•˜๋ฉฐ, VM ๊ทธ๋ฃน์€ ์ˆ˜์‹  ํ”„๋กœํ† ์ฝœ, ์ˆ˜์‹  ํฌํŠธ ๋ฐ VM๋“ค๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
      • ์„ ํƒ ๊ฐ€๋Šฅํ•œ ์ˆ˜์‹  ํ”„๋กœํ† ์ฝœ์€ TCP, UDP์ด๋ฉฐ,
      • VM ๊ทธ๋ฃน์€ ํ•˜๋‚˜์˜ ์ˆ˜์‹  ํฌํŠธ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. (ํฌํŠธ๋ฒ”์œ„: 1-65535)
      • VM ๊ทธ๋ฃน ๋‚ด์˜ VM๋“ค์€ VM ๊ทธ๋ฃน ์„ค์ •๊ณผ ๋™์ผํ•œ ํ”„๋กœํ† ์ฝœ ๋ฐ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด์„œ ์„œ๋น„์Šค ์ œ๊ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

      (3) ํ—ฌ์Šค ์ฒดํฌ๊ธฐ(Health Checker)

      • ํ•˜๋‚˜์˜ NLB๋Š” ํ•˜๋‚˜์˜ ํ—ฌ์Šค ์ฒดํฌ๊ธฐ๋ฅผ ํฌํ•จํ•˜๋ฉฐ,

      • ํ—ฌ์Šค ์ฒดํฌ๊ธฐ๋Š” VM ๊ทธ๋ฃน์— ํฌํ•จ๋œ VM๋“ค์˜ ํ—ฌ์Šค ์ƒํƒœ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

        • Healthy VM ๋ชฉ๋ก, Unhealthy VM ๋ชฉ๋ก ๋“ฑ ์ œ๊ณต
        • ์ถ”๊ฐ€๋œ VM์˜ ์ตœ์ดˆ ํ—ฌ์Šค ์ƒํƒœ ์ฒดํฌ๋Š” ์ˆ˜์ดˆ~์ˆ˜๋ถ„ ์ •๋„ ์†Œ์š”
      • ํ—ฌ์Šค ์ฒดํฌ๊ธฐ์˜ ์„ ํƒ ๊ฐ€๋Šฅํ•œ ํ”„๋กœํ† ์ฝœ์€ TCP ๋ฐ HTTP์ด๋ฉฐ,

      • VM ๊ทธ๋ฃน์— ์†Œ์†๋œ VM๋“ค์˜ ํ—ฌ์Šค ์ƒํƒœ๋ฅผ ์ฒดํฌํ•˜๊ธฐ ์œ„ํ•ด์„œ VM ๊ทธ๋ฃน๊ณผ ๋™์ผํ•œ ํฌํŠธ๋ฅผ ํ™œ์šฉํ•˜๊ฑฐ๋‚˜

      • ๋ณ„๋„์˜ ํ—ฌ์Šค ์ฒดํฌ ์ „์šฉ ํฌํŠธ(๊ทธ๋ฆผ์—์„œ Port 81)๋ฅผ ๋ณ„๋„๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

      • ๊ฐ VM์˜ ์„œ๋น„์Šค ํฌํŠธ ๋ฐ ํ—ฌ์Šค ์ฒดํฌ์šฉ ํฌํŠธ ์šฉ๋„์˜ ์„œ๋น„์Šค ๋ฐ๋ชฌ์€ ์‚ฌ์šฉ์ž์— ์˜ํ•ด ์ค€๋น„๋˜์–ด์•ผ ํ•œ๋‹ค.

      • ํ—ฌ์Šค ์ฒดํฌ๊ธฐ๋Š” ์ƒํƒœ ์ฒดํฌ ์ฃผ๊ธฐ(Interval), Timeout ๋ฐ Threadhold ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,

      • ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ’์„ ์„ค์ •ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, default ๊ฐ’์„ ๋ช…์‹œํ•  ๊ฒฝ์šฐ, default ๊ฐ’์ด ์„ค์ •๋œ๋‹ค.

        โ€ป cf) Health Check Interval, Timeout, Threshold default ๊ฐ’ ๋ฐ ์„ค์ • ์กฐ๊ฑด ๋“ฑ

        • [Interval]

          CSP TCP default HTTP default ์„ค์ • ์กฐ๊ฑด, ๋ฒ”์œ„ ๋ฐ ํŠน์ด์‚ฌํ•ญ
          AWS 10 10 * ๋ฒ”์œ„: 10, 30๋งŒ ๊ฐ€๋Šฅ
          Azure 10 10 * ๋ฒ”์œ„: 5 ์ด์ƒ * ์กฐ๊ฑด: Interval * Threshold < 2147483647
          GCP 10 10 * ๋ฒ”์œ„: 1~300 * ์กฐ๊ฑด: Timeout <= Interval
          Alibaba 10 10 * ๋ฒ”์œ„: 1~50
          Tencent 10 10 * ๋ฒ”์œ„: 2~300 * ์กฐ๊ฑด: Timeout <= Interval
          IBM 10 10 * ๋ฒ”์œ„: 2~60 * ์กฐ๊ฑด: Timeout < Interval
          OpenStack 10 10 * ๋ฒ”์œ„: 2147483647(int ์ตœ๋Œ€๊ฐ’) * ์กฐ๊ฑด: Timeout <= Interval
          NCP 10 10 * ๋ฒ”์œ„: 5~300
          NHN 10 10 * ๋ฒ”์œ„: 1~5000 * ์กฐ๊ฑด: Timeout < Interval
        • [Timeout]

          CSP TCP default HTTP default ์„ค์ • ์กฐ๊ฑด, ๋ฒ”์œ„ ๋ฐ ํŠน์ด์‚ฌํ•ญ
          AWS 10 6 * ์„ค์ • ๋ถˆ๊ฐ€ * TCP: 10s, HTTP: 6s ๊ณ ์ •
          Azure 10 10 * ์„ค์ • ๋ถˆ๊ฐ€ * Interval๊ณผ Azure default Timeout(30) ์ค‘ ์ž‘์€ ๊ฐ’
          GCP 10 6 * ๋ฒ”์œ„: 1 ์ด์ƒ * ์กฐ๊ฑด: Timeout <= Interval
          Alibaba 10 6 * ๋ฒ”์œ„: 1~300
          Tencent 10 6 * ๋ฒ”์œ„: 2~60 * ์กฐ๊ฑด: Timeout <= Interval
          IBM 9 6 * ์˜ˆ์™ธ * ์กฐ๊ฑด: Timeout < Interval
          OpenStack 10 6 * ๋ฒ”์œ„: 2147483647(int ์ตœ๋Œ€๊ฐ’) * ์กฐ๊ฑด: Timeout <= Interval
          NCP 10 6 * ๋ฒ”์œ„: 1~3600
          NHN 10 6 * ๋ฒ”์œ„: 1~5000 * ์กฐ๊ฑด: Timeout < Interval
        • [Threshold]

          CSP TCP default HTTP default ์„ค์ • ์กฐ๊ฑด, ๋ฒ”์œ„ ๋ฐ ํŠน์ด์‚ฌํ•ญ
          AWS 3 3 * ๋ฒ”์œ„: 2~10
          Azure 3 3 * ๋ฒ”์œ„: 1 ์ด์ƒ * ์กฐ๊ฑด: Interval * Threshold < 2147483647
          GCP 3 3 * ๋ฒ”์œ„: 1~10
          Alibaba 3 3 * ๋ฒ”์œ„: 2~10
          Tencent 3 3 * ๋ฒ”์œ„: 2~10
          IBM 3 3 * ๋ฒ”์œ„: 1~10
          OpenStack 3 3 * ๋ฒ”์œ„: 1~10
          NCP 3 3 * ๋ฒ”์œ„: 2~10
          NHN 3 3 * ๋ฒ”์œ„: 1~10

      โ€ป ์„œ๋น„์Šค ๊ทธ๋ฃน ์˜คํ†  ์Šค์ผ€์ผ๋ง(Service Group Auto-Scaling)

      • ์˜คํ†  ์Šค์ผ€์ผ๋ง ์ •์˜ ๋ฐ ์ง€์› ์—ฌ๋ถ€ ๋“ฑ ์ถ”ํ›„ ๊ณ ๋ ค

3. CB-Spider NLB ๋™์ž‘ ํ๋ฆ„

  • NLB ์ฃผ์š” ๋™์ž‘ ํ๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • โ‘  Client -> Frontend ์„œ๋น„์Šค ์š”์ฒญ
      • Client๋Š” TCP, HTTP ๋˜๋Š” UDP ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜์œผ๋กœ Frontend ๋ฆฌ์Šค๋„ˆ IP ๋ฐ ๋ฆฌ์Šค๋„ˆ ํฌํŠธ๋ฅผ ํ†ตํ•ด์„œ ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•œ๋‹ค.
      • Client์˜ HTTP ํ”„๋กœํ† ์ฝœ ํ˜ธ์ถœ์˜ ๊ฒฝ์šฐ VMGroup ์ˆ˜์‹  ํ”„๋กœํ† ์ฝœ์ด TCP์˜ ๊ฒฝ์šฐ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • โ‘ก Frontend -> Backend ์„œ๋น„์Šค ๋ผ์šฐํŒ…
      • ๋ฆฌ์Šค๋„ˆ์— ์˜ํ•ด ์ˆ˜์‹ ๋œ ์‚ฌ์šฉ์ž ์š”์ฒญ์€ TCP ๋˜๋Š” UDP ๊ธฐ๋ฐ˜์œผ๋กœ VM ๊ทธ๋ฃน ํฌํŠธ๋กœ ๋ผ์šฐํŒ… ๋œ๋‹ค.
    • โ‘ข ๋ผ์šฐํŒ… ๋Œ€์ƒ VM ์„ ์ • ๋ฐ ๋ผ์šฐํŒ… (๋Œ€์ƒ CSP์—์„œ ์ˆ˜ํ–‰)
      • VM ๊ทธ๋ฃน์— ํฌํ•จ๋œ VM๋“ค ์ค‘ Healthy ์ƒํƒœ์˜ VM์—๊ฒŒ Client ์š”์ฒญ ๋ฐ ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์„ ๋ผ์šฐํŒ… ํ•œ๋‹ค.
      • VM ๊ทธ๋ฃน์— ํฌํ•จ๋œ ๋ชจ๋“  VM๋“ค์ด Unhealthy ์ƒํƒœ์ธ ๊ฒฝ์šฐ CSP๋ณ„๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋™์ž‘ ํ•œ๋‹ค.
        • VM ๊ทธ๋ฃน์— ํฌํ•จ๋œ ๋ชจ๋“  VM์— ๋ผ์šฐํŒ…ํ•˜๋Š” CSP: AWS, GCP, Tencent
        • Client ์ŠคํŠธ๋ฆผ์„ ๋ผ์šฐํŒ…ํ•˜์ง€ ์•Š๋Š” CSP: Azure, IBM
    • โ€ป Health Checking
      • ํ—ฌ์Šค ์ฒดํฌ๊ธฐ๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ VM ๊ทธ๋ฃน์— ํฌํ•จ๋œ VM์˜ Health ์ƒํƒœ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ์ œ๊ณตํ•œ๋‹ค.

4. CB-Spider NLB API ๋ฐ ์ œ๊ณต ์ •๋ณด ๊ทœ๊ฒฉ

  • ์‚ฌ์šฉ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ CB-Spider REST API๋ฅผ ์ด์šฉํ•˜์—ฌ NLB ์ •๋ณด๋ฅผ JSON ๊ทœ๊ฒฉ์œผ๋กœ ์ œ๊ณต๋ฐ›๋Š”๋‹ค.

4.1 NLB ๊ด€๋ฆฌ API

# NLB ์ƒ์„ฑ ๋ฐ ์กฐํšŒ
POST   /spider/nlb                      - Create NLB
GET    /spider/nlb                      - List NLBs
GET    /spider/nlb/{Name}               - Get NLB
DELETE /spider/nlb/{Name}               - Delete NLB

# NLB ๋“ฑ๋ก/ํ•ด์ œ (๊ธฐ์กด CSP NLB ์—ฐ๋™)
POST   /spider/regnlb                   - Register NLB
DELETE /spider/regnlb/{Name}            - Unregister NLB
POST   /spider/getnlbowner              - Get NLB Owner VPC

# NLB VM ๊ด€๋ฆฌ
POST   /spider/nlb/{Name}/vms           - Add VMs to NLB
DELETE /spider/nlb/{Name}/vms           - Remove VMs from NLB

# NLB ํ—ฌ์Šค ์ •๋ณด
GET    /spider/nlb/{Name}/health        - Get VM Group Health Info

# NLB ๋ชฉ๋ก ์กฐํšŒ (์ „์ฒด)
GET    /spider/allnlb                   - List All NLBs (CB-Spider + CSP)
GET    /spider/allnlbinfo               - List All NLB Info

# NLB ํ†ต๊ณ„
GET    /spider/countnlb                 - Count All NLBs
GET    /spider/countnlb/{ConnectionName} - Count NLBs by Connection

# CSP NLB ์ง์ ‘ ์‚ญ์ œ
DELETE /spider/cspnlb/{Id}              - Delete CSP NLB

4.2 ์ œ๊ณต ์ •๋ณด ๊ทœ๊ฒฉ

  • NLB ์ •๋ณด (NLBInfo)
ํ•„๋“œ ์„ค๋ช… ์˜ˆ์‹œ
IId NLB์˜ ์‹๋ณ„์ž ์ •๋ณด (NameId, SystemId) โ— {Name: "nlb-01", SystemId: "nlb-1234abcd"}
VpcIID NLB๊ฐ€ ์†ํ•œ VPC ์‹๋ณ„์ž โ— {Name: "vpc-01", SystemId: "vpc-5678efgh"}
Type NLB ํƒ€์ž… โ— "PUBLIC" ๋˜๋Š” "INTERNAL"
Scope NLB ๋ฒ”์œ„ โ— "REGION" ๋˜๋Š” "GLOBAL"
Listener ๋ฆฌ์Šค๋„ˆ ์ •๋ณด โ— ์•„๋ž˜ Listener ์ •๋ณด ์ฐธ์กฐ
VMGroup VM ๊ทธ๋ฃน ์ •๋ณด โ— ์•„๋ž˜ VMGroup ์ •๋ณด ์ฐธ์กฐ
HealthChecker ํ—ฌ์Šค ์ฒดํฌ๊ธฐ ์ •๋ณด โ— ์•„๋ž˜ HealthChecker ์ •๋ณด ์ฐธ์กฐ
TagList NLB์— ํ• ๋‹น๋œ ํƒœ๊ทธ ๋ฆฌ์ŠคํŠธ โ— [{Key: "Environment", Value: "Production"}]
KeyValueList CSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ถ”๊ฐ€ NLB ์ •๋ณด โ— [{Key: "State", Value: "active"}]
  • Listener ์ •๋ณด (ListenerInfo)
ํ•„๋“œ ์„ค๋ช… ์˜ˆ์‹œ
Protocol ์ˆ˜์‹  ํ”„๋กœํ† ์ฝœ โ— "TCP" ๋˜๋Š” "UDP"
Port ์ˆ˜์‹  ํฌํŠธ โ— "80", "443", "22" (1-65535)
IP ๋ฆฌ์Šค๋„ˆ IP (CSP์—์„œ ์ž๋™ ํ• ๋‹น) โ— "52.12.34.56"
DNSName ๋ฆฌ์Šค๋„ˆ DNS ์ด๋ฆ„ (์„ ํƒ์ ) โ— "nlb-12345.elb.amazonaws.com"
KeyValueList CSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ถ”๊ฐ€ ๋ฆฌ์Šค๋„ˆ ์ •๋ณด โ— [{Key: "Scheme", Value: "internet-facing"}]
  • VMGroup ์ •๋ณด (VMGroupInfo)
ํ•„๋“œ ์„ค๋ช… ์˜ˆ์‹œ
Protocol VM ๊ทธ๋ฃน ์ˆ˜์‹  ํ”„๋กœํ† ์ฝœ โ— "TCP" ๋˜๋Š” "UDP"
Port VM ๊ทธ๋ฃน ์ˆ˜์‹  ํฌํŠธ โ— "80", "8080" (1-65535)
VMs VM ์‹๋ณ„์ž ๋ฆฌ์ŠคํŠธ โ— [{Name: "vm-01", SystemId: "i-1234"}, {Name: "vm-02", SystemId: "i-5678"}]
CspID CSP์—์„œ ํ• ๋‹นํ•œ VM ๊ทธ๋ฃน ID โ— "tg-1234567890abcdef0"
KeyValueList CSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ถ”๊ฐ€ VM ๊ทธ๋ฃน ์ •๋ณด โ— [{Key: "TargetType", Value: "instance"}]
  • HealthChecker ์ •๋ณด (HealthCheckerInfo)
ํ•„๋“œ ์„ค๋ช… ์˜ˆ์‹œ
Protocol ํ—ฌ์Šค ์ฒดํฌ ํ”„๋กœํ† ์ฝœ โ— "TCP" ๋˜๋Š” "HTTP"
Port ํ—ฌ์Šค ์ฒดํฌ ํฌํŠธ โ— "80", "8080" (1-65535 ๋˜๋Š” Listener Port)
Interval ํ—ฌ์Šค ์ฒดํฌ ์ฃผ๊ธฐ (์ดˆ) โ— 10, 30 ๋“ฑ (๊ธฐ๋ณธ๊ฐ’: -1 ๋˜๋Š” "default")
Timeout ํ—ฌ์Šค ์ฒดํฌ ํƒ€์ž„์•„์›ƒ (์ดˆ) โ— 5, 10 ๋“ฑ (๊ธฐ๋ณธ๊ฐ’: -1 ๋˜๋Š” "default")
Threshold ํ—ฌ์Šค ์ฒดํฌ ์ž„๊ณ„๊ฐ’ โ— 3, 5 ๋“ฑ (๊ธฐ๋ณธ๊ฐ’: -1 ๋˜๋Š” "default")
CspID CSP์—์„œ ํ• ๋‹นํ•œ ํ—ฌ์Šค ์ฒดํฌ๊ธฐ ID โ— "health-check-1234"
KeyValueList CSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ถ”๊ฐ€ ํ—ฌ์Šค ์ฒดํฌ๊ธฐ ์ •๋ณด โ— [{Key: "HealthCheckPath", Value: "/health"}]
  • HealthInfo ์ •๋ณด
ํ•„๋“œ ์„ค๋ช… ์˜ˆ์‹œ
AllVMs VM ๊ทธ๋ฃน์— ํฌํ•จ๋œ ๋ชจ๋“  VM โ— [{Name: "vm-01", SystemId: "i-1234"}, ...]
HealthyVMs ํ—ฌ์Šค ์ฒดํฌ ๊ฒฐ๊ณผ ์ •์ƒ์ธ VM ๋ชฉ๋ก โ— [{Name: "vm-01", SystemId: "i-1234"}]
UnHealthyVMs ํ—ฌ์Šค ์ฒดํฌ ๊ฒฐ๊ณผ ๋น„์ •์ƒ์ธ VM ๋ชฉ๋ก โ— [{Name: "vm-02", SystemId: "i-5678"}]

5. CB-Spider NLB API ๋ฐ ์ œ๊ณต ์ •๋ณด ์˜ˆ์‹œ

5.1 NLB ์ƒ์„ฑ ์˜ˆ์‹œ - VMGroup ์„ค์ • ์ œ์™ธ

  • VMGroup ์„ค์ •์„ ์ œ์™ธํ•˜๊ณ  NLB๋ฅผ ์ƒ์„ฑํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX POST http://localhost:1024/spider/nlb \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01",
    "ReqInfo": {
      "Name": "nlb-01",
      "VPCName": "vpc-01",
      "Type": "PUBLIC",
      "Scope": "REGION",
      "Listener": {
        "Protocol": "TCP",
        "Port": "80"
      },
      "HealthChecker": {
        "Protocol": "TCP",
        "Port": "80"
      }
    }
  }' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "IId": {
    "NameId": "nlb-01",
    "SystemId": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-01/1234567890abcdef"
  },
  "VpcIID": {
    "NameId": "vpc-01",
    "SystemId": "vpc-0a1b2c3d4e5f67890"
  },
  "Type": "PUBLIC",
  "Scope": "REGION",
  "Listener": {
    "Protocol": "TCP",
    "Port": "80",
    "DNSName": "nlb-01-1234567890.us-east-1.elb.amazonaws.com",
    "IP": "",
    "KeyValueList": [
      {
        "Key": "Scheme",
        "Value": "internet-facing"
      }
    ]
  },
  "VMGroup": {
    "Protocol": "TCP",
    "Port": "80",
    "VMs": [],
    "CspID": "arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/nlb-01-tg/1234567890abcdef",
    "KeyValueList": [
      {
        "Key": "TargetType",
        "Value": "instance"
      }
    ]
  },
  "HealthChecker": {
    "Protocol": "TCP",
    "Port": "80",
    "Interval": 10,
    "Timeout": 10,
    "Threshold": 3,
    "CspID": "",
    "KeyValueList": []
  },
  "KeyValueList": [
    {
      "Key": "State",
      "Value": "provisioning"
    },
    {
      "Key": "Type",
      "Value": "network"
    }
  ]
}

5.2 NLB ์ƒ์„ฑ ์˜ˆ์‹œ - VMGroup ํฌํ•จ

  • VMGroup(vm-01, vm-02)์„ ํฌํ•จํ•˜์—ฌ NLB๋ฅผ ์ƒ์„ฑํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX POST http://localhost:1024/spider/nlb \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01",
    "ReqInfo": {
      "Name": "nlb-02",
      "VPCName": "vpc-01",
      "Type": "PUBLIC",
      "Scope": "REGION",
      "Listener": {
        "Protocol": "TCP",
        "Port": "22"
      },
      "VMGroup": {
        "Protocol": "TCP",
        "Port": "22",
        "VMs": ["vm-01", "vm-02"]
      },
      "HealthChecker": {
        "Protocol": "TCP",
        "Port": "22",
        "Interval": "default",
        "Timeout": "default",
        "Threshold": "5"
      }
    }
  }' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "IId": {
    "NameId": "nlb-02",
    "SystemId": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-02/abcdef1234567890"
  },
  "VpcIID": {
    "NameId": "vpc-01",
    "SystemId": "vpc-0a1b2c3d4e5f67890"
  },
  "Type": "PUBLIC",
  "Scope": "REGION",
  "Listener": {
    "Protocol": "TCP",
    "Port": "22",
    "DNSName": "nlb-02-abcdef1234.us-east-1.elb.amazonaws.com",
    "IP": "",
    "KeyValueList": []
  },
  "VMGroup": {
    "Protocol": "TCP",
    "Port": "22",
    "VMs": [
      {
        "NameId": "vm-01",
        "SystemId": "i-0a1b2c3d4e5f67890"
      },
      {
        "NameId": "vm-02",
        "SystemId": "i-1b2c3d4e5f678901"
      }
    ],
    "CspID": "arn:aws:elasticloadbalancing:us-east-1:123456789012:targetgroup/nlb-02-tg/abcdef1234567890",
    "KeyValueList": []
  },
  "HealthChecker": {
    "Protocol": "TCP",
    "Port": "22",
    "Interval": 10,
    "Timeout": 10,
    "Threshold": 5,
    "CspID": "",
    "KeyValueList": []
  },
  "KeyValueList": [
    {
      "Key": "State",
      "Value": "active"
    }
  ]
}

5.3 NLB ์กฐํšŒ ์˜ˆ์‹œ

  • ์ƒ์„ฑ๋œ NLB ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX GET 'http://localhost:1024/spider/nlb/nlb-01?ConnectionName=aws-config01' | jq

5.4 NLB ๋ชฉ๋ก ์กฐํšŒ ์˜ˆ์‹œ

  • Connection์— ์ƒ์„ฑ๋œ ๋ชจ๋“  NLB ๋ชฉ๋ก์„ ์กฐํšŒํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX GET 'http://localhost:1024/spider/nlb?ConnectionName=aws-config01' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "nlb": [
    {
      "IId": {
        "NameId": "nlb-01",
        "SystemId": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-01/1234567890abcdef"
      },
      "VpcIID": {
        "NameId": "vpc-01",
        "SystemId": "vpc-0a1b2c3d4e5f67890"
      },
      "Type": "PUBLIC",
      "Scope": "REGION",
      ...
    },
    {
      "IId": {
        "NameId": "nlb-02",
        "SystemId": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-02/abcdef1234567890"
      },
      "VpcIID": {
        "NameId": "vpc-01",
        "SystemId": "vpc-0a1b2c3d4e5f67890"
      },
      "Type": "PUBLIC",
      "Scope": "REGION",
      ...
    }
  ]
}

5.5 VM ์ถ”๊ฐ€ ์˜ˆ์‹œ

  • NLB์˜ VM Group์— VM์„ ์ถ”๊ฐ€ํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX POST http://localhost:1024/spider/nlb/nlb-01/vms \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01",
    "ReqInfo": {
      "VMs": ["vm-03", "vm-04"]
    }
  }' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "IId": {
    "NameId": "nlb-01",
    "SystemId": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/nlb-01/1234567890abcdef"
  },
  "VMGroup": {
    "Protocol": "TCP",
    "Port": "80",
    "VMs": [
      {
        "NameId": "vm-03",
        "SystemId": "i-2c3d4e5f67890123"
      },
      {
        "NameId": "vm-04",
        "SystemId": "i-3d4e5f6789012345"
      }
    ],
    ...
  },
  ...
}

5.6 VM ์ œ๊ฑฐ ์˜ˆ์‹œ

  • NLB์˜ VM Group์—์„œ VM์„ ์ œ๊ฑฐํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX DELETE http://localhost:1024/spider/nlb/nlb-01/vms \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01",
    "ReqInfo": {
      "VMs": ["vm-04"]
    }
  }' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "Result": "true"
}

5.7 VM Group ์ƒํƒœ ์ •๋ณด ํ™•์ธ ์˜ˆ์‹œ

  • VM Group์˜ ํ—ฌ์Šค ์ƒํƒœ ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX GET 'http://localhost:1024/spider/nlb/nlb-01/health?ConnectionName=aws-config01' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "healthinfo": {
    "AllVMs": [
      {
        "NameId": "vm-01",
        "SystemId": "i-0a1b2c3d4e5f67890"
      },
      {
        "NameId": "vm-02",
        "SystemId": "i-1b2c3d4e5f678901"
      },
      {
        "NameId": "vm-03",
        "SystemId": "i-2c3d4e5f67890123"
      }
    ],
    "HealthyVMs": [
      {
        "NameId": "vm-01",
        "SystemId": "i-0a1b2c3d4e5f67890"
      },
      {
        "NameId": "vm-02",
        "SystemId": "i-1b2c3d4e5f678901"
      }
    ],
    "UnHealthyVMs": [
      {
        "NameId": "vm-03",
        "SystemId": "i-2c3d4e5f67890123"
      }
    ]
  }
}

5.8 NLB ์‚ญ์ œ ์˜ˆ์‹œ

  • NLB๋ฅผ ์‚ญ์ œํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ:
curl -sX DELETE 'http://localhost:1024/spider/nlb/nlb-01' \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01"
  }' | jq

์‘๋‹ต ์˜ˆ์‹œ:

{
  "Result": "true"
}

5.9 ๊ฐ•์ œ ์‚ญ์ œ ์˜ˆ์‹œ

  • NLB๋ฅผ ๊ฐ•์ œ๋กœ ์‚ญ์ œํ•˜๋Š” API ํ˜ธ์ถœ ์˜ˆ์‹œ (VM์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด๋„ ์‚ญ์ œ):
curl -sX DELETE 'http://localhost:1024/spider/nlb/nlb-01?force=true' \
  -H 'Content-Type: application/json' \
  -d '{
    "ConnectionName": "aws-config01"
  }' | jq

6. CB-Spider NLB AdminWeb ํ™œ์šฉ ์˜ˆ์‹œ

  • AdminWeb์„ ํ†ตํ•œ NLB ๊ด€๋ฆฌ ์ ˆ์ฐจ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

    1. Connection ์„ ํƒ: AdminWeb ์ƒ๋‹จ์—์„œ ๋Œ€์ƒ CSP Connection ์„ ํƒ
    2. NLB ๋ฉ”๋‰ด ์ ‘๊ทผ: ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ "NLB" ์„ ํƒ
    3. NLB ์ƒ์„ฑ: "Create NLB" ๋ฒ„ํŠผ ํด๋ฆญ ํ›„ ํ•„์š”ํ•œ ์ •๋ณด ์ž…๋ ฅ
    4. NLB ๊ด€๋ฆฌ: NLB ์ƒํƒœ ํ™•์ธ, VM ์ถ”๊ฐ€/์ œ๊ฑฐ, ํ—ฌ์Šค ํ™•์ธ, ์‚ญ์ œ ๋“ฑ

6.1 NLB ๋ชฉ๋ก ํ™”๋ฉด ์˜ˆ์‹œ

AdminWeb์—์„œ NLB ๋ชฉ๋ก์„ ์กฐํšŒํ•  ๋•Œ ๋‹ค์Œ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค:

  • NLB ์ด๋ฆ„
  • VPC ์ด๋ฆ„
  • ํƒ€์ž… (PUBLIC/INTERNAL)
  • ๋ฒ”์œ„ (REGION/GLOBAL)
  • Listener ์ •๋ณด (Protocol, Port, DNS Name)
  • VM Group ์ •๋ณด (VM ๊ฐœ์ˆ˜)
  • ์ž‘์—… ๋ฒ„ํŠผ (์ƒ์„ธ๋ณด๊ธฐ, VM ๊ด€๋ฆฌ, ํ—ฌ์Šค ํ™•์ธ, ์‚ญ์ œ ๋“ฑ)

6.2 NLB ์ƒ์„ฑ ํ™”๋ฉด ์˜ˆ์‹œ

AdminWeb์—์„œ NLB๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค:

  • NLB Name: CB-Spider์—์„œ ๊ด€๋ฆฌํ•  NLB ์ด๋ฆ„
  • VPC Name: NLB๊ฐ€ ์†ํ•  VPC ์„ ํƒ
  • Type: PUBLIC ๋˜๋Š” INTERNAL ์„ ํƒ
  • Scope: REGION ๋˜๋Š” GLOBAL ์„ ํƒ
  • Listener:
    • Protocol: TCP ๋˜๋Š” UDP ์„ ํƒ
    • Port: 1-65535 ๋ฒ”์œ„์˜ ํฌํŠธ ๋ฒˆํ˜ธ
  • VMGroup (์„ ํƒ์ ):
    • Protocol: TCP ๋˜๋Š” UDP ์„ ํƒ
    • Port: 1-65535 ๋ฒ”์œ„์˜ ํฌํŠธ ๋ฒˆํ˜ธ
    • VMs: ์ถ”๊ฐ€ํ•  VM ์„ ํƒ (๋‹ค์ค‘ ์„ ํƒ ๊ฐ€๋Šฅ)
  • HealthChecker:
    • Protocol: TCP ๋˜๋Š” HTTP ์„ ํƒ
    • Port: 1-65535 ๋ฒ”์œ„์˜ ํฌํŠธ ๋ฒˆํ˜ธ
    • Interval: ํ—ฌ์Šค ์ฒดํฌ ์ฃผ๊ธฐ (์ดˆ) ๋˜๋Š” "default"
    • Timeout: ํ—ฌ์Šค ์ฒดํฌ ํƒ€์ž„์•„์›ƒ (์ดˆ) ๋˜๋Š” "default"
    • Threshold: ํ—ฌ์Šค ์ฒดํฌ ์ž„๊ณ„๊ฐ’ ๋˜๋Š” "default"
  • Tags (์„ ํƒ์ ): ๋ฆฌ์†Œ์Šค ํƒœ๊ทธ ์ •๋ณด

6.3 NLB ์ƒ์„ธ ์ •๋ณด ํ™”๋ฉด ์˜ˆ์‹œ

NLB ์ƒ์„ธ ์ •๋ณด ํ™”๋ฉด์—์„œ๋Š” ๋‹ค์Œ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋œ๋‹ค:

๊ธฐ๋ณธ ์ •๋ณด:

  • NLB IId (NameId, SystemId)
  • VPC ์ •๋ณด
  • Type, Scope

Listener ์ •๋ณด:

  • Protocol, Port
  • DNS Name ๋˜๋Š” IP

VMGroup ์ •๋ณด:

  • Protocol, Port
  • ๋“ฑ๋ก๋œ VM ๋ชฉ๋ก
  • VM ์ถ”๊ฐ€/์ œ๊ฑฐ ๋ฒ„ํŠผ

HealthChecker ์ •๋ณด:

  • Protocol, Port
  • Interval, Timeout, Threshold

Health ์ƒํƒœ:

  • All VMs
  • Healthy VMs
  • Unhealthy VMs

์ž‘์—… ๋ฒ„ํŠผ:

  • VM ์ถ”๊ฐ€/์ œ๊ฑฐ
  • ํ—ฌ์Šค ์ •๋ณด ๊ฐฑ์‹ 
  • NLB ์‚ญ์ œ

7. ์ฃผ์˜์‚ฌํ•ญ ๋ฐ ์ œ์•ฝ์‚ฌํ•ญ

7.1 NLB ์ƒ์„ฑ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

  • ์‚ฌ์ „ ์ค€๋น„ ๋ฆฌ์†Œ์Šค: VPC๊ฐ€ ๋ฏธ๋ฆฌ ์ƒ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•จ
  • VM ์ค€๋น„: VM Group์— ์ถ”๊ฐ€ํ•  VM์€ NLB์™€ ๋™์ผํ•œ VPC์— ์†ํ•ด์•ผ ํ•จ
  • ์„œ๋น„์Šค ๋ฐ๋ชฌ: ๊ฐ VM์—์„œ VMGroup Port ๋ฐ HealthChecker Port๋กœ ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์ด์–ด์•ผ ํ•จ
  • ๋ณด์•ˆ ๊ทธ๋ฃน: VM์˜ ๋ณด์•ˆ ๊ทธ๋ฃน์—์„œ VMGroup Port ๋ฐ HealthChecker Port ํ—ˆ์šฉ ํ•„์š”
  • KT ์˜ˆ์™ธ: KT NLB๋Š” Subnet ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋˜๋ฉฐ, VM๊ณผ ํ•จ๊ป˜ ์ƒ์„ฑํ•ด์•ผ ํ•จ

7.2 NLB ์‚ญ์ œ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

  • ๊ฐ•์ œ ์‚ญ์ œ: force=true ์˜ต์…˜ ์‚ฌ์šฉ ์‹œ ์—ฐ๊ฒฐ๋œ ๋ฆฌ์†Œ์Šค ๊ฒ€์ฆ ์—†์ด ๊ฐ•์ œ ์‚ญ์ œ๋จ (์ฃผ์˜!)

7.3 Health Check ์ฃผ์˜์‚ฌํ•ญ

  • ์ดˆ๊ธฐ ํ—ฌ์Šค ์ฒดํฌ: VM ์ถ”๊ฐ€ ํ›„ ์ตœ์ดˆ ํ—ฌ์Šค ์ƒํƒœ ํ™•์ธ๊นŒ์ง€ ์ˆ˜์ดˆ~์ˆ˜๋ถ„ ์†Œ์š”
  • ์„œ๋น„์Šค ์ค€๋น„: VM์—์„œ ํ—ฌ์Šค ์ฒดํฌ ํฌํŠธ๋กœ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์ด์–ด์•ผ ํ•จ
  • ํ”„๋กœํ† ์ฝœ ํ˜ธํ™˜: HTTP ํ—ฌ์Šค ์ฒดํฌ ์‹œ VM์—์„œ HTTP ์‘๋‹ต์„ ์ œ๊ณตํ•ด์•ผ ํ•จ

7.4 CSP๋ณ„ ํŠน์ด์‚ฌํ•ญ

  • AWS: Interval์€ 10, 30๋งŒ ์„ ํƒ ๊ฐ€๋Šฅ
  • Azure: Timeout ์„ค์ • ๋ถˆ๊ฐ€ (Interval๊ณผ ๊ธฐ๋ณธ๊ฐ’ ์ค‘ ์ž‘์€ ๊ฐ’ ์ž๋™ ์„ค์ •)
  • IBM: Timeout์€ Interval๋ณด๋‹ค ์ž‘์•„์•ผ ํ•จ
  • KT: Subnet ๊ธฐ๋ฐ˜ NLB, VM๊ณผ ํ•จ๊ป˜ ์ƒ์„ฑ ํ•„์š”

8. ์ฐธ๊ณ  ์ž๋ฃŒ