99% Jํ˜• ์—”์ง€๋‹ˆ์–ด์™€ ํ•จ๊ป˜ํ•˜๋Š” AWS EKS์™€ GitLab CI/CD ๊ธฐ์ดˆ ์™„๋ฒฝ ์ •๋ณต

์ด๋ก ์ ์ธ ๋‚ด์šฉ๋งŒ ํ•™์Šตํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ํ˜„์—… CI/CD ์—…๋ฌด์˜ ์ „์ฒด์ ์ธ ํฐ ํ‹€์„ ์ง์ ‘ ๊ตฌ์„ฑํ•ด๋ณด๋ฉด์„œ ๋ณธ์งˆ์„ ๋ณด๋Š” ์—ญ๋Ÿ‰์„ ํ‚ค์šธ ์ˆ˜ ์žˆ๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

(4.8) ์ˆ˜๊ฐ•ํ‰ 5๊ฐœ

์ˆ˜๊ฐ•์ƒ 79๋ช…

๋‚œ์ด๋„ ์ค‘๊ธ‰์ด์ƒ

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

๊ฐ•์˜์ž๋ฃŒ
๊ฐ•์˜์ž๋ฃŒ
์‹ค์Šต ์ค‘์‹ฌ
์‹ค์Šต ์ค‘์‹ฌ
๊ฐ•์˜์ž๋ฃŒ
๊ฐ•์˜์ž๋ฃŒ
์‹ค์Šต ์ค‘์‹ฌ
์‹ค์Šต ์ค‘์‹ฌ
์ž‰์นด์ธํ„ฐ๋„ท
๋กฏ๋ฐ์‡ผํ•‘ ์ด์ปค๋จธ์Šค์‚ฌ์—…๋ณธ๋ถ€
๊ฐ€๋น„์•„
wemade
์ฟ ํŒก

์ฟ ํŒก

์ž„์ง์›๋“ค๋„ ์ด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ์–ด์š”!

์ž‰์นด์ธํ„ฐ๋„ท
๋กฏ๋ฐ์‡ผํ•‘ ์ด์ปค๋จธ์Šค์‚ฌ์—…๋ณธ๋ถ€
๊ฐ€๋น„์•„
wemade
์ฟ ํŒก

์ฟ ํŒก

์ž„์ง์›๋“ค๋„ ์ด ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์žˆ์–ด์š”!

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

4.8

5.0

์œ ์พŒํ•œ ์บฅ๊ฑฐ๋ฃจ

64% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์ทจ์ค€์ƒ์œผ๋กœ์„œ ์ด๋ก ์€ ์–ด๋А ์ •๋„ ๊ณต๋ถ€ํ–ˆ์ง€๋งŒ ์‹ค์ œ ๊ตฌํ˜„ ๊ฒฝํ—˜์ด ๋ถ€์กฑํ•ด ๊ณ ๋ฏผ์ด์—ˆ๋Š”๋ฐ, ์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ EKS ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ•๋ถ€ํ„ฐ Gitlab ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ, ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๊ตฌ์ถ•๊นŒ์ง€ ์ „๋ฐ˜์ ์ธ ํ๋ฆ„์„ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์–ด ์ข‹์•˜์–ด์š”.

5.0

Roles

60% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

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

5.0

ericserra

30% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

