๊ฑฐ๋ํ ๋ชจ๋๋ฆฌ์(monolith) ์ฑ์ ๋ฐฐํฌ๊ฐ ํ ๋ฉ์ด๋ฆฌ๋ผ์ ์์ ์์ ๋ ์ ์ฒด ์ฌ๋ฐฐํฌ๊ฐ ํ์ํจ.
ํ ๊ท๋ชจ๊ฐ ์ปค์ง๋ฉด ์ฝ๋ ์ถฉ๋, ๋น๋ ์๊ฐ ์ฆ๊ฐ, ๋ฆด๋ฆฌ์ค ์กฐ์จ ์ง์ฅ.
๋๋ฉ์ธ๋ณ ์ฑ๊ฒฉ์ด ๋ค๋ฅธ๋ฐ๋ ํ ๊ฐ์ง ๊ธฐ์ ์คํ/DB๋ก ๋ฌถ์ฌ ๋ณ๋ชฉ ๋ฐ์.
์ฅ์ ์ ์ ์ฒด๊ฐ ์ํฅ ๋ฐ๋ ์ทจ์ฝํ ๋ณต์๋ ฅ.
๋๋ฉ์ธ ๋จ์์ ์์ ์๋น์ค๋ก ์ชผ๊ฐ๊ณ , ๊ฐ ์๋น์ค๋ ๋ ๋ฆฝ ๋ฐฐํฌ/ํ์ฅ ๊ฐ๋ฅ.
์๋น์ค๋ณ ๋ฐ์ดํฐ ๋ ๋ฆฝ(โDB-per-serviceโ), ๋์จํ ๊ฒฐํฉ, ๋ช ์์ ํต์ (API/์ด๋ฒคํธ).
ํ๋ ์๋น์ค ๋จ์๋ก ์์ ์์ (you build it, you run it).
์ฅ์
ํ/๊ธฐ๋ฅ ๋จ์ ๋ ๋ฆฝ ๊ฐ๋ฐยท๋ฐฐํฌ, ์ฅ์ ๊ฒฉ๋ฆฌ, ํ์ ์๋น์ค๋ง ์ํ ํ์ฅ.
๊ธฐ์ ์ด๊ธฐ์ข ํ์ฉ(Java ์์ Python ๋ฑ), ๊ฐ์์ ์ต์ ๋๊ตฌ ์ฌ์ฉ.
๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ(DDD)์ Bounded Context์ ์ฐฐ๋ก๊ถํฉ.
๋จ์
๋ถ์ฐ ์์คํ ๋ณต์ก๋(๋คํธ์ํฌ, ๋ฐ์ดํฐ ์ผ๊ด์ฑ, ๋๋ฒ๊น ).
์ค๋ฒํค๋: API ํธ์ถ ๋น์ฉ, ์ด์/๋ชจ๋ํฐ๋ง ์ธํ๋ผ๊ฐ ํ์.
์๋ชป ์ชผ๊ฐ๋ฉด Distributed Monolith(๋ถ์ฐ๋ผ ์๋๋ฐ ์๋ก ๊ฐ๊ฒฐํฉ)
ํ/๋๋ฉ์ธ์ด ๋ช ํํ ๋ถ๋ฆฌ๋๊ณ ๋ฆด๋ฆฌ์ค ๋น๋๊ฐ ๋์ ๋.
๊ธฐ๋ฅ๋ณ ํธ๋ํฝ ํธ์ฐจ๊ฐ ์ปค์ ๋ถ๋ถ ํ์ฅ์ด ํ์ํ ๋.
๋ฐ๋๋ก ์ด๊ธฐ ์๊ท๋ชจ MVP๋ผ๋ฉด ๋ชจ๋๋ฆฌ์ + ๋ชจ๋ํ๊ฐ ๋ ๋น ๋ฅด๊ณ ์์ .
๊ฒฝ๊ณ ์ค์ : Bounded Context ๋จผ์ , ๊ทธ๋ค์ ์๋น์ค ์ชผ๊ฐ๊ธฐ.
์:
โ์ฃผ๋ฌธ(Order)โ์ด ์ผํ๋ชฐ ์ปจํ ์คํธ์์๋ โ๊ณ ๊ฐ์ด ์ฅ๋ฐ๊ตฌ๋๋ฅผ ๊ฒฐ์ ํ ๊ธฐ๋กโ์ ๋ปํ์ง๋ง,
๋ฐฐ์ก ์ปจํ ์คํธ์์๋ โ๋ฐฐ์กํด์ผ ํ ๋ฌผํ ๋ชฉ๋กโ์ด๋ผ๋ ๋ค๋ฅธ ์๋ฏธ๋ก ์ฐ์ผ ์ ์์.
๋ฐ๋ผ์ ์ฃผ๋ฌธ(Order)์ด๋ผ๋ ๊ฐ์ ๋จ์ด๋ Bounded Context๊ฐ ๋ค๋ฅด๋ฉด ๋ค๋ฅธ ๋ชจ๋ธ์ด ๋ ์ ์์.
ํต์ : ๋๊ธฐ ์ต์ํ, ๊ฐ๋ฅํ๋ฉด ์ด๋ฒคํธ ์ค์ฌ.
๋ฐ์ดํฐ: ๊ณต์ ์คํค๋ง ๊ธ์ง
์๋ฏธ: ์๋ก ๋ค๋ฅธ ์๋น์ค๋ค์ด ํ๋์ ๊ณต์ฉ DB ํ ์ด๋ธ์ด๋ ์คํค๋ง๋ฅผ ์ง์ ๊ณต์ ํ์ง ์๋๋ค๋ ์์น.
์๋๋ฉด?
์๋น์ค ๊ฐ ๊ฒฐํฉ๋๊ฐ ๋์์ง โ ํ๋๊ฐ ๋ฐ๋๋ฉด ๋ค๋ฅธ ์๋น์ค๋ ๊นจ์ง.
๋ ๋ฆฝ ๋ฐฐํฌ, ๋ ๋ฆฝ ํ์ฅ์ด ๋ถ๊ฐ๋ฅํด์ง.
๋์: ์๋น์ค๋ง๋ค ์๊ธฐ DB๋ฅผ ์์ ํ๊ณ , ์๊ธฐ ๋ฐ์ดํฐ๋ ์๊ธฐ๋ง ์ฑ ์์ง.
๋น์ : ์์ทจ๋ฐฉ ์ด๋ฉด์ ๋์ฅ๊ณ ๋ฅผ ๋ฐ๋ก ์ฐ๋ ๊ฒ. ๊ณต์ฉ ๋์ฅ๊ณ ์ฐ๋ฉด ๋๊ฐ ๋ฐ๊ฟ๋จ๋์ง ๋ชจ๋ฅด๊ณ ๋งจ๋ ์ธ์๋จ
์ ๋ขฐ์ฑ: Idempotency ํค, ์ฌ์๋ ๊ท์น, ์ํท ๋ธ๋ ์ด์ปค.
Idempotency ํค (๋ฉฑ๋ฑ์ฑ ํค) - ๊ฐ์ ์์ฒญ์ ์ฌ๋ฌ ๋ฒ ์ฒ๋ฆฌํด๋ ๊ฒฐ๊ณผ๊ฐ ํ ๋ฒ ์ฒ๋ฆฌํ ๊ฒ๊ณผ ๋์ผํ๊ฒ ๋ณด์ฅ๋๋ ์ฑ์ง.
์ฌ์๋ ๊ท์น - ์คํจํ ์์ฒญ์ ์ผ์ ๊ท์น์ ๋ฐ๋ผ ๋ค์ ์๋ํ๋ ๋ฐฉ์.๋ง์ดํฌ๋ก์๋น์ค ํ๊ฒฝ์์๋ ๋คํธ์ํฌ ์ผ์ ์ฅ์ ๊ฐ ํํจ. โ ํ ๋ฒ ๋ ์๋ํ๋ฉด ์ฑ๊ณตํ ํ๋ฅ ์ด ๋์
์ํท ๋ธ๋ ์ด์ปค - ๋ง์น ์ ๊ธฐ ์ฐจ๋จ๊ธฐ์ฒ๋ผ, ํน์ ์๋น์ค๊ฐ ๊ณ์ ์คํจํ๋ฉด ์ฐ๊ฒฐ์ ๋๊ณ ์ ์ ๋๊ธฐํ๋ ํจํด, ์ฅ์ ๋ ์๋น์ค๋ฅผ ๊ณ์ ๋๋๋ฆฌ๋ฉด ์๊ธฐ ๋ฆฌ์์ค๊น์ง ๊ณ ๊ฐ๋จ
๊ด์ธก์ฑ: ๋ถ์ฐ ํธ๋ ์ด์ฑ(OpenTelemetry), ํ์ค ๋ก๊น /๋ฉํธ๋ฆญ.
๋ถ์ฐ ํธ๋ ์ด์ฑ(OpenTelemetry) - ๋ง์ดํฌ๋ก์๋น์ค๋ ์์ฒญ ํ๋๊ฐ ์ฌ๋ฌ ์๋น์ค๋ฅผ ๊ฑฐ์ณ ์ฒ๋ฆฌ๋จ, ์ฃผ๋ฌธ -> ๊ฒฐ์ ->์ถ๊ณ ->๋ฐฐ์ก, ์ด ์ค ์ด๋์ ์ง์ฐ์ด ์๊ฒผ๋์ง ์ฐพ๊ธฐ ์ด๋ ค์.
๋ถ์ฐ ํธ๋ ์ด์ฑ์ ์์ฒญ์ด ํ๋ฌ๊ฐ๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ Trace ID๋ฅผ ๋ถ์ด๊ณ , ๊ฐ ์๋น์ค๊ฐ ์ด Trace ID๋ก ์๊ธฐ ์์ ์ ๊ธฐ๋ก.
ํ์ค ๋ก๊น /๋ฉํธ๋ฆญ - ์๋น์ค๋ง๋ค ๋ก๊ทธ ํ์ ์ ๊ฐ๊ฐ์ด๋ฉด, ์ฅ์ ๋ถ์ํ ๋ ๋ก๊ทธ๋ฅผ ํฉ์ณ ๋ณผ ์ ์์.Timestamp, Trace ID/Span ID, Log Level(INFO/ERROR), ๋ฑ
๋ฉํธ๋ฆญ - ์๋น์ค์ ๋น์ฆ๋์ค ์ํ๋ฅผ ์์น๋ก ๋ชจ๋ํฐ๋ง, ์์คํ ๋ฉํธ๋ฆญ: CPU, ๋ฉ๋ชจ๋ฆฌ, ๋คํธ์ํฌ I/O, ์ ํ๋ฆฌ์ผ์ด์ ๋ฉํธ๋ฆญ: ์์ฒญ ์, ํ๊ท ์๋ต ์๊ฐ, ์๋ฌ์จ
๋ณด์: ์ ๋ก ํธ๋ฌ์คํธ, mTLS, JWT, RBAC.
์ ๋ก ํธ๋ฌ์คํธ - โ๋ด๋ถ ๋คํธ์ํฌ๋ ์์ ํ๋คโ๋ ๊ฐ์ ์ ๋ฒ๋ฆฌ๊ณ , ๋ชจ๋ ์์ฒญ์ ํญ์ ๊ฒ์ฆํด์ผ ํ๋ค๋ ์์น.
ํ์ฌ ๊ฑด๋ฌผ ์์ ๋ค์ด์์ด๋, ์ฌ๋ฌด์คยท์๋ฒ์คยท์ฐฝ๊ณ ๋ง๋ค ์ถ์ ์นด๋ ๋ฐ๋ก ์ฐ์ด์ผ ๋ค์ด๊ฐ ์ ์๋ ๋๋.
mTLS (mutual Transport Layer Security) - TLS(HTTPS)์ฒ๋ผ ์๋ฒ๋ง ์ธ์ฆํ๋ ๊ฒ ์๋๋ผ, ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์๋ก ์ธ์ฆํ๋ ๋ฐฉ์. ํต์ ๊ฒฝ๋ก ์ํธํ + ์๋น์ค ๊ฐ ์ ๋ขฐ์ฑ ํ๋ณด.
JWT (JSON Web Token) - ์ฌ์ฉ์ ์ธ์ฆยท์ธ๊ฐ ์ ๋ณด๋ฅผ ๋ด์ ์๋ช ๋ ํ ํฐ.ํด๋ผ์ด์ธํธ๊ฐ ๋ก๊ทธ์ธ โ ์๋ฒ๊ฐ JWT ๋ฐ๊ธ โ ํด๋ผ์ด์ธํธ๊ฐ ์ดํ ์์ฒญ๋ง๋ค JWT ํค๋์ ํฌํจ.์๋ฒ๋ DB๋ฅผ ๋ค์ ์กฐํํ ํ์ ์์ด ํ ํฐ๋ง ๊ฒ์ฆํด๋ ์ฌ์ฉ์ ๊ถํ ํ์ธ ๊ฐ๋ฅ.๋์ด๊ณต์ ์ ์ฅํ ๋ ์๋ชฉ๋ฐด๋ ์ฐจ๊ณ ๋ค๋๋ ๊ฑฐ. ์ผ์ผ์ด ์ ๋ถ์ฆ ํ์ธํ ํ์ ์์.
RBAC (Role-Based Access Control) - ์ฌ์ฉ์์ ๊ถํ์ ๊ฐ์ธ ๋จ์๊ฐ ์๋๋ผ ์ญํ (Role) ๋จ์๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ์.Admin โ ๋ชจ๋ ์๋น์ค ์ ๊ทผ ๊ฐ๋ฅ, Manager โ ์ฃผ๋ฌธ/๋ฐฐ์ก๋ง ์ ๊ทผ ๊ฐ๋ฅ, User โ ์๊ธฐ ๊ณ์ ๊ด๋ จ ๋ฐ์ดํฐ๋ง ์ ๊ทผ ๊ฐ๋ฅ
ํ ์คํธ: ์๋น์ ์ฃผ๋ ๊ณ์ฝ ํ ์คํธ(Contract Test) ํ์.
์๋น์ ์ฃผ๋ (Cunsumer-Driven) - ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ ์ชฝ(Consumer)์ด "๋ด๊ฐ ์ด API์์ ํ์ํ ๊ฑด ์ด ํ๋์ ์๋ต์ด๋คโ๋ฅผ ๊ณ์ฝ์ผ๋ก ์ ์.Provider(์ ๊ณต์)๋ ์ด ๊ณ์ฝ์ ๋ฐ๋์ ์ถฉ์กฑ์์ผ์ผ ํจ. ์ฆ, ๊ณ์ฝ์ ๊ธฐ์ค์ Provider๊ฐ ์๋๋ผ Consumer. Provider๋ ์๊ธฐ ์ ์ฅ์์ ๋ถํ์ํ๋ค๊ณ ์๊ฐํ๋ ํ๋๋ฅผ ์์จ ์ ์์ง๋ง, Consumer ์ ์ฅ์์๋ ๊ทธ๊ฒ ํต์ฌ์ผ ์ ์์.
๊ณ์ฝ ํ
์คํธ(Contract Test) - ์๋น์ค ๊ฐ์ ์ฝ์(๊ณ์ฝ, Contract: ์์ฒญ/์๋ต ํ์, ํ๋ ๋ฑ)์ด ์ ๋๋ก ์ง์ผ์ง๋์ง ๊ฒ์ฆํ๋ ํ
์คํธ.POST /payment
โ { "amount": number, "currency": string }
โ ์๋ต { "status": "OK" }
๋ฐฐํฌ: Canary/Blue-Green, ํ์ดํ๋ผ์ธ ์๋ํ
์๋ ๋ฐฐํฌ (Manual Deployment) - ๊ฐ๋ฐ์๊ฐ ์ง์ ๋น๋ ๊ฒฐ๊ณผ๋ฌผ(.jar
, .war
, ๋ฐ์ด๋๋ฆฌ ๋ฑ)์ ์ถ์ถ โscp
, ftp
๊ฐ์ ๊ฑธ๋ก ์๋ฒ์ ์
๋ก๋ โ SSH ๋ค์ด๊ฐ์ java -jar ...
๊ฐ์ ๋ช
๋ น์ผ๋ก ์คํ
์นด๋๋ฆฌ์ ๋ฐฐํฌ (Canary Deployment) - ์๋ก์ด ๋ฒ์ ์ ์ ์ฒด์ ๋ฐฐํฌํ์ง ์๊ณ , ์ผ๋ถ ์ฌ์ฉ์/ํธ๋ํฝ์๋ง ๋จผ์ ๋ฐฐํฌํด์ ์์ ์ฑ ํ์ธ ํ ์ ์ง์ ์ผ๋ก ํ์ฅํ๋ ๋ฐฉ์.๋ฌธ์ ๊ฐ ์์ผ๋ฉด ๋น ๋ฅด๊ฒ ๋กค๋ฐฑ ๊ฐ๋ฅ, ์ํฅ ์ต์ํ.
๋ธ๋ฃจ๊ทธ๋ฆฐ ๋ฐฐํฌ(Blue-Green) - ๋ ๊ฐ์ ํ๊ฒฝ(Blue=ํ์ฌ ๋ฒ์ , Green=์ ๋ฒ์ )์ ์ค๋นํด ๋๊ณ , ๋ฐฐํฌ ์ ํธ๋ํฝ ์ค์์น๋ง ๋ฐ๊ฟ์ ์๋ก์ด ๋ฒ์ ์ผ๋ก ์ ํํ๋ ๋ฐฉ์.๋ฌธ์ ์๊ธฐ๋ฉด ๋ค์ Blue๋ก ํธ๋ํฝ ์ ํ โ ์ฆ์ ๋กค๋ฐฑ.
ํ์ดํ๋ผ์ธ ์๋ํ(CI/CD Pipeline) - ์ฝ๋ โ ๋น๋ โ ํ ์คํธ โ ๋ฐฐํฌ ๊ณผ์ ์ ์๋ํ.์ฝ๋๊ฐ ํธ์๋๋ฉด ์๋์ผ๋ก ํ ์คํธ & ๋ฐฐํฌ ์ค๋น.
ํ๋ฉด/์ ๋ ฅ/๋๋ฉ์ธ ๊ท์น/๋ฐ์ดํฐ ์ ๊ทผ์ด ๋ค์ํค๋ฉด ์ ์ง๋ณด์ ๋ถ๊ฐ.
๋ณ๊ฒฝ ์ด์ ๊ฐ ๋ฌ๋ผ๋ ํ์ผ์ด ํจ๊ป ๋ณํด ์์ง๋ ๋ฎ๊ณ ๊ฒฐํฉ๋ ๋์.
View: ํ๋ฉด ํํ(HTML/JSON), ๋น์ฆ๋์ค ๊ท์น ์์.
Controller: ์์ฒญ์ ์ด๋ํธํ๊ณ ํ๋ฆ ์ ์ด(๊ฒ์ฆ, ๋ฐ์ธ๋ฉ, ์๋น์ค ํธ์ถ).
Model: ๋๋ฉ์ธ ์ํ์ ๊ท์น(์ํฐํฐยท๋ฐธ๋ฅยท๋๋ฉ์ธ ์๋น์ค).
(ํ๋ ์น์์ Model์ ์์์ฑ์ ์งํค๊ธฐ ์ํด Service/Repository๋ฅผ ์ถ๊ฐํ 3-๊ณ์ธต+MVC ํผํฉ์ด ์ผ๋ฐ์ )
Request โ Controller โ Service(ํธ๋์ญ์
ยท๊ท์น) โ Repository(JPA/SQL) โ Domain Model โ Service โ Controller โ View(JSON/ํ
ํ๋ฆฟ)
Controller: REST ์๋ํฌ์ธํธ, DTO ์ ์ถ๋ ฅ, ์ธ์ฆ ์ฒดํฌ.
Service: ๋๋ฉ์ธ ๊ท์น/ํธ๋์ญ์ ๊ฒฝ๊ณ, ์ธ๋ถ ์์คํ ํ๋ ฅ.
Repository: ์์ํ(์กฐํ/์ ์ฅ).
View: Thymeleaf ๋ฑ ํ ํ๋ฆฟ, ํน์ API JSON.
โControllerโServiceโRepositoryโ๋ MVC์ C(Controller) ๋ฅผ ์น ์ด๋ํฐ๋ก ์ขํ๊ณ , M(Model) ์ ์์ ์ฑ ์์ Repository๋ก, ๊ท์น์ Service๋ก ๊นจ๋ํ๊ฒ ๋ถ๋ฆฌํ ํ๋์ ๋ณํ
์ฅ์
๊ด์ฌ์ฌ ๋ถ๋ฆฌ, ํ ์คํธ ์ฉ์ด, ์ญํ ์ด ๋ช ํ.
UI ๋ฐ๋์ด๋ ๋๋ฉ์ธ ๊ท์น ์ฌ์ฌ์ฉ.
์ํฐํจํด
Fat Controller: ๊ฒ์ฆ/๊ท์น/์ฟผ๋ฆฌ๋ฅผ C์ ๋ค ๋ฃ์ โ ์๋น์ค๋ก ์ด๋.
Anemic Domain Model: ๊ท์น์ด ์ ๋ถ Service์๋ง ์๊ณ ์ํฐํฐ๋ DTO์ฒ๋ผ ๋น์ด์์ โ ํต์ฌ ๊ท์น์ ๋๋ฉ์ธ์ผ๋ก.
Active Record ๋จ์ฉ: ์์/๋น์ฆ๋์ค ๋ค์์ โ Repository๋ก ๋ถ๋ฆฌ.
์ํํ ์์กด ์ญ์ ๋ฌด์: View/Infra๊ฐ ๋๋ฉ์ธ์ ์ฐธ์กฐํด์ผ์ง, ๋ฐ๋๋ ๊ธ๋ฌผ.
์ ๋ ฅ DTO โ ๋๋ฉ์ธ ๋ชจ๋ธ ๋ถ๋ฆฌ, ๊ฒ์ฆ์ 1) ๋จ์ ํ์(Controller), 2) ๋น์ฆ๋์ค ๊ท์น(Service/Domain) ์ด์ํ.
Repository๋ ์ง์๋ช ์ธ ์ค์ฌ(Specification/Query Object), ๋น์ฆ๋์ค ๊ท์น ์์.
์์ธ๋ ์๋ฏธ ์๋ ๋๋ฉ์ธ ์์ธ๋ก ์น๊ฒฉ, ์ปจํธ๋กค๋ฌ ์ด๋๋ฐ์ด์ค๋ก ๋งคํ.
๋ฌผ๋ฆฌ ์๋ฒ ๊ตฌ๋งค/์ค์น/ํ์ฅ์ ์์ฃผ~์๊ฐ์ โถ ๋ถ/์ด ๋จ์๋ก ํ๋ก๋น์ ๋.
ํ๋ ฅ ํ์ฅ/์ถ์, ์ฌ์ฉํ ๋งํผ๋ง ๋น์ฉ ์ง๋ถ(Pay-as-you-go).
๋คํธ์ํฌ/์คํ ๋ฆฌ์ง/๋ณด์/๋ชจ๋ํฐ๋ง์ API๋ก ๊ด๋ฆฌ(IaC).
๋ชจ๋ธ | ์ฌ์ฉ์๊ฐ ๊ด๋ฆฌ | ์ ๊ณต์๊ฐ ๊ด๋ฆฌ | ์์ |
---|---|---|---|
IaaS | OS, ๋ฐํ์, ์ฑ, ๋ฐ์ดํฐ | ํ๋์จ์ด/๊ฐ์ํ/๋คํธ์ํฌ | EC2, Azure VM |
PaaS | ์ฑ, ๋ฐ์ดํฐ | OS/๋ฐํ์/๋ฏธ๋ค์จ์ด/์ธํ๋ผ | Elastic Beanstalk, App Engine |
SaaS | ์ฌ์ฉ๋ง ํจ | ์ ๋ถ | Gmail, Slack |
FaaS/BaaS | ํจ์ ์ฝ๋ | ์คํ ํ๊ฒฝยท์ค์ผ์ผ๋ง | AWS Lambda, Cloud Functions |
EC2 โ Elastic Compute Cloud : ๊ฐ์ ์๋ฒ(์ธ์คํด์ค)๋ฅผ ์ ๊ณตํ๋ ํต์ฌ ์ปดํจํ ์๋น์ค.
S3 โ Simple Storage Service : ๊ฐ์ฒด ์คํ ๋ฆฌ์ง ์๋น์ค, ํ์ผยท์ด๋ฏธ์งยท๋ฐฑ์ ์ ์ฅ์ ๋ง์ด ์.
RDS โ Relational Database Service : ๊ด๋ฆฌํ ๊ด๊ณํ DB ์๋น์ค (MySQL, PostgreSQL, Aurora ๋ฑ ์ง์).
4) ํด๋ผ์ฐ๋ ์ค๊ณ 6์์น(์์ฝ)
์ด์ ์ฐ์์ฑ: ์๋ํ/๊ด์ฐฐ/๋ฐ๋ถ.
๋ณด์: ์ํธํยทIAMยท๊ฐ์ฌ.
์ ๋ขฐ์ฑ: ๋ฉํฐ-AZยท์คํ ๋ฆฌ์ปค๋ฒ๋ฆฌยท๋ฐฑ์คํ ์ฌ์๋.
์ฑ๋ฅ ํจ์จ: ์ ํฉํ ์ปดํจํธ/์คํ ๋ฆฌ์ง ์ ํ.
๋น์ฉ ์ต์ ํ: ์๋ฒ๋ฆฌ์คยท์คํ/RIยท์คํ ์ค์ผ์ผ.
์ง์๊ฐ๋ฅ์ฑ: ๋ฆฌ์์ค ํจ์จ/ํ์ ๋ฐ์๊ตญ ๊ฐ์.
Stateless ์ฑ์ผ๋ก ์ค๊ณ
์ฌ์ฉ์ ์ธ์ ์ ๋ณด, ์งํ ์ค์ธ ์์ , ์์ ๋ฐ์ดํฐ<-์๋ฒ ์์ฒด๋ ์ด๋ฐ ์ํ๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๋๋ค. ํน์ ์๋ฒ๊ฐ ์ฃฝ์ด๋ ๋ฌธ์ ์์. ๋ค๋ฅธ ์๋ฒ๊ฐ ๋๊ฐ์ด ์ฒ๋ฆฌ ๊ฐ๋ฅ.๋ฐฐํฌ ์์๋ ์๋ฒ ๊ฐ ์ํ ์ฑํฌ ๊ณ ๋ฏผ ๋ถํ์.
๋ฉํฐ-AZ ๊ธฐ๋ณธ,ํฌ๋ฆฌํฐ์ปฌ์ ๋ฉํฐ-๋ฆฌ์ ๋ณต์ ๊ฒํ .
AZ(Availability Zone) = AWS ๊ฐ์ ํด๋ผ์ฐ๋์์ ํ ๋ฆฌ์ (Region) ์์ ์๋ ์๋ก ๋ถ๋ฆฌ๋ ๋ฐ์ดํฐ์ผํฐ ๋จ์.์ ํ๋ฆฌ์ผ์ด์ ์ด๋ DB๋ฅผ ์ต์ 2๊ฐ ์ด์์ AZ์ ๋์์ ๋ฐฐ์น.
ํฌ๋ฆฌํฐ์ปฌ์ ๋ฉํฐ-๋ฆฌ์ ๋ณต์ ๊ฒํ - Multi-AZ๋ง์ผ๋ก๋ โ๋ฆฌ์ ์ ์ฒด ์ฅ์ โ๋ ๋ง์ ์ ์์. (์: AWS ์์ธ ๋ฆฌ์ ์ ์ฒด์ ์ฅ์ ๋ฐ์).์ฌ๋ฌ ๋ฆฌ์ ์ ๋์์ ๋ฐ์ดํฐ ๋ณต์ & ์๋น์ค ๋ฐฐํฌ.