์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

IT ๊ฒฝํ—˜์ด ์Œ“์ผ์ˆ˜๋ก ์‹œ์Šคํ…œ์—๋Š” ๊ณ ์œ ํ•œ ํŠน์ง•์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์€ ์œ ์ˆœํ•  ์ˆ˜๋„, ์กฐ์šฉํ•  ์ˆ˜๋„, ๋ณ€๋•์Šค๋Ÿฌ์šธ ์ˆ˜๋„, ์—„๊ฒฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์„ ์‚ฌ๋กœ์žก์„ ์ˆ˜๋„, ๋ฐ€์–ด๋‚ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์‹์œผ๋กœ๋“  ์‹œ์Šคํ…œ๊ณผ "ํ˜‘์ƒ"ํ•˜๊ณ , "ํ•จ์ •" ์‚ฌ์ด๋ฅผ ํ—ค์ณ๋‚˜๊ฐ€๋ฉฐ, ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ ๊ณ ๋ฆฌ๋ฅผ ๊ตฌ์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์„ ๊ตฌ์ถ•ํ•˜๋Š” ์˜๊ด‘์„ ์–ป๊ฒŒ ๋˜์—ˆ๊ณ , ์ด๋ฅผ ์œ„ํ•ด ๋ช‡๋ช‡ ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ์šฐ๋ฆฌ์™€ ํ•จ๊ป˜ ์ผํ•˜๋„๋ก "์„ค๋“"ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ "API ์–ธ์–ด"์™€ ๋“ ๋“ ํ•œ ์†๊ธธ, ๊ทธ๋ฆฌ๊ณ  ๋„˜์น˜๋Š” ์—ด์ •์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

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

์ปท ์•„๋ž˜์— ์˜ค์‹  ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์—ฌํ–‰์˜ ์‹œ์ž‘

์–ผ๋งˆ ์ „, ์ €ํฌ ํŒ€์€ ๊ณ ๊ฐ์„ ์œ„ํ•œ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ์ถœ์‹œ๋ฅผ ๋‹ด๋‹นํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ๊ด€๋ฆฌ, ๋ฆฌ์†Œ์Šค, ํ•˜๋“œ์›จ์–ด ์Šคํƒ์˜ ์ง€์›์„ ๋ฐ›์•˜๊ณ , ์„œ๋น„์Šค์˜ ์†Œํ”„ํŠธ์›จ์–ด ๋ถ€๋ถ„์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ  ์„ ํƒ์— ์žˆ์–ด ์ž์œ ๋กœ์› ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์š”๊ตฌ ์‚ฌํ•ญ๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ด ์„œ๋น„์Šค์—๋Š” ํŽธ๋ฆฌํ•œ ๊ฐœ์ธ ๊ณ„์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ํ”Œ๋žซํผ์€ ๊ธฐ์กด ์ฒญ๊ตฌ ์‹œ์Šคํ…œ์— ํ†ตํ•ฉ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์†Œํ”„ํŠธ์›จ์–ด์™€ ํ•˜๋“œ์›จ์–ด: OpenStack + Tungsten Fabric(Open Contrail)์€ ์šฐ๋ฆฌ ์—”์ง€๋‹ˆ์–ด๋“ค์ด ์•„์ฃผ ๋Šฅ์ˆ™ํ•˜๊ฒŒ "์š”๋ฆฌ"ํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.

Habr ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๊ด€์‹ฌ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด, ํŒ€์ด ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์—ˆ๋Š”์ง€, ๊ฐœ์ธ ๊ณ„์ • ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ฐœ๋ฐœ๋˜์—ˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๋””์ž์ธ์— ๋Œ€ํ•œ ๊ฒฐ์ •์ด ์–ด๋–ป๊ฒŒ ๋‚ด๋ ค์กŒ๋Š”์ง€์— ๋Œ€ํ•ด์„œ๋Š” ๋‚˜์ค‘์— ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ๋„๊ตฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Python + Flask + Swagger + SQLAlchemy๋Š” ์ƒ๋‹นํžˆ ํ‘œ์ค€์ ์ธ Python ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.
  • ํ”„๋ŸฐํŠธ์—”๋“œ๋Š” Vue.js๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ตฌ์„ฑ ์š”์†Œ์™€ ์„œ๋น„์Šค ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์€ AMQP ๋Œ€์‹  Celery๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

