AWS MSA ARCHITECTURE

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜(MSA) AWS ๊ธฐ๋ฐ˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด AWS ๊ธฐ๋ฐ˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€ ์†Œ๊ฐ


๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜(MSA)

  • MSA๋ž€? MicroService Architecture ์ž‘๊ณ , ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ๊ฐ๊ฐ์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์„œ๋น„์Šค๋‹จ์œ„, ๊ธฐ๋Šฅ๋‹จ์œ„๋กœ ๊ตฌ์„ฑ๋œ ํ”„๋ ˆ์ž„์›Œํฌ, ์•„ํ‚คํ…์ฒ˜

  • MSAํŠน์ง• ๊ฐ๊ฐ ์ž์ฒด ํ”„๋กœ์„ธ์Šค์—์„œ ์‹คํ–‰ HTTP๊ธฐ๋ฐ˜ API๋กœ ํ†ต์‹  ์ž๋™ํ™”๋œ ๋ฐฐํฌ๋จธ์‹ ์„ ํ†ตํ•ด ๋…๋ฆฝ๋ฐฐํฌ ์ค‘์•™ ์ง‘์ค‘์‹ ๊ด€๋ฆฌ๋Š” ์ตœ์†Œํ™” ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

  • MSA์žฅ์  ์„œ๋น„์Šค ๋ณ„ ๊ฐœ๋ณ„ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฐฐํฌ์‹œ์˜ ์ „์ฒด์„œ๋น„์Šค์˜ ์ค‘๋‹จ์ด ์—†๋‹ค. ํŠน์ • ์„œ๋น„์Šค, ๊ธฐ๋Šฅ์˜ ํ™•์žฅ์„ฑ์ด ์šฉ์ดํ•˜๋‹ค. ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ, ์ „์ฒด ์„œ๋น„์Šค์— ์˜ํ–ฅ์„ ๋ผ์น˜๋Š” ๋ถ€๋ถ„์ด ์ ๋‹ค.

  • MSA๋‹จ์  ๊ธฐ๋Šฅ๋‹จ์œ„์˜ ์‹œ์Šคํ…œ์ด ๋งŽ์•„์ ธ, ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๊ฒŒ๋˜์–ด ์˜ค๋ฅ˜ ๋ฐœ์ƒํ™•์ธ์ด ์–ด๋ ต๋‹ค. ์„œ๋น„์Šค๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธ์™€ ํŠธ๋žœ์žญ์…˜์ด ๋ณต์žกํ•˜๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ์„œ๋น„์Šค์— ๋ถ„์‚ฐ๋˜์–ด์žˆ๊ธฐ๋•Œ๋ฌธ์— ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๋‹ค.

  • ํด๋ผ์šฐ๋“œ ์‹œ์Šคํ…œ์ธ Azure๋Š” ๊ฐœ๋ฐœ ๊ด€๋ฆฌ๋„๊ตฌ์ธ Azure DevOps Services๋‚˜ Azure Portal๋“ฑ์„ ์ด์šฉํ•ด์„œ ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๋ คํ•œ๋‹ค.


AWS ๊ธฐ๋ฐ˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด

  • ๊ธฐ์กด Monolith์•ฑ์˜ ๋‹จ์ 

    • ์•ฑ ํ™•์žฅ์„ฑ์˜ ์–ด๋ ค์›€

    • ์žฅ๊ธฐ ๊ฐœ๋ฐœ ์‚ฌ์ดํด์˜ ์–ด๋ ค์›€

    • ํŠน์ • ๋ชจ๋“ˆ ์žฅ์• ์‹œ์˜ ์šด์˜ ์–ด๋ ค์›€, ์‹ ๊ทœ ๊ธฐ๋Šฅ ์ถ”๊ฐ€์˜ ์–ด๋ ค์›€

  • ๋‹ค์–‘ํ•œ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ๊ตฌ์กฐ ์ง„ํ™”

  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๋Š” ์ž์œ ๋กญ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. EC2๋ฅผ ์ด์šฉํ•ด์„œ ์„œ๋ฒ„์— ์˜ฌ๋ฆฐ๋‹ค๊ฑฐ๋‚˜, ECS container๋ฅผ ์ด์šฉํ•ด Docker์ฒ˜๋Ÿผ ์˜ฌ๋ฆฌ๊ฑฐ๋‚˜, Lambda๋ฅผ ์ด์šฉํ•ด์„œ AWS์˜ ๋‹ค์–‘ํ•œ ์„œ๋น„์ŠคAPI๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, LambdaBlueprints๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ค์–‘ํ•œ ์™ธ๋ถ€ ์„œ๋น„์Šค API๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.


AWS ๊ธฐ๋ฐ˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ๋ชจ๋ฒ” ์‚ฌ๋ก€

API ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ํ•˜์œ„ ํ˜ธํ™˜์„ฑ ์œ ์ง€

lambda๋ฒ„์ „, API gateway์˜ stage๊ธฐ๋Šฅ, stages๋ณ€์ˆ˜๋ฅผ ์กฐํ•ฉํ•˜์—ฌ API์˜ ๋ฒ„์ „์„ ๋‹ค๋ฅด๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.(ํ…Œ์ŠคํŠธ์šฉ ๋“ฑ)

๊ฐ๊ธฐ ๋‹ค๋ฅธ ํด๋ฆฌ๊ทธ๋ž ๊ฐœ๋ฐœ ๋ฐ ์šด์˜ ํ™˜๊ฒฝ

์›Œํฌ๋กœ๋“œ๋ณ„ ์ตœ์ ์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ตฌ์„ฑ Polyglot์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•œ ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ์„ ํƒ

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

  • ํŠธ๋žœ์žญ์…˜ ์—๋Ÿฌ์‹œ์—

    • CorrelationID ํ™œ์šฉ, ํ™˜๊ฒฝ๋ณ€์ˆ˜๊ฐ’์„ ๋„˜๊ฒจ์„œ ๋ถ„๊ธฐ๋ณ„๋กœ ํ™•์ธ

    • ์„œ๋น„์Šค๋ณ„ ์ž์ฒด ๋กค๋ฐฑ ์ œ๊ณต

  • StepFunctions ๊ฐ ๋‹จ๊ณ„๋ฅผ ํŠธ๋ฆฌ๊ฑฐ ๋ฐ ์ถ”์ , ์‹œ๊ฐ์  ์›Œํฌํ”Œ๋กœ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ง€์†์ ์ธ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ๋ชจ๋‹ˆํ„ฐ๋ง

  • API ์™ธ๋ถ€์ ์ธ ์š”์†Œ ๋ชจ๋‹ˆํ„ฐ๋ง Latency, RPS, Error rate

  • API ๋‚ด๋ถ€์ ์ธ ์š”์†Œ ๋ชจ๋‹ˆํ„ฐ๋ง CloudWatch, OS, Application

  • ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์„ฑ CloudWatch๋กœ๊ทธ๋ฅผ Elasticsearch๋กœ

  • ๋ฐ์ดํ„ฐ ๋ฆฌํฌํŒ… ๋ฐ ์‹œ๊ฐํ™” S3์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ Redshift์— ๋„ฃ์–ด QuickSight, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  BI์ฒ˜๋ฆฌํ™” ํ•˜์—ฌ ์‹œ๊ฐํ™”

  • Athena! S3์—์„œ ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ฆฌํฌํŒ…๊ฐ€๋Šฅ!

  • AWS X-Ray ์™„์ „ ๊ด€๋ฆฌํ˜• ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ์ถ”์  ์„œ๋น„์Šค EC2์— ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉ, ์ „์ฒด ๋””๋ฒ„๊น… ๋ฐ ์ถ”์ ์ด ๊ฐ€๋Šฅ

๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค๋ณ„ ๋ณด์•ˆ ๊ฐ•ํ™”

  • ์„œ๋น„์Šค ์ˆ˜์ค€๋ณ„ ๋ฐฉ์–ด

    • ๋„คํŠธ์›Œํฌ ๋ ˆ๋ฒจ VPC, Security Groups, TLS

    • ์„œ๋ฒ„/์ฝ˜ํ…Œ์ด๋„ˆ/์•ฑ ๋ ˆ๋ฒจ WAF, Shield

  • API Gateway ๋ฐฉ์–ด

    • API Throttling

    • API ํ‚ค ๊ด€๋ฆฌ

API ์ƒํƒœ๊ณ„ ํ™•์‚ฐ์„ ํ†ตํ•œ ๋น„์ง€๋‹ˆ์Šค ์ฐฝ์ถœ

  • API Gateway Developer Portal ์™ธ๋ถ€๋กœ APIํ‚ค ๋ฐœ๊ธ‰๋ฐ ๊ด€๋ฆฌ ๋ฐฑ์—”๋“œ ๋ฐฐํฌ

  • API Monetization in MarketPlace API ์„œ๋น„์Šค ํŒ๋งค ๋ฐ ์ˆ˜์ตํ™” ๊ฐ€๋Šฅ

๊ธฐ์ˆ  ๋„ˆ๋จธ ์กฐ์ง์˜ ๋ณ€ํ™”

๊ธฐ๋Šฅ๋ณ„ ์กฐ์ง์—์„œ ์ž์œจ์„ฑ ๋†’์€ ์ฑ…์ž„ ์กฐ์ง์œผ๋กœ

์ž๋™ํ™”

AWS์˜ ๊ฐ์ข… DevOps์ž๋™ํ™” ๋„๊ตฌ



์ฐธ์กฐ

Last updated