AWS EKS ๊ตฌ์„ฑ์— ๋Œ€ํ•ด ์ฐจ๊ทผํžˆ ์ค€๋น„ํ•ด๊ฐ€๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ์…”์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ํ›„์† ๊ฐ•์˜๋กœ AWS ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ๋„ AWS Network Firewall ์ด ํฌํ•จ๋œ ์ƒˆ๋กœ์šด ๊ฐ•์˜๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋‹˜ ํ™”์ดํŒ…!!!

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • Gitlab CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ์— ํ•„์š”ํ•œ ์ปดํฌ๋„ŒํŠธ๋“ค์„ ์ œ๊ณต ๋ฐ›๋Š” ๊ฑธ ๊ทธ๋Œ€๋กœ ์“ฐ์ง€ ์•Š๊ณ  ์ง์ ‘ ์ปค์Šคํ…€ํ•˜๊ณ  ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ์ ํŠธ ๋‹จ์œ„ ๋ณ„ ์‹ ๊ฒฝ ์จ์•ผ ํ•  ์ค‘์š”ํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ฐ’๋“ค์„ .env๊ฐ€ ์•„๋‹Œ IRSA๋ฅผ ํ†ตํ•ด ์•ˆ์ „ํ•˜๊ณ  ์Šค๋งˆํŠธ ํ•˜๊ฒŒ ๋ณด์•ˆ์„ ํ–ฅ์ƒ ์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•

  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ์ ํŠธ ๋กœ๊น…์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ํŠน์ • ๋กœ๊ทธ ๋ฐœ์ƒ ์‹œ ์Šฌ๋ž™ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•

  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์—์„œ ๋…ธ๋“œ๋“ค์˜ ๋ฆฌ์†Œ์Šค๋“ค์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์ž„๊ณ„์น˜ ๊ฐ’์„ ์ดˆ๊ณผํ•˜๋ฉด ์Šฌ๋ž™ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•

  • Nest.js ํ”„๋กœ์ ํŠธ์— CI/CD ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ํŒŒ์ดํ”„๋ผ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง


์ž๊ธฐ์†Œ๊ฐœ

์•ˆ๋…•ํ•˜์„ธ์š”.

๋ฐ๋ธŒ์˜ต์Šค,์ธํ”„๋ผ,ํด๋ผ์šฐ๋“œ ํŒŒํŠธ ์ฒซ ๊ฐ•์˜๋ฅผ ์ œ์ž‘ํ•˜๊ฒŒ ๋œ Meiko ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ EKS ํด๋Ÿฌ์Šคํ„ฐ์™€ Gitlab์ด ํ†ตํ•ฉ๋œ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ํ™˜๊ฒฝ์—์„œ ์‹ค์ œ ์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌํ•˜๋Š” ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ๊ด€๋ฆฌ ๋ฐ ์šด์˜ํ•˜๋Š” ์—…๋ฌด ๊ทธ๋ฆฌ๊ณ  DevOps ์กฐ์ง ํ™•์žฅ์— ๋Œ€๋น„ํ•œ ์—…๋ฌด ์š”์ฒญ ํ†ตํ•ฉ ๊ณ„ํš์„ ์„ธ์šฐ๋ฉฐ ํ”Œ๋žซํผ ์—”์ง€๋‹ˆ์–ด๋ง ์ธก๋ฉด์˜ ์ž๋™ํ™” ์—…๋ฌด๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


๊ฐ•์˜ ์ฐธ๊ณ  ์‚ฌํ•ญ ( ๊ธฐ์ˆ ์„ ์ดํ•ดํ•˜๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ•์€ ์ง์ ‘ ๊ตฌํ˜„ ํ•ด๋ณด๋Š” ๊ฒƒ )

์ œ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ํ•ต์‹ฌ ์ด๋ก ์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์„ค๋ช…์€ ์ตœ์†Œํ™” ํ•˜๊ณ  ์‹ค์Šต ์œ„์ฃผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

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

EKS provisioning ์€ EKS Best Practice ๋ฌธ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ ์— ์ดˆ์ ์„ ๋งž์ถ”์—ˆ์Šต๋‹ˆ๋‹ค.

AWS, K8S, Git, Docker ์— ๋Œ€ํ•ด์„œ ์ง€์‹ ๋ฐ ์‹ค์ œ ์‚ฌ์šฉ ๊ฒฝํ—˜์ด ์—†์œผ์‹œ๋‹ค๋ฉด ์กฐ๊ธˆ ๋ฒ…์ฐฐ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ AWS ์„œ๋น„์Šค๋“ค์„ ํ†ตํ•ด ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋“์ดํ•˜๊ฒŒ ๊ณผ๊ธˆ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค.

