๐ŸŽ‰ berenickt ๋ธ”๋กœ๊ทธ์— ์˜จ ๊ฑธ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๐ŸŽ‰
DevOps
05-ELB

1. Load Balancing ์ •์˜

load_balancing_02

  • Load Balancing(ELB)์˜ ์˜๋ฏธ :
    • Load : ๋ถˆ๋Ÿฌ์˜ค๋‹ค(v), ์ง, ๋ฌด๊ฒŒ, ํ•˜์ค‘(๋ช…์‚ฌ)
    • Balancing : ํ‰ํ˜•, ๊ท ํ˜•(๋ช…์‚ฌ)
    • ๋‹จ์–ด์˜ ์˜๋ฏธ๋งŒ์„ ์กฐํ•ฉํ•ด๋ณธ๋‹ค๋ฉด, ๋ฌด๊ฒŒ์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ์ผ
    • Load Balancing์„ ํ•œ๊ตญ๋ง๋กœ๋Š” ๋ถ€ํ•˜ ๋ถ„์‚ฐ
  • ๋ถ€ํ•˜๋ผ๋Š” ๊ฒƒ์€ ์„œ๋ฒ„์— ๋“ค์–ด์˜ค๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ(ํŠธ๋ž˜ํ”ฝ)์„ ์˜๋ฏธํ•˜๊ณ , ๋ถ„์‚ฐ์€ ๋‚˜๋ˆˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
  • ์„œ๋ฒ„์— ์š”์ฒญ์ด ๊ณผํ•˜๊ฒŒ ๋งŽ์ด ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—,
    • ์ด ๋ถ€ํ•˜๋“ค์„ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋กœ ์ž˜ ๋ถ„์‚ฐ์‹œ์ผœ์„œ ์š”์ฒญ์„ ์‹œ๊ฐ„๋‚ด์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
    • ์ด๋ ‡๊ฒŒ ๊ฐ ์„œ๋ฒ„๋กœ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œ์ผœ์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์„ Load Balancer๋ผ๊ณ  ๋ถ€๋ฆ„
  • e.g. ๊ธ‰์‹๋นต์„ ๋‚˜๋ˆ ์ฃผ๋Š”๋ฐ, ์œ ํ†ต๊ธฐํ•œ์ด 30๋ถ„์ž„
    • 30๋ถ„ ์•ˆ์— ์ด ๋นต์„ ๋ชจ๋“  ํ•™์ƒ๋“ค์—๊ฒŒ ๋‚˜๋ˆ ์ฃผ๊ณ  ๋จน์–ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ
    • ์„ ์ƒ๋‹˜์€ โ€˜๋นต์„ 8๋ช…์˜ ํ•™์ƒ๋“ค์—๊ฒŒ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ ์ค˜์•ผ ํ•  ๊ฒƒ์ธ๊ฐ€โ€œ
    • ๋นต์„ ๋‚˜๋ˆ ์ฃผ๋Š” ๋ฐฉ๋ฒ•์€ ๋นต์„ ์œ ํ†ต๊ธฐํ•œ ๋‚ด์— ๋จน์–ด์„œ ์—†์• ๋Š” ๋ฐฉ๋ฒ•์ด๊ธฐ๋„ ํ•˜๋‹ค.
  • e.g. ๋นต์€ ํด๋ผ์ด์–ธํŠธ๋“ค์˜ ์š”์ฒญ(ํŠธ๋ž˜ํ”ฝ), ํ•™์ƒ๋“ค์€ ๊ฐ๊ฐ์˜ ์„œ๋ฒ„, ์„ ์ƒ๋‹˜์€ Load Balancer์ด๋‹ค.
  • Load Balancing : timeout์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ์ œํ•œ ์‹œ๊ฐ„ ๋‚ด์—
    • Load Balancing ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฐ๋ผ์„œ ์š”์ฒญ๋“ค์„ ๋ถ„์‚ฐ์‹œํ‚ค๊ณ  ๊ฐ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ

2. Load Balancing ๋ชฉ์ 

2.1 ์„ฑ๋Šฅ ํ–ฅ์ƒ

e.g. 1๋ถ„์˜ ์œ ํ†ต๊ธฐํ•œ ๋‚ด, 800g์˜ ๋นต์„ ๋ชจ๋‘ ๋จน์–ด์น˜์›Œ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

  • 1๋ช…์˜ ํ•™์ƒ์€ 1๋ถ„์— ๋นต์„ 200g์”ฉ ๋จน์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •
  • ํ•™์ƒ 4๋ช…์ด ํ•จ๊ป˜ ๋นต์„ ๋‚˜๋ˆ ๋จน์„ ๊ฒฝ์šฐ, ์•„์Šฌ์•„์Šฌํ•˜์ง€๋งŒ ๋‹ค ๋จน์Œ
  • ํ•™์ƒ 8๋ช…์ด ํ•จ๊ป˜ ๋นต์„ ๋‚˜๋ˆ ๋จน์„ ๊ฒฝ์šฐ, ์—ฌ์œ ๋กญ๊ฒŒ ๋‹ค ๋จน์Œ

Load Balancing์„ ์ ์šฉํ•˜๊ฒŒ ๋˜๋ฉด,

  • ํด๋ผ์ด์–ธํŠธ๋“ค์˜ ์ˆ˜๋งŽ์€ ์š”์ฒญ๋“ค์„ ๋น ๋ฅด๊ฒŒ ์‘๋‹ตํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ์ด๋ค„์ง„๋‹ค
    • ๊ฐ™์€ ์‹œ๊ฐ„์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์š”์ฒญ์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ™• ๋Š˜์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ

2.2 ์•ˆ์ „์„ฑ ํ–ฅ์ƒ

e.g. 1๋ถ„์˜ ์œ ํ†ต๊ธฐํ•œ ๋‚ด, 800g์˜ ๋นต์„ ๋ชจ๋‘ ๋จน์–ด์น˜์›Œ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

  • 1๋ช…์˜ ํ•™์ƒ์€ 1๋ถ„์— ๋นต์„ 200g์”ฉ ๋จน์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •
  • ํ•™์ƒ 4๋ช…์ด ํ•จ๊ป˜ ๋นต์„ ๋‚˜๋ˆ ๋จน์„ ๊ฒฝ์šฐ, 1๋ช…์ด ๋ชฉ๋ง‰ํžˆ๋ฉด ๋‹ค ๋ชป๋จน์Œ
  • ํ•™์ƒ 8๋ช…์ด ํ•จ๊ป˜ ๋นต์„ ๋‚˜๋ˆ ๋จน์„ ๊ฒฝ์šฐ, 2๋ช…์ด ๋ชฉ๋ง‰ํ˜€๋„ ๋‹ค๋ฅธ ํ•™์ƒ์ด ๋จน์œผ๋ฉด, ๋‹ค ๋จน์Œ

