AWS MSA ARCHITECTURE
Last updated
Last updated
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ(MSA) AWS ๊ธฐ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ ํจํด AWS ๊ธฐ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ ๋ชจ๋ฒ ์ฌ๋ก ์๊ฐ
MSA๋? MicroService Architecture ์๊ณ , ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ๊ฐ๊ฐ์ ๊ธฐ๋ฅ์ ์ํํ๋ ์๋น์ค๋จ์, ๊ธฐ๋ฅ๋จ์๋ก ๊ตฌ์ฑ๋ ํ๋ ์์ํฌ, ์ํคํ ์ฒ
MSAํน์ง ๊ฐ๊ฐ ์์ฒด ํ๋ก์ธ์ค์์ ์คํ HTTP๊ธฐ๋ฐ API๋ก ํต์ ์๋ํ๋ ๋ฐฐํฌ๋จธ์ ์ ํตํด ๋ ๋ฆฝ๋ฐฐํฌ ์ค์ ์ง์ค์ ๊ด๋ฆฌ๋ ์ต์ํ ์๋ก ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๊ฐ๋ฐ ๊ฐ๋ฅ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ์ฅ ๊ธฐ์ ์ ์ฌ์ฉ ๊ฐ๋ฅ
MSA์ฅ์ ์๋น์ค ๋ณ ๊ฐ๋ณ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๋ค. ๋ฐฐํฌ์์ ์ ์ฒด์๋น์ค์ ์ค๋จ์ด ์๋ค. ํน์ ์๋น์ค, ๊ธฐ๋ฅ์ ํ์ฅ์ฑ์ด ์ฉ์ดํ๋ค. ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ, ์ ์ฒด ์๋น์ค์ ์ํฅ์ ๋ผ์น๋ ๋ถ๋ถ์ด ์ ๋ค.
MSA๋จ์ ๊ธฐ๋ฅ๋จ์์ ์์คํ ์ด ๋ง์์ ธ, ์ธํฐํ์ด์ค์ ์๊ฐ ๋์ด๋๊ฒ๋์ด ์ค๋ฅ ๋ฐ์ํ์ธ์ด ์ด๋ ต๋ค. ์๋น์ค๊ฐ ๋ถ๋ฆฌ๋์ด ์๊ธฐ ๋๋ฌธ์ ํ ์คํธ์ ํธ๋์ญ์ ์ด ๋ณต์กํ๋ค. ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ์๋น์ค์ ๋ถ์ฐ๋์ด์๊ธฐ๋๋ฌธ์ ๊ด๋ฆฌ๊ฐ ์ด๋ ต๋ค.
ํด๋ผ์ฐ๋ ์์คํ ์ธ Azure๋ ๊ฐ๋ฐ ๊ด๋ฆฌ๋๊ตฌ์ธ Azure DevOps Services๋ Azure Portal๋ฑ์ ์ด์ฉํด์ ์ด๋ฌํ ๋จ์ ์ ๊ทน๋ณตํ๋ คํ๋ค.
๊ธฐ์กด Monolith์ฑ์ ๋จ์
์ฑ ํ์ฅ์ฑ์ ์ด๋ ค์
์ฅ๊ธฐ ๊ฐ๋ฐ ์ฌ์ดํด์ ์ด๋ ค์
ํน์ ๋ชจ๋ ์ฅ์ ์์ ์ด์ ์ด๋ ค์, ์ ๊ท ๊ธฐ๋ฅ ์ถ๊ฐ์ ์ด๋ ค์
๋ค์ํ ๋ง์ดํฌ๋ก ์๋น์ค ๊ตฌ์กฐ ์งํ
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ ์์ ๋กญ๊ฒ ๋ง๋ค ์ ์๋ค. EC2๋ฅผ ์ด์ฉํด์ ์๋ฒ์ ์ฌ๋ฆฐ๋ค๊ฑฐ๋, ECS container๋ฅผ ์ด์ฉํด Docker์ฒ๋ผ ์ฌ๋ฆฌ๊ฑฐ๋, Lambda๋ฅผ ์ด์ฉํด์ AWS์ ๋ค์ํ ์๋น์คAPI๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, LambdaBlueprints๋ฅผ ์ด์ฉํด์ ๋ค์ํ ์ธ๋ถ ์๋น์ค API๋ฅผ ์ด์ฉํด์ ๊ฐ๋ฐํ ์ ์๋ค.
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์๋ํ ๋๊ตฌ
์ฐธ์กฐ
https://www.youtube.com/watch?v=_8ylg-DLnBY ์ค์์ฐฌ ํ ํฌ ์๋ฐ์ ค๋ฆฌ์คํธ(AWS ์ฝ๋ฆฌ์) ๊ฐ์ฐ ์ฐธ์กฐ