๊ผญ ๊ฐ•์˜ ์†Œ๊ฐœ ์˜์ƒ์„ ๋ณด์‹œ๊ณ  ๋‚œ ํ›„ ์ˆ˜๊ฐ• ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


๊ฐ•์˜ ์ˆ˜๊ฐ•์— ๋„์šฐ๋ฏธ ์—ญํ• ์„ ํ•ด์ค„ ์ง์ ‘ ๋งŒ๋“  ๋…ธ์…˜ ํ…œํ”Œ๋ฆฟ ์ œ๊ณต

์—ฌ๋Ÿฌ ๊ฐ€์ง€ CLI ํˆด ์„ค์น˜, Gitlab, Slack, DB, Domain ๊ตฌ๋งค ๋“ฑ ์‹ค์Šต ์ „์— ์„ค์น˜ ๋ฐ ์ค€๋น„ํ•ด์•ผ ํ•  ๊ฒƒ๋„ ๋งŽ๊ณ  ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ๋„ ๋งŽ์„ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ! ํŒŒ์›Œ J ์„ฑํ–ฅ์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ์œผ๋กœ์จ ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ• ์‹œ ๋„์šฐ๋ฏธ ์—ญํ• ์„ ํ•ด์ค„ ๋…ธ์…˜ ํ…œํ”Œ๋ฆฟ์„ ์ค€๋น„ํ•˜์˜€์Šต๋‹ˆ๋‹ค!

๊ฐ์ž ํ…œํ”Œ๋ฆฟ์„ ๋ณต์‚ฌํ•˜์…”์„œ Private ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜์„ธ์š”.

( ๊ฐ•์˜์ž๋ฃŒ ์ฐธ์กฐ )

์œ„ ํ…œํ”Œ๋ฆฟ๊ณผ ํ•จ๊ป˜ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ํ•œ๋ฒˆ ์ •๋ฆฌํ•˜๋ฉด์„œ ์ธํ”„๋ผ ์ž‘์—…์— ๋Œ€ํ•œ ๊ณ„ํš์„ ์„ธ์›Œ๋ณด์„ธ์š”!

๊ทธ๋ฆฌ๊ณ  ์ถ”ํ›„์— ๊ฐ์ž ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ์— ์ •๋ฆฌํ•˜์‹œ๋ฉด์„œ ๋‚˜๋งŒ์˜ ์ง€์‹์œผ๋กœ ๋งŒ๋“ค์–ด ๋ณด์‹œ๋Š” ๊ฑธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๊ฐ•์˜๋ฅผ ๋ณด๋ฉฐ ์‹ค์Šต์„ ์ง„ํ–‰ ํ•˜๊ธฐ ์ „์— ์–ด๋””๊นŒ์ง€ ์ค€๋น„๊ฐ€ ๋˜์–ด์•ผ ํ•˜๋Š” ์ง€ ๋ช…์‹œ๋œ ํ•ด๋‹น ํ‹ฐ์ผ“๋“ค์ด ์™„๋ฃŒ ์ฒ˜๋ฆฌ๊ฐ€ ๋˜๋ฉด AWS ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•˜์‹ค ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.


