๋น์ฆ๋์ค์ ์ค๋จ ์๋ ๊ฐ์น๋ฅผ ์งํฑํ๋ ์์ ์ ์ธ ์ธํ๋ผ๋ฅผ ์งํฅํ๋ ํด๋ผ์ฐ๋ & ๋ฐ๋ธ์ต์ค ์์ง๋์ด ์ด์ ํ์
๋๋ค.
์จํ๋ ๋ฏธ์ค AI CCTV ์๋ฃจ์
์ค์น ๋ฐ ์ฅ์ ๋์(SOP ๊ตฌ์ถ) ๊ฒฝํ์ ๋ฐํ์ผ๋ก ์์คํ
๋ฐ๋ฐ๋ฅ๋ถํฐ ๋ค์ ธ์ง ํธ๋ฌ๋ธ์ํ
์ญ๋์ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ, ํด๋ผ์ฐ๋(AWS) ์ด์คํ ์ค๊ณ, Kubernetes(EKS) ๋ฐ GitOps(ArgoCD) ํ์ดํ๋ผ์ธ ์๋ํ์ ํนํ๋์ด ์์ต๋๋ค.
- ์ค๋ช : ๋๋์ ์ค์๊ฐ ํฐ์ผ ์๋งค ํธ๋ํฝ์ ๊ฒฉ๋ฆฌ ์ ์ด ๋ฐ ์์ฉํ๊ธฐ ์ํ ๋ฌด์ค๋จ EKS ์ธํ๋ผ ๋ฐ GitOps ๋ฐฐํฌ ์๋ํ ํ์ดํ๋ผ์ธ
- ์ญํ : ์ธํ๋ผ ๋ฐ GitOps ๊ตฌ์ฑ ๊ด๋ฆฌ ์์ง๋์ด (VPC ์ค๊ณ, EKS ์ธํ๋ผ, LBC ์ปจํธ๋กค๋ฌ ๋ฐ Gateway API ์ฐ๋, ArgoCD ์ด์)
- ํต์ฌ ํด๊ฒฐ ๊ณผ์ :
- GatewayClass
Accepted=False์ฅ์ ๋ณต๊ตฌ: AWS LBC v3.1.0๊ณผ Gateway API CRD ๋ฒ์ ๊ฐ ํธํ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ๋ถ์ํ์ฌ CRD v1.5.0 ํจ์น๋ฅผ ์ ์ฉ, ๊ฒ์ดํธ์จ์ด ํด๋์ค๋ฅผ ์ ์ํํ๊ณ AWS ALB ์์ฑ์ ์๋ํํจ. - Readiness Probe ํ์์์ ํด๊ฒฐ: Spring Boot ํ๋๊ฐ ๊ธฐ๋ ์ค ๊ณ์ํด์ ์ฌ์์๋๋ ๋ฌธ์ ๋ฅผ ํ์ธ, ์ ํ๋ฆฌ์ผ์ด์
์ ์ค์ ๊ตฌ๋ ์๊ฐ(42s)์ ๋ง์ถฐ readinessProbe์
initialDelaySeconds๋ฅผ 60์ด๋ก ๋ณ๊ฒฝํ์ฌ ํ๋ ๋ฐฐํฌ๋ฅผ ์ ์ํํจ. - ๊ณต์ ๊ณ์ ๋ด Grafana ALB ์ด๋ฆ ๋ช
๋ช
์ถฉ๋ ํด์: ํ ํ๋ค๊ณผ ๋์ผํ namespace์ Prometheus ๋ชจ๋ํฐ๋ง ์คํ์ ๋ฐฐํฌํ๋ฉด์ ALB ๋ค์ ๋ช
๋ช
๊ธธ์ด(32์) ์ ํ์ผ๋ก ์ธํ ALB ์ถฉ๋์ ๊ฒช์.
kube-prometheus-stack-app.yaml์ ์ปค์คํ Ingress ALB ๋ช ์นญ ๋ช ์ ์ด๋ ธํ ์ด์ (t5-prod-grafana-alb)์ ์ ์ฉํ์ฌ ๋ฆฌ์์ค๋ฅผ ์ ์ ๊ฒฉ๋ฆฌํจ. - ๋น์ฉ ๋ฐฉ์ด์ฉ ์ธํ๋ผ ์ ์ ์ผ๊ด ์ ์ด ์๋ํ: EKS NodeGroup, Bastion, RDS ์ธ์คํด์ค๋ฅผ ์ผ๊ด ์ ์ง/๊ธฐ๋์ํค๋ PowerShell ์คํฌ๋ฆฝํธ(
aws-power.ps1) ๊ฐ๋ฐ. RDS Multi-AZ ๋ฐ Read-Replica ์ถ๊ฐ์ ๋ง์ถฐInvalidParameterCombination๋ฑ์ ์ ์ ์ฐจ๋จ ์ค๋ฅ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ ๋ฐ ๋ณด์ํ์ฌ ์๋ํ์ ์ฑ๊ณตํจ.
- GatewayClass
- ์ค๋ช : ์ผ๊ธฐ ๋ฐ ํ ์ผ ๊ด๋ฆฌ Spring Boot ์๋น์ค์ ๊ฐ์ํ ์ปจํ ์ด๋ ๋ฐฐํฌ ๋ฐ ์ธํ๋ผ ์ค๊ณ ํ๋ก์ ํธ
- ์ญํ : ์ธํ๋ผ ๋ฐ DevOps ์์ง๋์ด (Dockerfile ์ต์ ํ, AWS ECR ์ด๋ฏธ์ง ๋น๋/๋ฐฐํฌ, EKS ๋ฐ RDS ์ธํ๋ผ ๊ด๋ฆฌ)
- ํต์ฌ ํด๊ฒฐ ๊ณผ์ :
- Liveness Probe ์คํจ ๋ฐ Actuator Security ์ถฉ๋ ํด๊ฒฐ: ํ๋ ๊ธฐ๋ ํ
CrashLoopBackOff๋ฌดํ ๋ฐ๋ณต ๋ฌธ์ ์ง๋ฉด. Spring Security ๋ณด์ ์ ์ฑ ์์/actuator/health๊ฒฝ๋ก๋ฅผ ์ฐจ๋จ(403)ํ๋ ์ ์ ๋ฐ๊ฒฌํ๊ณ ,SecurityConfig์permitAll()ํ์ฉ ๋ฐapplication.ymlActuator ๋ ธ์ถ ์ต์ ์ ์ค์ ํ์ฌ ํฌ์ค์ฒดํฌ ์ ์ ํต์ ํ์ธ. - ๋ฉํฐ ์๋ฒ ํ๊ฒฝ ๋ก์ปฌ ์ ์ฅ ์ ์ค ๋ฆฌ์คํฌ ๊ทน๋ณต: ํ๋กํ ์ด๋ฏธ์ง๋ S3์ ์ ์ฅ๋์ง๋ง ๋ค์ด์ด๋ฆฌ ์ด๋ฏธ์ง๋
user.dir๊ธฐ๋ฐ ๋ก์ปฌ ๋๋ ํ ๋ฆฌ์ ์ ์ฅ๋๋ ๊ตฌ์กฐ์ ํ๊ณ ๋ถ์. ์ปจํ ์ด๋๊ฐ ๋ฌด์์๋ก ์ฌ๋ฐฐํฌ๋๋ EKS ํ๊ฒฝ์์ ๋ก์ปฌ ํ์ผ ์์ค ์ํ์ ์ฌ์ ์ ๊ท๋ช ํ๊ณ ,S3Service๊ธฐ๋ฐ S3 ์ ๋ก๋ ๊ตฌ์กฐ๋ก ํตํฉํ๋ ๋ง์ด๊ทธ๋ ์ด์ ๋ฐ ๋ฆฌํฉํ ๋ง ๋ฐฉ์์ ๋์ถํด ์ ์ํจ. - Dockerfile ๋ฉํฐ์คํ ์ด์ง ๋น๋ ๊ตฌ์ฑ: Maven ๋น๋์ Slim ๊ธฐ๋ฐ ๋ฐํ์ ๋ ์ด์ด๋ฅผ ๊ตฌ๋ถํ์ฌ ์ต์ข ๋์ปค ์ด๋ฏธ์ง ๊ฒฝ๋ํ ๋ฐ ์ทจ์ฝ์ ์ต์ํ ๋ฌ์ฑ.
- Liveness Probe ์คํจ ๋ฐ Actuator Security ์ถฉ๋ ํด๊ฒฐ: ํ๋ ๊ธฐ๋ ํ
- ์ค๋ช : ๋ณ์/์์ฌ ์ ๋ณด ์กฐํ ๋ฐ ์ฌ์ฉ์ ํ์ ๋ฆฌ๋ทฐ ๊ณต์ ์น ์ ํ๋ฆฌ์ผ์ด์
- ์ญํ : ๋ฐฑ์๋ ๊ฐ๋ฐ์ (๋ณ์ ๋๋ฉ์ธ CRUD API ๊ฐ๋ฐ, ํ์ด์ง ๋ฐ ์ฐ๊ด ์ฟผ๋ฆฌ ์ต์ ํ)
- ํต์ฌ ํด๊ฒฐ ๊ณผ์ :
- ๋ณ์ ๋๋ฉ์ธ DB ๋ชจ๋ธ๋ง ๋ฐ Hospital Entity/Repository ๊ฐ๋ฐ.
- ๋ชฉ๋ก ์กฐํ ํธ๋ํฝ ์ํ๋ฅผ ์ํ Pagination ์ฒ๋ฆฌ ๋ฐ ๋ณ์-์์ฌ ์ฐ๊ด ๊ด๊ณ ์กฐํ ์ฑ๋ฅ ํ๋.
- ์ด๋ฉ์ผ: dlwodns5841@naver.com
- ๊นํ๋ธ: github.com/UniqueOnion