AWS๋„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์ฃฝ์–ด๋„, ๋‚จ์€ EC2 ์ธ์Šคํ„ด์Šค๋“ค์ด ํด๋ผ์ด์–ธํŠธ๋“ค์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด์ค„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ •์„ฑ์ด ํ–ฅ์ƒ๋œ๋‹ค.


2.3 ์„œ๋ฒ„ ์žฅ์•  ์˜ˆ๋ฐฉ

e.g. ๋นต์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜ˆ์ธก๋ถˆ๊ฐ€, ํ•™์ƒ๋“ค์ด ๋ชฉ ๋ง‰ํž ์ˆ˜๋„ ์žˆ์Œ

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

AWS๋„ ๊ฐ‘์ž๊ธฐ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์ด ๋Œ€๋Ÿ‰์œผ๋กœ ๋“ค์–ด์˜ค๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ ๊ฐœ์˜ EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์ค‘๊ฐ„์— ์ฃฝ๋”๋ผ๋„, ๋ฏธ๋ฆฌ ๊ณ„ํšํ•ด๋‘” ๋ฐฑ์—… ํ”Œ๋žœ์— ๋”ฐ๋ผ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ๋” ๋„์›Œ์„œ ์„œ๋ฒ„์˜ ์žฅ์• ๋ฅผ ์˜ˆ๋ฐฉ ํ•  ์ˆ˜ ์žˆ๋‹ค.


2.4 ๊ณ ๊ฐ€์šฉ์„ฑ

  • ๊ณ ๊ฐ€์šฉ์„ฑ : High Availability์˜ ์•ฝ์ž๋กœ ๋ณดํ†ต HA๋ผ๊ณ  ๋ถ€๋ฆ„
    • ์„œ๋ฒ„๊ฐ€ ์˜ค๋žœ๊ธฐ๊ฐ„ ๋™์•ˆ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™์ด ๊ฐ€๋Šฅํ•œ ์„ฑ์งˆ์„ ์˜๋ฏธ
  • ๊ฐ€์šฉ์„ฑ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์€ ๊ณ ์žฅ์ด ์ž˜ ๋‚˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ
    • ๋˜ํ•œ ์„œ๋ฒ„์˜ ๊ด€์ ์—์„œ ๊ฐ€์šฉ์„ฑ์ด ๋†’๋‹ค๋Š” ๊ฒƒ์€, ์žฅ์• ๊ฐ€ ๋‚˜์ง€ ์•Š๊ณ  ์ง€์†์ ์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ
  • Load Balancing์„ ์ ์šฉํ•˜๊ฒŒ ๋˜๋ฉด, ์žฅ์• ๋ฅผ ๋ฏธ๋ฆฌ ๋Œ€๋น„ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ณ ๊ฐ€์šฉ์„ฑ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

2.5 ์„ฑ๋Šฅ ํ–ฅ์ƒ ๊ธฐ๋ฐ˜ ์ œ๊ณต

e.g. ์ผ๋ฐ˜์ ์ธ ๋‹จ์ผ ์„œ๋ฒ„์˜ ๊ตฌ์„ฑ์„ ๋ณด๋ฉด, ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ๊ณง๋ฐ”๋กœ EC2๋กœ ์ „๋‹ฌ๋œ๋‹ค.

  • ๊ทธ๋Ÿฐ๋ฐ ๊ฐ‘์ž๊ธฐ ์„œ๋น„์Šค๊ฐ€ ๋Œ€๋ฐ•์ด ๋‚˜์„œ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ์—„์ฒญ ๋Š˜์–ด๋‚œ ๊ฒฝ์šฐ,
  • ์ด๋•Œ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์—ฌ๋Ÿฌ๋Œ€ ๋Š˜๋ ค์„œ ์š”์ฒญ์„ ๋ถ„์‚ฐ์‹œ์ผœ์•ผ ํ•œ๋‹ค.
  • ํ•˜์ง€๋งŒ ์œ„์™€ ๊ฐ™์ด ์ค‘๊ฐ„์— Load Balancer๊ฐ€ ์žˆ๋Š” ๊ตฌ์กฐ๋ผ๋ฉด, Load Balancer๊ฐ€ ์„ฑ๋Šฅ ํ–ฅ์ƒ์˜ ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค.
    • ๊ทธ๋ž˜์„œ ์ด๋ ‡๊ฒŒ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ๊ฐ‘์ž๊ธฐ ๋งŽ์•„์ ธ๋„, EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ๋” ๋„์šฐ๊ณ ,
    • Load Balancer๋ฅผ ํ†ตํ•ด์„œ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ด์œผ๋กœ์จ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ทธ๋ž˜์„œ Load Balancing์ด ์„ฑ๋Šฅ ํ–ฅ์ƒ์˜ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•œ๋‹ค.