๊ทธ๋Ÿผ, ์šฐ๋ฆฌ์˜ ์นœ๋ถ„์„ ์‹œ์ž‘ํ•ด ๋ณผ๊นŒ์š”.

๋ฌด์Œ ์ฒญ๊ตฌ์„œ - ์ฒญ๊ตฌ

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

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

์ฒญ๊ตฌ ์‹œ์Šคํ…œ์€ ์šฐ๋ฆฌ๊ฐ€ ์ฒ˜์Œ ์ ‘ํ•ด ๋ณด๋ ค๊ณ  ํ–ˆ๋˜ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ฐ€์žฅ ๋จผ์ € ์–ด๋ ค์›€์„ ๊ฒช์€ ๊ฑด ์„œ๋น„์Šค ์ฒ˜๋ฆฌ์˜€์Šต๋‹ˆ๋‹ค.

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

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

์†Œํ”„ํŠธ์›จ์–ด API ์„ค๋ช…์„ ๋ณด๋ฉด ์ด ์ž‘์—…์€ ์—ฌ์ „ํžˆ โ€‹โ€‹ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง์„ ํ•  ์‹œ๊ฐ„์ด ๋ถ€์กฑํ•˜์—ฌ ๋กœ์ง์„ ์™ธ๋ถ€๋กœ ์˜ฎ๊ธฐ๊ณ  RabbitMQ ์œ„์— ์ž‘์—… ํ๋ฅผ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค ์ž‘์—…์€ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐœ์ธ ๊ณ„์ •์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋ฐฑ์—”๋“œ์—์„œ Celery "์ž‘์—…"์œผ๋กœ ๋ณ€ํ™˜๋˜๊ณ  ์ฒญ๊ตฌ ๋ฐ OpenStack ์ธก์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. Celery๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘์—…์„ ๊ด€๋ฆฌํ•˜๊ณ , ๋ฐ˜๋ณต ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜๊ณ , ์ƒํƒœ๋ฅผ ๋งค์šฐ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "Celery"์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

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

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

๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋Š” ์นจ๋ฌต์ด๋‹ค.

Billy๋Š” ์ผ๋ถ€ API ์š”์ฒญ์— "OK"๋ผ๊ณ  ์กฐ์šฉํžˆ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ…Œ์ŠคํŠธ ๊ธฐ๊ฐ„ ๋™์•ˆ ์•ฝ์†๋œ ๊ฒฐ์ œ๋ฅผ ์™„๋ฃŒํ–ˆ์„ ๋•Œ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค(์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‚˜์ค‘์— ์„ค๋ช…). ์š”์ฒญ์€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜์—ˆ๊ณ  ์˜ค๋ฅ˜๋Š” ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

UI๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ์ž‘์—…์„ ํ•˜๋ฉด์„œ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒญ๊ตฌ ์ž์ฒด๋„ ์œ ์‚ฌํ•œ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ, ๋ฒ”์œ„๋ฅผ ํŠน์ • ์‚ฌ์šฉ์ž(์˜ˆ: ๊ด€๋ฆฌ์ž)๋กœ ๋ณ€๊ฒฝํ•˜๊ณ  ์ด๋ฅผ su ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

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

๋”ฐ๋ผ์„œ ์š”์•ฝํ•˜์ž๋ฉด, ์ƒํ˜ธ์ž‘์šฉ ๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๊ฐ€ ๋งˆ์ฃผํ•œ ์ฃผ์š” ๋ฌธ์ œ๋Š” ํŠน์ • ์‹œ์Šคํ…œ์˜ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„ ๊ธฐ๋Šฅ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์šฐ๋ฆฌ์—๊ฒŒ ์–ด๋–ค ์‹์œผ๋กœ๋“  ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ "ํŠน์ง•"
  • ํ์‡„ ์†Œ์Šค(์ฒญ๊ตฌ๋Š” C++๋กœ ์ž‘์„ฑ๋จ)๋กœ ์ธํ•ด ๋ฌธ์ œ 1์„ "์‹œํ–‰์ฐฉ์˜ค"๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋‹คํ–‰ํžˆ๋„ ํ•ด๋‹น ์ œํ’ˆ์€ ์ƒ๋‹นํžˆ ๊ด‘๋ฒ”์œ„ํ•œ API๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์œผ๋ฉฐ, ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ๊ฐœ์ธ ๊ณ„์ •์— ํ†ตํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค.

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