์‹ค์Šต ์ˆœ์„œ

  1. ์‹ค์Šต์— ํ•„์š”ํ•œ ํ•„์ˆ˜์ ์ธ ํˆด ์„ค์น˜ ๋ฐ ์„ค์ •์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  2. AWS Elastic Kubernetes Service ( EKS ) ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ ํ•„์š”ํ•œ AWS service๋“ค์„ eksctl ๋ช…๋ น์–ด๋กœ ์ œ๊ณต๋ฐ›์€ yaml ํŒŒ์ผ๋“ค์„ ์‹คํ–‰์‹œํ‚ค๋ฉด์„œ ๋น ๋ฅด๊ฒŒ provisioning ํ•˜๋Š” ์‹ค์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    1. AWS ์ฝ˜์†”์—์„œ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์€ ์ตœ์†Œํ™” ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  3. kubectl, helm, aws-cli ๋“ฑ ํ•ต์‹ฌ ๋ช…๋ น์–ด๋“ค์„ ์ตํžˆ๋ฉด์„œ ํด๋Ÿฌ์Šคํ„ฐ์— ํ•„์ˆ˜์ ์ธ ์„ค์ • ์ง„ํ–‰

  4. Gitlab Pipeline ์ปค์Šคํ…€

    1. Gitlab Runner ( shared runner ์‚ฌ์šฉ )

    2. Gitlab AutoDevOps

    3. Gitlab AutoDeploy Image

    4. Gitlab Kubernetes Agent

  5. NestJS ํ”„๋กœ์ ํŠธ๋ฅผ 4๋ฒˆ์—์„œ ๊ตฌ์„ฑํ•œ Gitlab Pipeline์„ ํ†ตํ•ด ์ง์ ‘ provisioning ํ•œ EKS์— ๋ฐฐํฌ

  6. NestJS ํ”„๋กœ์ ํŠธ์— IRSA ์™€ AWS Secrets Manager๋ฅผ ํ†ตํ•œ ๋ณด์•ˆ์ด ํ–ฅ์ƒ๋œ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋‹ค๋ฃจ๋Š” ์‹ค์Šต


๋จผ์ € ์ง์ ‘ ํด๋Ÿฌ์Šคํ„ฐ์— ๊ธฐ๋ณธ์ ์ธ ์„ค์ •๊ณผ ํ•„์ˆ˜์ ์ธ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋“ค(Loki, Grafana, Prometheus, Istio ๋“ฑ) ์„ ์ง์ ‘ ๋ฐฐํฌ ํ•ด๋ณธ ํ›„ , Ansible์ด๋‚˜ Terraform ๊ฐ™์€ IAC์— ๋Œ€ํ•œ ๊ฐœ๋… ๋ฐ ์‹ค์Šต์„ ์ง„ํ–‰ํ•ด๋ณด๋ฉด ์™œ ํŽธ๋ฆฌํ•œ ์ง€ ๊ทธ๋ฆฌ๊ณ  ์™œ ์‚ฌ์šฉํ•˜๋Š” ์ง€ ์•„์‹œ๊ฒŒ ๋  ๊ฒƒ ์ž…๋‹ˆ๋‹ค. (์ด๋ฒˆ ๊ฐ•์˜๊ฐ€ ์ž˜ ๋œ๋‹ค๋ฉด(?) ๊ณ„์† ํ›„์† ์‹ฌํ™” ๊ฐ•์˜๋ฅผ ๋งŒ๋“ค ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค)


Slack์— Pipeline ๋ชจ๋‹ˆํ„ฐ๋ง ์•Œ๋ฆผ ์ „์†ก


๋‹ค๋ค„๋ณผ ์ˆ˜ ์žˆ๋Š” AWS ์„œ๋น„์Šค๋“ค


์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ๋„


ํŒŒ์ดํ”„๋ผ์ธ ํ๋ฆ„


์œ„์™€ ๊ฐ™์ด EKS ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์—์„œ ์ค‘์š”ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง๋„ ๊ตฌ์„ฑํ•ด๋ณด๊ณ  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ IAM์„ ์–ด๋–ป๊ฒŒ ์ฃผ์ž…ํ•˜๋Š” ์ง€ ๊ทธ๋ฆฌ๊ณ  ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„์— ๋Œ€ํ•ด์„œ๋„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋‚˜๋ฉด, ๋ฐ๋ธŒ์˜ต์Šค ์—…๋ฌด ํ๋ฆ„์— ๋Œ€ํ•œ ๊นŠ์ด ์žˆ๋Š” ์ดํ•ด๋ฅผ ํ•˜์‹ค ์ˆ˜ ์žˆ์„ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.