3. Load Balancing ๊ด€๋ จ ์šฉ์–ด

  • Load Balancing ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ ์„œ๋ฒ„์— ๋ถ„๋ฐฐํ•˜๋Š” ๋ฐฉ๋ฒ•(๋นต์„ ๋‚˜๋ˆ ์ฃผ๋Š” ๋ฐฉ๋ฒ•)
  • Health Check
    • ์„œ๋ฒ„๊ฐ€ ์‚ด์•„์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ(ํ•™์ƒ์ด ๋นต์„ ๋จน์„ ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ๋ชฉ์ด ๋ง‰ํ˜”๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ)
    • ๋งŒ์•ฝ ์„œ๋ฒ„๊ฐ€ ์ค‘๋‹จ ๋˜์—ˆ๋‹ค๋ฉด ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„๋ฐฐํ•˜์ง€ ์•Š์Œ(๋ชฉ์ด ๋ง‰ํžŒ ํ•™์ƒ์—๊ฒŒ ๋” ์ด์ƒ ๋นต์„ ์ฃผ์ง€ ์•Š์Œ)
  • Connection Draining (๋“ฑ๋ก ์ทจ์†Œ ์ง€์—ฐ)
    • ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌ์ค‘์ธ ์„œ๋ฒ„๋ฅผ ๊ณง๋ฐ”๋กœ ์‚ญ์ œํ•˜์ง€ ๋ชปํ•˜๋„๋ก ๋ฐฉ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ
    • Drain์€ โ€˜๋ฌผ์„ ๋นผ๋‚ด๋‹คโ€™ ๋ผ๋Š” ๋œป์„ ๊ฐ–๊ณ  ์žˆ์Œ
    • ํŠธ๋ž˜ํ”ฝ์ด ์ค„์–ด์„œ ๋Š˜๋ ธ๋˜ ์ธ์Šคํ„ด์Šค์ค‘ ๋ช‡๊ฐœ๋ฅผ ์‚ญ์ œํ•˜๋ ค๊ณ  ํ•  ๋•Œ,
      • ์‚ญ์ œ๋  ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ์ค‘์ธ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—
      • ์ง€์ •ํ•œ ์‹œ๊ฐ„๋งŒํผ ๊ธฐ๋‹ค๋ฆฐ ์ดํ›„์— ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ญ์ œํ•จ
  • Latency : Load Balancer์™€ ์„œ๋ฒ„ ์‚ฌ์ด์˜ ์ง€์—ฐ์‹œ๊ฐ„

4. Elastic Load Balancing

AWS์—์„œ Load Balancing์„ ์œ„ํ•ด์„œ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ELB( Elastic Load Balancing)์ด๋‹ค.

elb_diagram_01

  • ๋ฆฌ์ „ ๋‚ด์— ๋ณต์ˆ˜ ๊ฐœ์˜ ๊ฐ€์šฉ ์˜์—ญ์ด ์กด์žฌํ•œ๋‹ค.

    • ELB๋Š” ๋ฆฌ์ „์— ์กด์žฌํ•˜๋Š”๋ฐ, ELB๋Š” ๋ฆฌ์ „๋ณ„๋กœ ์ƒ์„ฑํ•œ๋‹ค
    • ๋ฆฌ์ „์— ์ƒ์„ฑ๋œ ELB๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ€์šฉ ์˜์—ญ์— ์กด์žฌํ•˜๋Š” EC2 ์ธ์Šคํ„ด์Šค๋“ค์— ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œ์ผœ ์ค€๋‹ค.
  • ์ด๋•Œ ๋ชจ๋“  EC2 ์ธ์Šคํ„ด์Šค์— ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,

    • Target Group(๋Œ€์ƒ ๊ทธ๋ฃน)์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ทธ๋ฃน์— ์†ํ•œ EC2 ์ธ์Šคํ„ด์Šค๋“ค์—๊ฒŒ๋งŒ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚จ๋‹ค.
    • Target Group : ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ฌ ๋Œ€์ƒ ์ธ์Šคํ„ด์Šค๋“ค์ด ์†ํ•œ ๊ทธ๋ฃน์„ ์˜๋ฏธ

ELB๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ€์šฉ ์˜์—ญ์œผ๋กœ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—,

  • ๊ฐ€์šฉ ์˜์—ญ ํ•˜๋‚˜๊ฐ€ ํ†ต์งธ๋กœ ์ค‘๋‹จ ๋˜์–ด๋„ ์ •์ƒ์ ์œผ๋กœ ์šด์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • cf. ELB์˜ Load Balancing ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Round Robin Scheduling์„ ์‚ฌ์šฉํ•œ๋‹ค.

4.1 ELB Load Balancer ์œ ํ˜•

elb_load_balancer_type_03

  • ALB(Application Load Balancer)
    • ๊ฐœ๋ณ„ ์š”์ฒญ ์ˆ˜์ค€์—์„œ ์ž‘๋™ํ•˜๋Š” Load Balancer
    • HTTP ํ—ค๋”๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„๋ฐฐ(L7 switch)
    • HTTP ๋ฐ HTTPS ํŠธ๋ž˜ํ”ฝ์„ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์œ ์—ฐํ•œ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ
    • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋ฐ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋น„๋กฏํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ๊ณ ๊ธ‰ ๋ผ์šฐํŒ… ๋ฐ ํ‘œ์‹œ ๊ธฐ๋Šฅ์„ ์ œ๊ณต
      • ์—ฌ๊ธฐ์„œ ์‚ฌ์šฉํ•  Load Balancer
  • NBL(Network Load Balancer)
    • ์—ฐ๊ฒฐ ์ˆ˜์ค€์—์„œ ์ž‘๋™ํ•˜๋Š” Load Balancer
    • IP์ฃผ์†Œ์™€ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„๋ฐฐ(L4 switch)
    • ์ดˆ๊ณ ์„ฑ๋Šฅ, ๋Œ€๊ทœ๋ชจ TLS ์˜คํ”„๋กœ๋”ฉ, ์ค‘์•™์ง‘์ค‘ํ™”๋œ ์ธ์ฆ์„œ ๋ฐฐํฌ, UDP์— ๋Œ€ํ•œ ์ง€์› ๋ฐ ๊ณ ์ • IP ์ฃผ์†Œ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ
    • ์•ˆ์ „ํ•˜๊ฒŒ ์ดˆ๋‹น ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ๋„ ๊ทนํžˆ ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Œ
    • TCP, UDP
  • CLB(Classic Load Balancer)
    • ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๊ณผ๊ฑฐ์— ์‚ฌ์šฉํ•˜๋˜ Load Balancer (cf. ์ด์ „ ๋ฒ„์ „์ด๋ฏ€๋กœ ๋˜๋„๋ก ALB ๋˜๋Š” NLB๋งŒ ์‚ฌ์šฉ)
    • HTTP ํ—ค๋” ๋ฐ IP์ฃผ์†Œ์™€ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„๋ฐฐ(L4, L7 switch)
    • EC2-Classic ๋„คํŠธ์›Œํฌ์—์„œ ๊ตฌ์ถ•๋œ ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ
    • HTTP, HTTPS, TCP, UDP

OSI 7 Layers์—์„œ ๋™์ž‘ํ•˜๋Š” NLB, ALB๋ฅผ ์‚ดํŽด๋ณด๋ฉด,

  • 4๋ฒˆ์งธ Layer์ธ Transport Layer์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ด NLB์ด๊ณ ,
  • 7๋ฒˆ์งธ Layer์ธ Application Layer์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ALB์ด๋‹ค
  • cf. OSI 7๊ณ„์ธต์ด๋ž€

5. (์‹ค์Šต) EC2 WordPress ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

[EC2] โ†’ [์ธ์Šคํ„ด์Šค ์‹œ์ž‘] ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ƒˆ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

  • ์ด๋ฆ„ : WordpressInstance
  • Application and OS Images : ๊ฒ€์ƒ‰์ฐฝ์— wordpress bitnami ์นœ ๋’ค์— ์—”ํ„ฐ
    • ์—ฌ๊ธฐ์„œ AWS Marketplace AMI ํƒญ์„ ๋ˆ„๋ฅธ๋‹ค.
    • ์—ฌ๊ธฐ์„œ WordPress Certified by Bitnami & Automatic Image๋ฅผ ์„ ํƒ.
    • [์„ ํƒ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด, ํ•ด๋‹น AMI์— ๋Œ€ํ•œ ์ƒ์„ธ ์ •๋ณด ๋‹ค์ด์–ผ๋กœ๊ทธ๊ฐ€ ๋‚˜์˜จ๋‹ค.
      • ์—ฌ๊ธฐ์„œ [์š”๊ธˆ] ํƒญ์„ ๋ˆ„๋ฅธ๋‹ค.
      • AMI ์ค‘์—๋Š” ๋ฌด๋ฃŒ ์ด๋ฏธ์ง€๋„ ์žˆ์ง€๋งŒ ์œ ๋ฃŒ๋กœ ์‚ฌ์šฉ ์š”๊ธˆ์„ ๋‚ด์•ผ ํ•˜๋Š” ์ด๋ฏธ์ง€๋“ค๋„ ์žˆ๋‹ค.
      • ์ง€๊ธˆ ์„ ํƒํ•œ ์ด๋ฏธ์ง€๋Š” ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์š”๊ธˆ์€ ์‹œ๊ฐ„๋‹น 0๋‹ฌ๋Ÿฌ๋กœ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
      • ๋‚˜์ค‘์— ๋‹ค๋ฅธ AMI๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ผญ ์ด ์š”๊ธˆ์„ ์ž˜ ํ™•์ธํ•˜๊ณ  ์‚ฌ์šฉํ•˜์ž.
    • ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์˜ [๊ณ„์†] ๋ฒ„ํŠผ์„ ํด๋ฆญ.
    • ๊ทธ๋Ÿฌ๋ฉด ์„ ํƒํ•œ ์ด๋ฏธ์ง€๊ฐ€ ์„ค์ •๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ธ์Šคํ„ด์Šค ์œ ํ˜• :
    • AMI๋ฅผ ์„ค์ •ํ•  ๋•Œ, ์ธ์Šคํ„ด์Šค ์œ ํ˜•๋„ ์ž๋™ ๋ณ€๊ฒฝ์ด ๋˜๋Š”๋ฐ,
    • ํ”„๋ฆฌํ‹ฐ์–ด๋กœ ์‹ค์Šตํ•  ๊ฒƒ์ด๊ธฐ์—, ํ”„๋ฆฌํ‹ฐ์–ด T2.micro๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • ํ‚ค ํŽ˜์–ด(๋กœ๊ทธ์ธ) : ์ด์ „ ์‹ค์Šต์—์„œ ์ƒ์„ฑํ•ด๋‘” ํ‚ค๋ฅผ ์„ ํƒ.
  • ๋„คํŠธ์›Œํฌ ์„ค์ • : ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ
  • ์Šคํ† ๋ฆฌ์ง€ ๊ตฌ์„ฑ : ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ
  • ๋ชจ๋“  ์„ค์ •์„ ๋งˆ์ณค์œผ๋ฉด, [์ธ์Šคํ„ด์Šค ์‹œ์ž‘] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์€ ์™„๋ฃŒ๋˜๋Š”๋ฐ, ์„ ํƒํ•œ AMI์— ๋Œ€ํ•œ ๊ตฌ๋…์ด ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๊ฑธ๋ฆฐ๋‹ค.

  • ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜ ์ƒํƒœ ๊ฒ€์‚ฌ๋ฅผ ๋ชจ๋‘ ํ†ต๊ณผํ•˜๋ฉด, ์ƒ์„ธ์ •๋ณด์— ์žˆ๋Š” Public IPv4 ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ณต์‚ฌ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ IP ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์ฃผ์†Œ์ฐฝ์— ๋„ฃ์œผ๋ฉด, WordPress ๋ธ”๋กœ๊ทธ๊ฐ€ ๋‚˜์˜จ๋‹ค.

์ด๋ ‡๊ฒŒ EC2์— WordPress๊ฐ€ ์ด๋ฏธ ์„ค์น˜๋œ AMI๋ฅผ ์‚ฌ์šฉํ•ด WordPress ๋ธ”๋กœ๊ทธ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.


6. (์‹ค์Šต) ELB Load Balancer ์ƒ์„ฑ

[EC2] โ†’ ์™ผ์ชฝ ๋ฉ”๋‰ด์— [๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ]์˜ [๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ]๋ฅผ ํด๋ฆญํ•œ๋‹ค.

  • ์˜ค๋ฅธ์ชฝ ์œ„์— [๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ.

(๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์œ ํ˜• ๋น„๊ต ๋ฐ ์„ ํƒ) ํŽ˜์ด์ง€

  • ALB(Application Load Balancer)์— ์žˆ๋Š” ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ํด๋ฆญ.

(Application Load Balancer ์ƒ์„ฑ) ํŽ˜์ด์ง€

  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์ด๋ฆ„ : MyFirstELB (๊ฐ์ž ๊ธฐ์–ตํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์„ ์ž…๋ ฅ)
  • cf. ๋„คํŠธ์›Œํฌ ๋งคํ•‘ ๋ถ€๋ถ„ : ๊ฐ€์šฉ ์˜์—ญ์„ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„
    • cf. ELB๋Š” ๋ฆฌ์ „ ๋ณ„๋กœ ์ƒ์„ฑํ•œ๋‹ค๊ณ  ๋ฐฐ์› ๋‹ค.
    • ํ•˜๋‚˜์˜ ๋ฆฌ์ „ ๋‚ด์—๋Š” ๋ณต์ˆ˜๊ณ„์˜ ๊ฐ€์šฉ ์˜์—ญ์ด ์กด์žฌํ•œ๋‹ค.
    • ๊ทธ๋ž˜์„œ ์–ด๋–ค ๊ฐ€์šฉ ์˜์—ญ์— ์žˆ๋Š” EC2 ์ธ์Šคํ„ด์Šค๋กœ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ฌ์ง€ ์„ ํƒํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.
  • ๋งคํ•‘
    • 24-01-13 ์‹œ์ ์—์„œ ์„œ์šธ๋ฆฌ์ „์—๋Š” ์ด 4๊ฐœ์˜ ๊ฐ€์šฉ ์˜์—ญ์ด ์กด์žฌํ•œ๋‹ค.
    • ap-northeast2a์™€ ap-northeast2c ์ด๋ ‡๊ฒŒ 2๊ฐœ๋ฅผ ์„ ํƒ
    • ์ฃผ์˜ํ•  ์ ์€ ์ด์ „ ์‹ค์Šต์—์„œ ์ƒ์„ฑํ•œ WordPress ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋Š” ๊ฐ€์šฉ ์˜์—ญ์„ ๋ฌด์กฐ๊ฑด ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค.
    • ๊ทธ๋ž˜์•ผ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๋กœ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ.
  • ๋ณด์•ˆ ๊ทธ๋ฃน
    • ์—ฌ๊ธฐ์„œ์˜ ๋ณด์•ˆ ๊ทธ๋ฃน์€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋กœ ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š” ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ๊ฐ€์ƒ์˜ ๋ฐฉํ™”๋ฒฝ์„ ์˜๋ฏธ
    • ๋ณด์•ˆ๊ทธ๋ฃน ๋ชฉ๋ก์—์„œ WordPress๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ณด์•ˆ๊ทธ๋ฃน๋งŒ์„ ์„ ํƒ (default ์‚ญ์ œ)
      • cf. ์ด ๋ณด์•ˆ๊ทธ๋ฃน์€ ์•ž์—์„œ WordPress AMI๋ฅผ ์‚ฌ์šฉํ•ด์„œ,
      • EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํ•จ๊ป˜ ์ƒ์„ฑ๋œ ๋ณด์•ˆ๊ทธ๋ฃน์ด๋‹ค.
      • ์ด๊ฑธ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์ด ๋ณด์•ˆ๊ทธ๋ฃน์˜ ์™ธ๋ถ€์—์„œ WordPress ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š”
        • ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™๋“ค์ด ์ด๋ฏธ ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ
      • ๊ทธ๋ž˜์„œ ์ด ๋ณด์•ˆ๊ทธ๋ฃน์„ ์‚ฌ์šฉํ•˜๋ฉด ์™ธ๋ถ€์—์„œ ELB๋ฅผ ํ†ตํ•ด์„œ WordPress ์ธ์Šคํ„ด์Šค๋กœ ์ ‘์† ๊ฐ€๋Šฅ.
  • ๋ฆฌ์Šค๋„ˆ ๋ฐ ๋ผ์šฐํŒ… : ELB๋กœ ๋“ค์–ด์˜จ ๋ถ€ํ•˜๋ฅผ ์–ด๋””๋กœ ๋ถ„์‚ฐ์‹œํ‚ฌ์ง€ ์ •ํ•˜๋Š” ๋ถ€๋ถ„
    • cf. ๋Œ€์ƒ๊ทธ๋ฃน(Target Group) : ELB๊ฐ€ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ฌ ๋Œ€์ƒ ์ธ์Šคํ„ด์Šค๋“ค์˜ ์ง‘ํ•ฉ.
    • ์ง€๊ธˆ์€ ๋Œ€์ƒ ๊ทธ๋ฃน์ด ํ•˜๋‚˜๋„ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๋จผ์ € [๋Œ€์ƒ ๊ทธ๋ฃน ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ

๐Ÿ’ก (๋Œ€์ƒ ๊ทธ๋ฃน - ๊ทธ๋ฃน ์„ธ๋ถ€ ์ •๋ณด ์ง€์ •) ํŽ˜์ด์ง€

  • ๋Œ€์ƒ ์œ ํ˜• ์„ ํƒ :
    • ๋จผ์ € ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ฌ ๋Œ€์ƒ์„ ์„ ํƒํ•ด์•ผ ํ•˜๋Š”๋ฐ,
    • ์šฐ๋ฆฌ๋Š” ์ธ์Šคํ„ด์Šค๋กœ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ฌ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒ.
  • ๋Œ€์ƒ ๊ทธ๋ฃน ์ด๋ฆ„ : MyTargetGroup

๋‚˜๋จธ์ง€ ์„ค์ •์€ ๊ทธ๋Œ€๋กœ ํ•˜๊ณ , ์ œ์ผ ํ•˜๋‹จ์— ์žˆ๋Š” [๋‹ค์Œ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

(๋Œ€์ƒ์„ ์‹ค์ œ๋กœ ๋“ฑ๋กํ•˜๋Š” ๋‹จ๊ณ„) ํŽ˜์ด์ง€

  • ์ด์ „ ์‹ค์Šต์—์„œ ์ƒ์„ฑํ•ด๋‘” EC2 WordPress Instance๋ฅผ ์„ ํƒ.
  • ๊ทธ๋ฆฌ๊ณ  ๋ฐ‘์— ๋‚˜์˜ค๋Š” [์•„๋ž˜์— ๋ณด๋ฅ˜ ์ค‘์ธ ๊ฒƒ์œผ๋กœ ํฌํ•จ] ๋ฒ„ํŠผ์„ ํด๋ฆญ
    • cf. ์ด ๋ฒ„ํŠผ์€ ๋ญ”๊ฐ€ ๋ฒˆ์—ญ์ด ์กฐ๊ธˆ ์ด์ƒํ•˜๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™์€๋ฐ,
    • ๊ทธ๋ƒฅ ๋Œ€์ƒ ๊ทธ๋ฃน์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋„ฃ๋Š”๋‹ค๋Š” ์˜๋ฏธ๋กœ ์ดํ•ดํ•˜๋ฉด ๋จ
  • ๊ทธ๋Ÿฌ๋ฉด ํ•˜๋‹จ์— ์žˆ๋Š” ๋Œ€์ƒ ๋ชฉ๋ก์— ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๊ฐ€ ์ถ”๊ฐ€๋œ๋‹ค.
  • ์ด์ œ [๋Œ€์ƒ ๊ทธ๋ฃน ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ

๊ทธ๋Ÿฌ๋ฉด ๋Œ€์ƒ ๊ทธ๋ฃน์ด ์ •์ƒ์ ์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค. ๋‹ค์‹œ ELB ์ƒ์„ฑํ•˜๋Š” ์ฐฝ์œผ๋กœ ๋Œ์•„๊ฐ„๋‹ค.

  • ๋ฆฌ์Šค๋„ˆ ๋ฐ ๋ผ์šฐํŒ… ์ค‘์— [์ƒˆ๋กœ๊ณ ์นจ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ , ์ƒ์„ฑํ•œ ๋Œ€์ƒ ๊ทธ๋ฃน์„ ์„ ํƒํ•œ๋‹ค.
  • ๋ชจ๋“  ์„ค์ •์ด ๋๋‚ฌ์œผ๋‹ˆ, ํ•˜๋‹จ ์ œ์ผ ํ•˜๋‹จ์— [๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ

๊ทธ๋Ÿฌ๋ฉด ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค.

  • [๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ๋ณด๊ธฐ] ๋ฒ„ํŠผ์„ ํด๋ฆญ.
  • ๊ทธ๋Ÿฌ๋ฉด ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ๋ชฉ๋ก์ด ๋‚˜์˜ค๊ณ , ํ˜„์žฌ ์ƒํƒœ๋Š” ํ”„๋กœ๋น„์ €๋‹ ์ค‘์œผ๋กœ ๋‚˜์˜จ๋‹ค.
  • ์‹œ๊ฐ„์ด ๋ช‡ ๋ถ„ ์ง€๋‚˜๋ฉด, ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ์˜ ์ƒํƒœ๊ฐ€ ํ™œ์„ฑ์œผ๋กœ ๋ฐ”๋€๋‹ค.

์™ผ์ชฝ ๋ฉ”๋‰ด์— [๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ]์˜ [๋Œ€์ƒ๊ทธ๋ฃน]์œผ๋กœ ๊ฐ€์„œ, ๋Œ€์ƒ ๊ทธ๋ฃน ์ƒ์„ธ๋ณด๊ธฐ ํ™”๋ฉด์—์„œ [๋Œ€์ƒ] ํƒญ์„ ๋ˆŒ๋Ÿฌ๋ณด๋ฉด,

  • ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜ ์กด์žฌํ•˜๋ฉฐ ์ƒํƒœ๊ฐ€ health๋กœ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋Š” ๋Œ€์ƒ ๊ทธ๋ฃน์—๋„ ๋Œ€์ƒ์ด ์ •์ƒ์ ์œผ๋กœ ๋“ฑ๋ก๋œ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์™ผ์ชฝ ๋ฉ”๋‰ด์— [๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ]์˜ [๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ]์œผ๋กœ ๋Œ์•„๊ฐ€์„œ.

  • ELB์˜ ์ƒ์„ธ ์ •๋ณด ํ•˜๋‹จ์— ๋‚˜์˜ค๋Š” [DNS ์ด๋ฆ„]์„ ์ฃผ์†Œ์ฐฝ์— ๋ณต๋ถ™ํ•ด์„œ ์ ‘์†ํ•ด๋ณด์ž.
  • ๊ทธ๋Ÿฌ๋ฉด WordPress ๋ธ”๋กœ๊ทธ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.

6.1 ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“  ๊ตฌ์กฐ

1
(ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ) โŽฏโŽฏโŽฏโŽฏ> (ELB) โŽฏโŽฏโŽฏโŽฏ> (EC2, Wordpress)
  • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด EC2 ์ธ์Šคํ„ด์Šค๋กœ ๊ณง๋ฐ”๋กœ ๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,
    • ELB๋ฅผ ํ†ตํ•ด์„œ EC2 ์ธ์Šคํ„ด์Šค๋กœ ์ „๋‹ฌ๋˜๋Š” ๊ตฌ์กฐ์ด๋‹ค.
  • ์ง€๊ธˆ์€ EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜๋ฐ–์— ์—†๋Š” ์ƒํƒœ์ด๋‹ค.
  • ๊ทธ๋ž˜์„œ ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด ๋ถ€ํ•˜๊ฐ€ ๋ถ„์‚ฐ๋œ๋‹ค๊ณ  ํ•  ์ˆ˜๋Š” ์—†๋‹ค.
    • ์ด์–ด์ง€๋Š” ๋‹ค์Œ ์‹ค์Šต์—์„œ๋Š” ์ด 2๊ฐœ์˜ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ฌ๊ฒƒ์ด๋‹ค.
1
(ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ) โŽฏโŽฏโŽฏโŽฏ> (ELB) โŽฏโŽฏโŽฏโŽฏ> (EC2, Wordpress)
2
โŽฏโŽฏโŽฏโŽฏ> (EC2, Wordpress)

7. (์‹ค์Šต) ๋‹ค๋ฅธ ๊ฐ€์šฉ์˜์—ญ์— EC2 WordPress ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

[EC2] โ†’ [์ธ์Šคํ„ด์Šค] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•œ ๋’ค์—, [์ธ์Šคํ„ด์Šค ์‹œ์ž‘] ๋ฒ„ํŠผ์„ ํด๋ฆญ

  • ์ด๋ฆ„ : WordpressInstance2 (์ด์ „์— ์ƒ์„ฑํ•œ EC2 ์ธ์Šคํ„ด์Šค์™€ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์„ ์ž…๋ ฅ)
  • Application and OS Images : ๊ฒ€์ƒ‰์ฐฝ์— wordpress bitnami ์นœ ๋’ค์— ์—”ํ„ฐ (์ด์ „๊ณผ ๋™์ผ)
    • ์—ฌ๊ธฐ์„œ AWS Marketplace AMI ํƒญ์„ ๋ˆ„๋ฅธ๋‹ค.
    • ์—ฌ๊ธฐ์„œ WordPress Certified by Bitnami & Automatic Image๋ฅผ ์„ ํƒ.
    • [์„ ํƒ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด, ํ•ด๋‹น AMI์— ๋Œ€ํ•œ ์ƒ์„ธ ์ •๋ณด ๋‹ค์ด์–ผ๋กœ๊ทธ๊ฐ€ ๋‚˜์˜จ๋‹ค.
    • ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์˜ [๊ณ„์†] ๋ฒ„ํŠผ์„ ํด๋ฆญ.
    • ๊ทธ๋Ÿฌ๋ฉด ์„ ํƒํ•œ ์ด๋ฏธ์ง€๊ฐ€ ์„ค์ •๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ์ธ์Šคํ„ด์Šค ์œ ํ˜• :
    • AMI๋ฅผ ์„ค์ •ํ•  ๋•Œ, ์ธ์Šคํ„ด์Šค ์œ ํ˜•๋„ ์ž๋™ ๋ณ€๊ฒฝ์ด ๋˜๋Š”๋ฐ,
    • ํ”„๋ฆฌํ‹ฐ์–ด๋กœ ์‹ค์Šตํ•  ๊ฒƒ์ด๊ธฐ์—, ํ”„๋ฆฌํ‹ฐ์–ด T2.micro๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • ํ‚ค ํŽ˜์–ด(๋กœ๊ทธ์ธ) : ์ด์ „ ์‹ค์Šต์—์„œ ์ƒ์„ฑํ•ด๋‘” ํ‚ค๋ฅผ ์„ ํƒ.
  • ๋„คํŠธ์›Œํฌ ์„ค์ • :
    • [ํŽธ์ง‘] ๋ฒ„ํŠผ์„ ํด๋ฆญ
    • [์„œ๋ธŒ๋„ท] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญ (cf. Subnet์€ ๊ฐ€์šฉ ์˜์—ญ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ)
      • ํด๋ฆญํ•˜๋ฉด, ์„œ์šธ๋ฆฌ์ „์— ์žˆ๋Š” 4๊ฐœ์˜ ๊ฐ€์šฉ ์˜์—ญ ๋ชฉ๋ก์ด ๋‚˜์˜จ๋‹ค.
      • ์—ฌ๊ธฐ์„œ ๊ผญ ์ด์ „์— ์ƒ์„ฑํ•œ EC2 ์ธ์Šคํ„ด์Šค์™€ ๋‹ค๋ฅธ ๊ฐ€์šฉ ์˜์—ญ์„ ์„ ํƒํ•œ๋‹ค.
      • cf. ์ฐฝ์„ ํ•˜๋‚˜ ๋˜ ๋„์›Œ์„œ ์ธ์Šคํ„ด์Šค ๋ชฉ๋ก์— ๋ณด๋ฉด ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์˜ ๊ฐ€์šฉ์˜์—ญ์ด ๋ณด์ž„
      • cf. ์„œ์šธ ๋ฆฌ์ „์˜ c์˜์—ญ, a์˜์—ญ์€ ํ”„๋ฆฌํ‹ฐ์–ด T2.micro ์ง€์›
  • ์Šคํ† ๋ฆฌ์ง€ ๊ตฌ์„ฑ : ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ๋„˜์–ด๊ฐ€๊ธฐ
  • ๋ชจ๋“  ์„ค์ •์„ ๋งˆ์ณค์œผ๋ฉด, [์ธ์Šคํ„ด์Šค ์‹œ์ž‘] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

์ธ์Šคํ„ด์Šค ๋ชฉ๋ก์œผ๋กœ ์ด๋™ํ•˜๊ณ , ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด, ์ธ์Šคํ„ด์Šค ์ƒํƒœ๊ฐ€ [์‹คํ–‰์ค‘], ์ƒํƒœ๊ฒ€์‚ฌ๊นŒ์ง€ ์™„๋ฃŒ๋œ๋‹ค.


8. (์‹ค์Šต) ELB์— EC2 ์ธ์Šคํ„ด์Šค ๋“ฑ๋ก

[EC2] โ†’ ์™ผ์ชฝ ๋ฉ”๋‰ด [๋Œ€์ƒ ๊ทธ๋ฃน] ํŽ˜์ด์ง€๋กœ ์ ‘์†ํ•œ๋‹ค.

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

์ƒ์„ธ๋ณด๊ธฐ์˜ ๋Œ€์ƒ ๋ชฉ๋ก์— ์ƒˆ๋กœ์šด EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • ์ฒ˜์Œ์— ๋Œ€์ƒ์„ ๋“ฑ๋กํ•˜๋ฉด ๊ณง๋ฐ”๋กœ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๋˜์ง€ ์•Š๊ณ , ์ƒํƒœ ํ™•์ธ์— ๋‚˜์™€ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ดˆ๊ธฐํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
  • ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๋Œ€์ƒ์— ๋Œ€ํ•ด Healthy ์ฒดํฌ๊นŒ์ง€ ๋ชจ๋‘ ๋๋‚˜๋ฉด, [Healthy ์ƒํƒœ]๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.
  • Healthy ์ƒํƒœ๊ฐ€ ๋˜๋ฉด, ELB์—์„œ ์ƒˆ EC2 ์ธ์Šคํ„ด์Šค๋กœ๋„ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค๊ฒŒ ๋œ๋‹ค.

9. (์‹ค์Šต) Load Balancing ์ž‘๋™ ํ™•์ธ

[EC2] โ†’ [์ธ์Šคํ„ด์Šค]์—์„œ ์ฒซ ๋ฒˆ์งธ๋กœ ์ƒ์„ฑํ•œ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•˜๊ณ , Public IPv4 ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌ

  • ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— IP ์ฃผ์†Œ๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ณ  ์ฃผ์†Œ ๋’ค์— /admin์„ ๋ถ™์—ฌ ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋กœ ์ ‘์†
    • cf. /admin์€ WordPress์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ์ฃผ์†Œ์ž„
  • ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€๋กœ ์ ‘์†ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ ๋กœ๊ทธ์ธํ•˜๋Š” ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.
    • ๊ด€๋ฆฌ์ž ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์‹œ EC2 ํŽ˜์ด์ง€๋กœ ์ด๋™.
  • EC2 ์ธ์Šคํ„ด์Šค ๋ชฉ๋ก์—์„œ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•˜๊ณ , ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ [์ž‘์—…] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญ
    • ๊ทธ๋Ÿฌ๋ฉด ํ•˜์œ„ ๋ฉ”๋‰ด๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, [๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ] โ†’ [์‹œ์Šคํ…œ ๋กœ๊ทธ ๊ฐ€์ ธ์˜ค๊ธฐ] ํด๋ฆญ
    • ๊ทธ๋Ÿฌ๋ฉด ์‹œ์Šคํ…œ ๋กœ๊ทธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.
    • Bitnami์—์„œ ๋งŒ๋“  WordPress AMI์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹œ์Šคํ…œ ๋กœ๊ทธ๋กœ ๊ด€๋ฆฌ์ž ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • ์—ฌ๊ธฐ์„œ ๋กœ๊ทธ๋ฅผ ์œ„๋กœ ์˜ฌ๋ฆฌ๋‹ค ๋ณด๋ฉด,
    • Setting Bitnami application password to ๋ฐ•์Šค๋กœ ๋œ ์˜์—ญ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž๋Š” user๋กœ ๋˜์–ด์žˆ๊ณ , ๋น„๋ฒˆ์€ ๋‚˜์™€์žˆ๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. (1+P1E,u/h9/Q)
    • ํŒจ์Šค์›Œ๋“œ๋ฅผ ๋ณต๋ถ™ํ•ด์„œ WordPress์— ๊ด€๋ฆฌ์ž๋กœ ๋กœ๊ทธ์ธํ•œ๋‹ค.
  • ๊ด€๋ฆฌ์ž ๋ฉ”๋‰ด ์™ผ์ชฝ์— ์žˆ๋Š” ๋ฉ”๋‰ด ์ค‘ Posts ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•˜๊ณ , Add New๋ฅผ ํด๋ฆญํ•ด ์ƒˆ ๊ธ€์„ ์ž‘์„ฑ.
    • ๊ทธ๋ฆฌ๊ณ  ์ œ๋ชฉ๊ณผ ๊ธ€ ๋‚ด์šฉ์„ ๊ฐ๊ฐ ์ž‘์„ฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
    • ๊ธ€์€ ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ์ž‘์„ฑํ•ด๋„ ๋˜์ง€๋งŒ,
    • ์ธ์Šคํ„ด์Šค๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๋ชฉ๊ณผ ๊ธ€์„ ์ž‘์„ฑํ•œ๋‹ค.
    • e.g. ์ฒซ ๋ฒˆ์จฐ EC2์—๋งŒ ๋ณด์ด๋Š” ๊ธ€
    • ๊ธ€์„ ๋ชจ๋‘ ์ž‘์„ฑํ–ˆ๋‹ค๋ฉด ์ด์ œ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” Publish ๋ฒ„ํŠผ์„ ํด๋ฆญ
    • ๊ทธ๋ฆฌ๊ณ  ๋ฐ”๋€Œ๋Š” ๋ฉ”๋‰ด์—์„œ ๋‹ค์‹œ Publish ๋ฒ„ํŠผ์„ ํด๋ฆญ
    • ๊ทธ๋Ÿฌ๋ฉด ๊ธ€ ์ž‘์„ฑ์ด ์™„๋ฃŒ๋˜๊ณ , ์ƒˆ๋กœ ์ž‘์„ฑ๋œ ๊ธ€ ๋งํฌ๊ฐ€ ๋‚˜์˜จ๋‹ค.
    • ์—ฌ๊ธฐ์„œ View Post ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ๋ฐ”๋กœ ๊ธ€์„ ํ™•์ธ.

์ด๋ฒˆ์—๋Š” IP ์ฃผ์†Œ๋กœ EC2 ์ธ์Šคํ„ด์Šค์— ๊ณง๋ฐ”๋กœ ์ ‘์†ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ELB๋ฅผ ํ†ตํ•ด์„œ ์ ‘์†ํ•œ๋‹ค.

  • [๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ] ํŽ˜์ด์ง€์—์„œ ์ƒ์„ฑํ•ด๋‘” ELB๋ฅผ ์„ ํƒํ•˜๊ณ , ํ•˜๋‹จ์— ๋‚˜์˜ค๋Š” DNS ์ด๋ฆ„์„ ๋ณต์‚ฌ
  • ํ˜„์žฌ 2๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๋กœ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜๋„๋ก ํ•ด๋†จ๊ธฐ ๋•Œ๋ฌธ์—,
    • ์ƒˆ๋กœ ๊ณ ์นจํ•  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋กœ ๋ถ€ํ•˜๊ฐ€ ๋ถ„์‚ฐ๋œ๋‹ค.
    • ๊ทธ๋ž˜์„œ ๊ณ„์† ์ƒˆ๋กœ๊ณ ์นจํ•œ๋‹ค.
    • ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜๋‹ค๋ณด๋ฉด, ๊ธ€ ๋ชฉ๋ก์— ์•„๊นŒ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค.
      • ์ด ๊ฒฝ์šฐ์—๋Š” ๊ธ€์„ ์ž‘์„ฑํ•œ EC2 ์ธ์Šคํ„ด์Šค๋กœ ๋ถ€ํ•˜๊ฐ€ ๋ถ„์‚ฐ๋œ ๊ฒฝ์šฐ์ด๋‹ค.
    • ์—ฌ๊ธฐ์„œ ๋˜ ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•˜๋‹ค๋ณด๋ฉด, ๊ธ€์ด ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    • ์ด ๊ฒฝ์šฐ๋Š” ๊ธ€์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์€ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค๋กœ ๋ถ€ํ•˜๊ฐ€ ๋ถ„์‚ฐ๋œ ๊ฒƒ์ด๋‹ค.

9.1 ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“  ๊ตฌ์กฐ

1
(ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ) โŽฏโŽฏโŽฏโŽฏ> (ELB) โŽฏโŽฏโŽฏโŽฏ> (EC2, Wordpress)
2
โŽฏโŽฏโŽฏโŽฏ> (EC2, Wordpress)
  • ELB๋ฅผ ๋งŒ๋“ค๊ณ  ๋Œ€์ƒ ๊ทธ๋ฃน์— ์ด 2๊ฐœ์˜ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋“ฑ๋ก
  • ๊ทธ๋ฆฌ๊ณ  ๋‘˜ ์ค‘ ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค์—๋งŒ ์ง์ ‘ ์ ‘์†ํ•ด์„œ ๊ธ€์„ ์ž‘์„ฑํ–ˆ๊ณ ,
  • ELB๋ฅผ ํ†ตํ•ด์„œ ์ ‘์†์„ ์‹œ๋„ํ–ˆ์„ ๋•Œ,
    • ๊ธ€ ๋ชฉ๋ก์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์„ ํ†ตํ•ด์„œ ๋ถ€ํ•˜ ๋ถ„์‚ฐ์ด ์ •์ƒ์ ์œผ๋กœ ์ด๋ค„์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ•จ