ํ……์Šคํ… ๋“คํŒ์„ ๊ฑท๋‹ค - ํ……์Šคํ… ์›๋‹จ

์ˆ˜๋ฐฑ ๊ฐœ์˜ ์ „์„ ์ด ํฉ๋ฟŒ๋ ค์ง„ ํ……์Šคํ… ์žฅ์€ ์ˆ˜์ฒœ ๋น„ํŠธ์˜ ์ •๋ณด๋ฅผ ์Šค์Šค๋กœ ํ†ต๊ณผ์‹œํ‚ต๋‹ˆ๋‹ค. ์ •๋ณด๋Š” ๋งˆ์น˜ ๋งˆ๋ฒ•์ฒ˜๋Ÿผ "ํŒจํ‚ท"์œผ๋กœ ์ˆ˜์ง‘๋˜๊ณ  ๋ถ„๋ฅ˜๋˜์–ด ๋ณต์žกํ•œ ๊ฒฝ๋กœ๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

์ด๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ์นœํ•ด์ ธ์•ผ ํ–ˆ๋˜ ๋‘ ๋ฒˆ์งธ ์‹œ์Šคํ…œ, ์ฆ‰ ํ……์Šคํ… ํŒจ๋ธŒ๋ฆญ(TF, ์ด์ „ ๋ช…์นญ: OpenContrail)์˜ ์˜์—ญ์ž…๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์˜ ์—ญํ• ์€ ๋„คํŠธ์›Œํฌ ์žฅ๋น„๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ์†Œํ”„ํŠธ์›จ์–ด ์ถ”์ƒํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. TF(SDN)๋Š” ๋„คํŠธ์›Œํฌ ์žฅ๋น„ ์ž‘๋™์˜ ๋ณต์žกํ•œ ๋กœ์ง์„ ์บก์Аํ™”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด ๊ธฐ์ˆ  ์ž์ฒด์— ๋Œ€ํ•œ ์ข‹์€ ๊ธ€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

์ด ์‹œ์Šคํ…œ์€ Neutron ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•ด OpenStack(์•„๋ž˜์—์„œ ์„ค๋ช…)๊ณผ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ
OpenStack ์„œ๋น„์Šค์˜ ์ƒํ˜ธ์ž‘์šฉ.

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

์ฒซ ๋ฒˆ์งธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. SSH๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐํ•œ ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค ์ฝ˜์†”์— ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋Š” ๋ช…๋ น์€ ์—ฐ๊ฒฐ์„ ๋‹จ์ˆœํžˆ "๋ฉˆ์ถ”๊ฒŒ" ํ–ˆ์ง€๋งŒ, VNC๋ฅผ ํ†ตํ•ด์„œ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

์ด ๋ฌธ์ œ์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋ถ„๋“ค์„ ์œ„ํ•ด ์„ค๋ช…๋“œ๋ฆฌ์ž๋ฉด, ๊ฝค ์šฐ์Šค๊ฝ์Šค๋Ÿฝ๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค. ls /root๋Š” ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€๋งŒ, ์˜ˆ๋ฅผ ๋“ค์–ด top์€ ์™„์ „ํžˆ "๋ฉˆ์ถฐ" ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ๋„ ์ €ํฌ๋Š” ์ด๋ฏธ ๋น„์Šทํ•œ ๋ฌธ์ œ๋ฅผ ๊ฒฝํ—˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ปดํ“จํŠธ ๋…ธ๋“œ์—์„œ ๋ผ์šฐํ„ฐ๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ์˜ MTU๋ฅผ ์กฐ์ •ํ•˜์—ฌ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ, ์ด ๋ฌธ์ œ๋Š” TF(์ „์†ก ์‹œ์Šคํ…œ) ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ฌธ์ œ๋Š” ๋ฐ”๋กœ ์ฝ”์•ž๊นŒ์ง€ ๋‹ค๊ฐ€์™€ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋А "๋ฉ‹์ง„" ์ˆœ๊ฐ„, ๋ผ์šฐํŒ… ๋งˆ๋ฒ•์ด ๊ฐ‘์ž๊ธฐ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. TF๊ฐ€ ํ•˜๋“œ์›จ์–ด ๋ผ์šฐํŒ… ๊ด€๋ฆฌ๋ฅผ ์ค‘๋‹จํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