์ด๋ฒˆ ๊ฐ•์˜์—์„œ ๋‹ค๋ฃจ์ง€ ์•Š๋Š” ๋‚ด์šฉ



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


๋˜ํ•œ ์ธํ”„๋ผ provisioning ๋ฐ configuration ์„ธํŒ…์— ํ•„์š”ํ•œ IAC ์ธ ํ…Œ๋ผํผ์ด๋‚˜ ์•ค์„œ๋ธ”๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


๋งˆ์ง€๋ง‰์œผ๋กœ ๋น„์šฉ์ ์ธ ์ธก๋ฉด๊ณผ ์‹ค์Šต ๋ณต์žก๋„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์€ AWS ์„œ๋น„์Šค๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋น„์‹ธ์ง€ ์•Š์€ ๊ฒƒ๋„ ์žˆ์ง€๋งŒ ์ตœ๋Œ€ํ•œ ํ•„์ˆ˜์ ์ธ ์„œ๋น„์Šค๋“ค๋งŒ ๊ณ ๋ คํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  1. Bastion-Host ( EC2 ) ๋ฅผ ํผ๋ธ”๋ฆญ ์„œ๋ธŒ๋„ท์— ๋ฐฐ์น˜์‹œํ‚ค๊ณ  ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์— SSH ์ ‘์†์„ ํ•˜์—ฌ ์ด๋ฅผ ๊ฒฝ์œ ํ•ด ํด๋Ÿฌ์Šคํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์˜ณ์ง€๋งŒ, ์ธํ”„๋ผ ๊ตฌ์„ฑ์— ์ดˆ์ ์ด ๋งž์ถ”์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆํ•„์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ ๊ตฌ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋กœ์ปฌ์—์„œ IAM์„ ํ†ตํ•ด ํด๋Ÿฌ์Šคํ„ฐ Control Plane ์— ์žˆ๋Š” API Server์— ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์‹์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. DB๋Š” RDS๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  Superbase ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ฌด๋ฃŒ DB ( Postgres) ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค

    1. ์ด DB endpoint ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ env๊ฐ€ ์•„๋‹ˆ๋ผ AWS Secrets Manager์— Secret์œผ๋กœ ํ•˜๋‚˜๋งŒ ์ƒ์„ฑํ•˜์—ฌ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŒŒ๋“œ๊ฐ€ ๋œฐ ๋•Œ ๊ฐ’์„ ๋ฐ›์•„์™€์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์˜ ์‹ค์Šต์„ ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

  2. Registry๋„ ECR์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  Gitlab Registry๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋ฐฐ์›Œ์š”

Gitlab CI/CD ํŒŒ์ดํ”„๋ผ์ธ ์ปค์Šคํ…€์— ๋Œ€ํ•œ ๋‚ด์šฉ

Gitlab์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ๋“ค(Gitlab auto devops, auto deploy ) ์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ง์ ‘ ์ปค์Šคํ…€ ํ•˜์—ฌ ์š”๊ตฌ์‚ฌํ•ญ์— ๋งž๊ฒŒ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•˜๊ณ  ์ ์šฉ ํ•ด๋ณด๋Š” ์‹ค์Šต์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์•Œ๋ฆผ ์‹œ์Šคํ…œ ๊ตฌ์ถ•์— ๋Œ€ํ•œ ๋‚ด์šฉ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์˜ Obsability์˜ ๋Œ€ํ‘œ์ ์ธ PLG stack ( Prometheus, Loki, Grafana )์„ ์„ธํŒ…ํ•ด๋ณผ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

EFS CSI ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Amazon EFS(EFS)๋ฅผ Persistent Volume(PV)์œผ๋กœ ์„ค์ •ํ•œ ํ›„, Persistent Volume Claim(PVC)์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ PV์— ๋ฐ”์ธ๋”ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์†์‹ค์„ ๋ฐฉ์ง€ํ•˜๋Š” ์‹ค์Šต์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์—์„œ ์—๋Ÿฌ ๋˜๋Š” ์ค‘์š”ํ•œ ๋กœ๊ทธ๋“ค์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋ฐ”๋กœ ๋Œ€์‘์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šฌ๋ž™ ์•Œ๋ฆผ ์„ค์ • ๊ทธ๋ฆฌ๊ณ  ๋…ธ๋“œ์˜ ์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋“ค์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๊ณ  ์„ค์ •ํ•œ ์ž„๊ณ„์น˜ ๊ฐ’์„ ๋„˜์—ˆ์„ ๋•Œ ์Šฌ๋ž™ ์•Œ๋ฆผ ์„ค์ • ๋“ฑ ์˜ ์‹ค์Šต์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๊ด€๋ฆฌ๋ฅผ env ํŒŒ์ผ์ด ์•„๋‹ˆ๋ผ ๋น„๋ฐ€๊ฐ’๋“ค์„ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋‚ด์šฉ

๋จผ์ € AWS ์—์„œ ์ค‘์š”ํ•œ ๋‚ด์šฉ์ธ ์žฅ๊ธฐ ์ž๊ฒฉ ์ฆ๋ช… ๊ณผ ์ž„์‹œ ์ž๊ฒฉ ์ฆ๋ช…์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

AWS SecretsManager ์— secret์„ ์ƒ์„ฑํ•˜๊ณ  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฆฌ์†Œ์Šค ์ค‘ ํ•˜๋‚˜์ธ Service Account๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ตœ์†Œ ๊ถŒํ•œ ์›์น™์„ ์ ์šฉํ•˜๊ณ  ํŒŒ๋“œ ๋ณ„ ์—ญํ• ์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•˜๋Š” ์‹ค์Šต์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „(OS): MacOS M2 Pro 14


  • IDE : Webstorm

  • ์ธํ”„๋ผ ํ™˜๊ฒฝ : AWS, AWS EKS, GItlab

ํ•™์Šต ์ž๋ฃŒ

  • ์ œ๊ณตํ•˜๋Š” ํ•™์Šต ์ž๋ฃŒ ํ˜•์‹: Notion ํ…œํ”Œ๋ฆฟ์— ๊ฐ•์˜ ์ž๋ฃŒ ์ œ๊ณต

  • ๋ถ„๋Ÿ‰ ๋ฐ ์šฉ๋Ÿ‰: ๊ฐ ์„น์…˜๋ณ„๋กœ ์ž๋ฃŒ ์ œ๊ณต

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • AWS , NestJS, k8s, docker

    ๊ธฐ๋ณธ ์ดํ•ด


  • AWS๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์Šต ํ›„ ๋ฆฌ์†Œ์Šค๋ฅผ ์ž˜ ์‚ญ์ œํ•˜์—ฌ ๊ณผ๊ธˆ์— ์ฃผ์˜ํ•˜์„ธ์š”


  • ์ฝ”๋“œ ๋ฌด๋‹จ ๋ฐฐํฌ ๋ฐ ๋ณต์ œ๋ฅผ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต ์ž๋ฃŒ ์—ญ์‹œ ์ €์ž‘๊ถŒ์ด ์žˆ์œผ๋ฉฐ, ๊ฐœ์ธ์ ์ธ ํ•™์Šต ๋ชฉ์  ์™ธ ์‚ฌ์šฉ์„ ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • Gitlab CI/CD ํŒŒ์ดํ”„๋ผ์ธ์„ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•ด๋ณด๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ

  • ์ธํ”„๋ผ ๋ฌธ์„œํ™”์— ๋งŽ์€ ์‹œ๊ฐ„์„ ์“ฐ๋Š” ๋ฐ”๋žŒ์— ์ข€ ๋” ํšจ์œจ์ ์œผ๋กœ ์‹œ๊ฐ„์„ ์“ฐ๊ณ  ์‹ถ์€ ๊ฐœ๋ฐœ์ž

  • ํ˜„์—…์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” CI/CD ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•์ด ๋ฌด์—‡์ธ์ง€ ๊ถ๊ธˆํ•œ ์‚ฌ๋žŒ

  • ์ˆ˜๋™ ๋ฐฐํฌ ๊ฒฝํ—˜์„ ํ†ตํ•ด ์ž๋™ ๋ฐฐํฌ์— ๋Œ€ํ•œ ๋‹ˆ์ฆˆ๊ฐ€ ์žˆ๋Š” ์‚ฌ๋žŒ

  • ๊ธฐ์กด์˜ CI/CD ํ™˜๊ฒฝ ๊ฐœ์„ ์„ ํ†ตํ•ด ํšŒ์‚ฌ์— ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Kubernetes

  • NestJS

  • AWS

  • Linux basic command

  • Docker

  • Git

