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

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

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

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

AppMasterno-code ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๋Š” ์„œ๋ฒ„๋ฆฌ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ ์ˆ˜์‹  ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค ๋ฐ API endpoints ์‹œ๊ฐ์ ์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ ์ˆ˜์‹  ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ์›ํ™œํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”Œ๋žซํผ์€ ํฌ๊ด„์ ์ธ IDE๋กœ ์ž‘๋™ํ•˜์—ฌ ๊ธฐ์ˆ ์  ๋ถ€์ฑ„๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ธํ”„๋ผ ๊ด€๋ฆฌ, ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ, ๋น„์šฉ ์ ˆ๊ฐ์— ๋Œ€ํ•œ ๊ฑฑ์ • ์—†์ด ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

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