OpenStack์„ ๊ด€๋ฆฌ์ž ์ˆ˜์ค€์—์„œ ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ํ•„์š”ํ•œ ์‚ฌ์šฉ์ž ์ˆ˜์ค€์œผ๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. SDN์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ๋ฒ”์œ„๋ฅผ "์ฐจ๋‹จ"ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” TF์™€ OpenStack์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ๋™์ผํ•œ ๊ด€๋ฆฌ์ž ๊ณ„์ •์ด ์‚ฌ์šฉ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ˆ˜์ค€์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๋‹จ๊ณ„์—์„œ "๋งˆ๋ฒ•"์€ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ž‘์—…์„ ์œ„ํ•œ ๋ณ„๋„์˜ ๊ณ„์ •์„ ์ƒ์„ฑํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ†ตํ•ฉ ๊ธฐ๋Šฅ์„ ์†์ƒ์‹œํ‚ค์ง€ ์•Š๊ณ  ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์‹ค๋ฆฌ์ฝ˜ ๋ผ์ดํ”„ํผ - ์˜คํ”ˆ์Šคํƒ

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

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

OpenStack์€ ์šฐ๋ฆฌ ํ”Œ๋žซํผ์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

OpenStack์—๋Š” ์—ฌ๋Ÿฌ ํ•˜์œ„ ์‹œ์Šคํ…œ์ด ์žˆ์œผ๋ฉฐ, ํ˜„์žฌ Nova, Glance, Cinder๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํ•˜์œ„ ์‹œ์Šคํ…œ์€ ์ž์ฒด API๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Nova๋Š” ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค ๋ฐ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์„ ๋‹ด๋‹นํ•˜๊ณ , Cinder๋Š” ๋ณผ๋ฅจ ๋ฐ ์Šค๋ƒ…์ƒท ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋ฉฐ, Glance๋Š” OS ํ…œํ”Œ๋ฆฟ๊ณผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ด๋ฏธ์ง€ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๊ฐ ์„œ๋น„์Šค๋Š” ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ๋ฉ”์‹œ์ง€ ๋ธŒ๋กœ์ปค๋Š” "ํฐ ํ† ๋ผ"์ธ RabbitMQ์ž…๋‹ˆ๋‹ค.

์ด ์‹œ์Šคํ…œ์€ ์šฐ๋ฆฌ์—๊ฒŒ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ํฐ ๋ฌธ์ œ๋ฅผ ์•ˆ๊ฒจ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„์— ์ถ”๊ฐ€ ๋ณผ๋ฅจ์„ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ–ˆ์„ ๋•Œ ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋ฐ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. Cinder API๋Š” ์ด ์ž‘์—…์„ ๋‹จํ˜ธํ•˜๊ฒŒ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ •ํ™•ํžˆ ๋งํ•˜๋ฉด, OpenStack ์ž์ฒด์˜ ์ฃผ์žฅ๋Œ€๋กœ๋ผ๋ฉด ์—ฐ๊ฒฐ์€ ์„ค์ •๋˜์—ˆ์ง€๋งŒ ๊ฐ€์ƒ ์„œ๋ฒ„ ๋‚ด๋ถ€์— ๋””์Šคํฌ ์žฅ์น˜๊ฐ€ ์—†๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

์ €ํฌ๋Š” "๋Œ์•„๊ฐ€์„œ" Nova API์— ๋™์ผํ•œ ์ž‘์—…์„ ์š”์ฒญํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ, ๊ธฐ๊ธฐ๋Š” ์ •์ƒ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์—ˆ๊ณ  ์„œ๋ฒ„ ๋‚ด์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋ธ”๋ก ์Šคํ† ๋ฆฌ์ง€๊ฐ€ Cinder์— ์‘๋‹ตํ•˜์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

๋””์Šคํฌ ์ž‘์—… ์‹œ ๋˜ ๋‹ค๋ฅธ ์–ด๋ ค์›€์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๋ณผ๋ฅจ์„ ์„œ๋ฒ„์—์„œ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

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

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

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