์•ˆ๋…•ํ•˜์„ธ์š”
Meiko์ž…๋‹ˆ๋‹ค.

์ปค๋ฆฌ์–ด์ธ์ฆ

79

๋ช…

์ˆ˜๊ฐ•์ƒ

5

๊ฐœ

์ˆ˜๊ฐ•ํ‰

3

๊ฐœ

๋‹ต๋ณ€

4.8

์ 

๊ฐ•์˜ ํ‰์ 

1

๊ฐœ

๊ฐ•์˜

์ž๊ธฐ์†Œ๊ฐœ

 

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

๊ฒฝ๋ ฅ

[ๅ‰] Blockchain Backend / Contract Developer

[็พ] Blockchain Mainnet DevOps Engineer

 

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

70๊ฐœ โˆ™ (4์‹œ๊ฐ„ 20๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

5๊ฐœ

4.8

5๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • Roles๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    Roles

    ์ˆ˜๊ฐ•ํ‰ 8

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    60% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

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

    • Meiko
      ์ง€์‹๊ณต์œ ์ž

      ์ทจ์—… ์ค€๋น„์— ํฐ ๋„์›€์ด ๋˜์…จ๋‹ค๋‹ˆ ๋‹คํ–‰์ž…๋‹ˆ๋‹ค! ๋…ธ์…˜ ํ…œํ”Œ๋ฆฟ๋„ ์œ ์šฉํ•˜์‹œ๋‹ค๋‹ˆ ๊ธฐ๋ถ„์ด ์ข‹์Šต๋‹ˆ๋‹ค~~ ์•ž์œผ๋กœ ๊ฐ•์˜๋Š” ๊ณ„์† ์ด๋Ÿฐ ์‹์œผ๋กœ ์ œ๊ณตํ•ด๋“œ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋” ์•Œ์ฐฌ ํ›„์† ๊ฐ•์˜ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

  • ๊ธฐ์šด๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    ๊ธฐ์šด

    ์ˆ˜๊ฐ•ํ‰ 1

    โˆ™

    ํ‰๊ท  ํ‰์  5.0

    5

    30% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ํ€„๋ฆฌํ‹ฐ ์žˆ๋Š” ๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

    • ์œ ์พŒํ•œ ์บฅ๊ฑฐ๋ฃจ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
      ์œ ์พŒํ•œ ์บฅ๊ฑฐ๋ฃจ

      ์ˆ˜๊ฐ•ํ‰ 14

      โˆ™

      ํ‰๊ท  ํ‰์  4.9

      5

      64% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

      ์ทจ์ค€์ƒ์œผ๋กœ์„œ ์ด๋ก ์€ ์–ด๋А ์ •๋„ ๊ณต๋ถ€ํ–ˆ์ง€๋งŒ ์‹ค์ œ ๊ตฌํ˜„ ๊ฒฝํ—˜์ด ๋ถ€์กฑํ•ด ๊ณ ๋ฏผ์ด์—ˆ๋Š”๋ฐ, ์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ EKS ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์ถ•๋ถ€ํ„ฐ Gitlab ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์„ฑ, ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๊ตฌ์ถ•๊นŒ์ง€ ์ „๋ฐ˜์ ์ธ ํ๋ฆ„์„ ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์–ด ์ข‹์•˜์–ด์š”.

      • Meiko
        ์ง€์‹๊ณต์œ ์ž

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

    • ericserra๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
      ericserra

      ์ˆ˜๊ฐ•ํ‰ 100

      โˆ™

      ํ‰๊ท  ํ‰์  4.9

      5

      30% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

      AWS EKS ๊ตฌ์„ฑ์— ๋Œ€ํ•ด ์ฐจ๊ทผํžˆ ์ค€๋น„ํ•ด๊ฐ€๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ์…”์„œ ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ํ›„์† ๊ฐ•์˜๋กœ AWS ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ๋„ AWS Network Firewall ์ด ํฌํ•จ๋œ ์ƒˆ๋กœ์šด ๊ฐ•์˜๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ•์‚ฌ๋‹˜ ํ™”์ดํŒ…!!!

      • Meiko
        ์ง€์‹๊ณต์œ ์ž

        ์•ˆ๋…•ํ•˜์„ธ์š”! ์ •์„ฑ ๊ฐ€๋“ํ•œ ํ›„๊ธฐ ์ •๋ง ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ์ง€๊ธˆ ํ›„์† ๊ฐ•์˜๋„ ์ค€๋น„ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์€ istio์ž…๋‹ˆ๋‹ค! ์ถ”ํ›„ ๋„์›€์ด ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ง์”€ํ•˜์‹  AWS ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ๋„ ์ œ๊ฐ€ ํ˜„์—…์—์„œ ๊ฒฝํ—˜ํ•˜๊ณ  ๊ณต์œ ํ•˜๊ฒŒ ๋˜๋ฉด ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

    • ๊น€์˜์ค‘๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
      ๊น€์˜์ค‘

      ์ˆ˜๊ฐ•ํ‰ 9

      โˆ™

      ํ‰๊ท  ํ‰์  4.6

      4

      100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

      ๊ฐ•์˜์ž๋ฃŒ๋ฅผ ๋…ธ์…˜์œผ๋กœ ์ œ๊ณตํ•ด์ค€ ์ ์ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๊ฐ•์˜ ์‹œ๊ฐ„๋Œ€๋น„ ๊ฐ€๊ฒฉ์ด ๋‹ค์†Œ ์žˆ๋Š”ํŽธ์ด๋ผ ๊ทธ ์ ์€ ์•„์‰ฌ์› ์Šต๋‹ˆ๋‹ค.

      • Meiko
        ์ง€์‹๊ณต์œ ์ž

        ๋…ธ์…˜์œผ๋กœ ์ œ๊ณตํ•ด๋“œ๋ฆฐ ๊ฒŒ ๋งˆ์Œ์— ๋“œ์…”์„œ ๋‹คํ–‰์ด๋„ค์š” ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ•์˜ ๊ฐ€๊ฒฉ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” gitlab cicd์™€ k8s๋ฅผ ์‹ค๋ฌด ๋А๋‚Œ์œผ๋กœ ํ•จ๊ป˜ ๋‹ค๋ฃจ๋Š” ๊ฐ•์˜๊ฐ€ ์—†์–ด ๊ฒฝ์Ÿ๋ ฅ์ด ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์— ๊ณ„ํš ์ค‘์ธ istio ๊ฐ•์˜๋Š” ์ข€ ๋‚ฎ์ถฐ์„œ ์˜ฌ๋ ค๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

    ๋น„์Šทํ•œ ๊ฐ•์˜

    ๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!