OpenStack์€ ์ž์ฒด์ ์ธ ์ƒํ˜ธ์ž‘์šฉ ๋กœ์ง๊ณผ ๋ณต์žกํ•œ API๋ฅผ ๊ฐ–์ถ˜ ์ƒ๋‹นํžˆ ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ƒ๋‹นํžˆ ์ƒ์„ธํ•œ ๋ฌธ์„œ์™€ ์‹œํ–‰์ฐฉ์˜ค์ ์ธ ๋ฐฉ๋ฒ•(์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ• ์—†์ด๋Š” ์–ด๋–ป๊ฒŒ ๋˜์—ˆ์„๊นŒ์š”?) ๋•๋ถ„์— ์šฐ๋ฆฌ๋Š” ๊ตฌ์›๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์‹คํ–‰

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

๋ฌผ๋ก , ํ…Œ์ŠคํŠธ ์ž์ฒด๋„ ์žฌ๋ฐŒ๋Š” ์ˆœ๊ฐ„์ด ์—†์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด๊ฒƒ์€ ๋‹จ์ง€ ์šฐ๋ฆฌ ๋ชจํ—˜์˜ ์‹œ์ž‘์ผ ๋ฟ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

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

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

๋˜ ๋‹ค๋ฅธ ๊ถ๊ธˆํ•œ ์ ์€ ๊ฐœ์ธ ๊ณ„์ •์˜ "๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ" ๋ฒ„ํŠผ ๊ธฐ๋Šฅ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์„ธ์…˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด JWT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ์ธ ๊ณ„์ • ์ ‘๊ทผ์„ ๊ด€๋ฆฌํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ๋‹ค์–‘ํ•˜๊ณ  ๋„๋ฆฌ ๋ถ„์‚ฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ €ํฌ๋Š” ์ž์ฒด ํ† ํฐ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ† ํฐ์€ ์ฒญ๊ตฌ์„œ์˜ ์„ธ์…˜๊ณผ OpenStack์˜ ํ† ํฐ์„ "๋ž˜ํ•‘"ํ•ฉ๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๊ฐ€ ๋” ์ด์ƒ ์œ ํšจํ•˜์ง€ ์•Š์•„ ์žฌ๋ฐœ๊ธ‰๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ํ† ํฐ์€ ๋‹น์—ฐํžˆ "์œ ํšจํ•˜์ง€ ์•Š๊ฒŒ" ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ

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

์ด๋Ÿฌํ•œ ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋Š” ์ˆœ์กฐ๋กญ๊ฒŒ ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ช‡ ์ฃผ ๋งŒ์— ์•ฝ 300๋ช…์ด ์ €ํฌ๋ฅผ ๋ฐฉ๋ฌธํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ๋ˆˆ์œผ๋กœ ์ œํ’ˆ์„ ์‚ดํŽด๋ณด๊ณ , ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•ด ๋ณด๊ณ , ์–‘์งˆ์˜ ํ”ผ๋“œ๋ฐฑ์„ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ณ„์†ํ•˜๊ธฐ

์šฐ๋ฆฌ ์ค‘ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ด ์ •๋„ ๊ทœ๋ชจ์˜ ์ฒซ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํŒ€์›Œํฌ, ์•„ํ‚คํ…์ฒ˜ ๋ฐ ๋””์ž์ธ ๊ฒฐ์ •, ์ œํ•œ๋œ ๋ฆฌ์†Œ์Šค๋กœ ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์„ ํ†ตํ•ฉํ•˜๊ณ  ํ”„๋กœ๋•์…˜์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ท€์ค‘ํ•œ ๊ตํ›ˆ์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

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

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

์šฐ๋ฆฌ๋Š” ์ตœ๊ทผ ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹น์‚ฌ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜จ๋ผ์ธ์œผ๋กœ.

์‚ฌ์ด๋ฒ„ํŽ‘ํฌ๋ฅผ ๊ณ๋“ค์ธ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํƒ„์ƒ์˜ ์—ญ์‚ฌ
CLO ๊ฐœ๋ฐœํŒ€

์œ ์šฉํ•œ ๋งํฌ

OpenStack

ํ……์Šคํ… ์ง๋ฌผ

์ถœ์ฒ˜ : habr.com

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster