๐๋ณธ๋ฌธ ํ์ธ

- ๋จ์ผ VPC ๋ด์ ํผ๋ธ๋ฆญ/ํ๋ผ์ด๋น ์๋ธ๋ท์ ๊ตฌ์ฑํ๊ณ NAT ์ธ์คํด์ค๋ฅผ ๋์ด ๋ณด์๊ณผ ํ์ฅ์ฑ์ ๋์์ ํ๋ณดํ์ต๋๋ค.
- ํผ๋ธ๋ฆญ ์๋ธ๋ท: ํ๋ก ํธ์๋ ์๋ฒ ๋ฐ NAT ์ธ์คํด์ค ๋ฐฐํฌ.
- ํ๋ผ์ด๋น ์๋ธ๋ท: ๋ฐฑ์๋, Jenkins, Redis, RDS ๋ฑ ์ฃผ์ ์๋น์ค ๋ฐฐ์น.
- VPC ๊ฒฉ๋ฆฌ: ํผ๋ธ๋ฆญ/ํ๋ผ์ด๋น ์๋ธ๋ท ๋ถ๋ฆฌ๋ก ์ธ๋ถ ์ ๊ทผ ์ฐจ๋จ.
- CORS ๋ฌธ์ ํด๊ฒฐ: ํ๋ก ํธ์๋์ ๋ฐฑ์๋ ๊ฐ์ CORS ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ํ๋ก ํธ์๋์ ALB์ ๋ฐฑ์๋์ ALB์ ๊ฐ๊ฐ ๋ฉ์ธ ๋๋ฉ์ธ๊ณผ ์๋ธ ๋๋ฉ์ธ์ ํ ๋นํ์ฌ ๋์ผ ์ถ์ฒ ์ ์ฑ ์ ๋ง์กฑ์์ผฐ์ต๋๋ค. ์ด๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ํํ ํต์ ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
- ECS: ํ๋ก ํธ์๋, ๋ฐฑ์๋, AI ์๋น์ค๋ฅผ ์ปจํ ์ด๋๋ก ๋ฐฐํฌํ๋ฉฐ ASG๋ก ์ค์ผ์ผ ์ธ/์์ ๊ด๋ฆฌ.
- ALB:
- ํ๋ก ํธ ALB: Route 53์ ํตํด ๋๋ฉ์ธ ์ฐ๊ฒฐ.
- ๋ฐฑ์๋ + AI ALB: ์๋ธ๋๋ฉ์ธ์ผ๋ก CORS ๋ฌธ์ ํด๊ฒฐ.
- CI/CD ํ์ดํ๋ผ์ธ: Jenkins์์ GitHub ํธ์๋ฅผ ๊ฐ์งํ์ฌ Docker ์ด๋ฏธ์ง๋ฅผ ECR์ ์ ๋ก๋ ํ ECS๋ก ์๋ ๋ฐฐํฌ.
- ๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊ทธ ๊ด๋ฆฌ:
- Prometheus์ Grafana๋ก ๋ฉํธ๋ฆญ ๋ชจ๋ํฐ๋ง.
- ELK ์คํ์ผ๋ก ๋ก๊ทธ ์์ง ๋ฐ ์๊ฐํ.
ECS์ ASG๋ก ์ปจํ ์ด๋๋ฅผ ๋ฐฐํฌ ๋ฐ ํ์ฅํ๋ฉฐ, ALB์ Route 53์ผ๋ก ๋๋ฉ์ธ ์ฐ๊ฒฐ๊ณผ CORS ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. CI/CD๋ก ๋ฐฐํฌ๋ฅผ ์๋ํํ๊ณ , Prometheus, Grafana, ELK ์คํ์ผ๋ก ๋ชจ๋ํฐ๋ง๊ณผ ๋ก๊ทธ ๊ด๋ฆฌ๋ฅผ ์ํํ์ต๋๋ค.
๊ตฌ์ถํ AWS ํ๊ฒฝ์ ์ฃผ์ ๊ตฌ์ฑ ์์
ํ๋ก์ ํธ์ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๊ณ ํจ์จ์ ์ธ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๊ตฌ์ถํ๊ธฐ ์ํด AWS ์ธํ๋ผ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํ์์ต๋๋ค. ์ฃผ์ ๋ชฉํ๋ ๋ฌด์ค๋จ ๋ฐฐํฌ, ํธ๋ํฝ ๋ถ์ฐ, ์ปจํ ์ด๋ ๋ฐฐํฌ ์๋ํ, ๊ทธ๋ฆฌ๊ณ ๋ฆฌ์์ค ํ์ฅ์ฑ๊ณผ ํจ์จ์ฑ์ ํ๋ณดํ๋ ๊ฒ์ด์์ต๋๋ค.
- ECS - Rolling Update ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ์ ์ ๋ฐฐํฌํ ๋ ๊ธฐ์กด ํ์คํฌ๋ฅผ ์ ์ง์ ์ผ๋ก ๊ต์ฒดํ๋ฉฐ, ์๋น์ค ์ค๋จ ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํธ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ECS(Elastic Container Service) / ECR(Elastic Container Registry)
- ECS์ ์์ ํ ํ๋ฆฟ๊ณผ ์ ์ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํด Auto Scaling Group์์ ์์ฑ๋ ์ธ์คํด์ค๊ฐ ECR์ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์ ์๋์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ ์ ์๋๋ก ๊ตฌ์ฑํ์ต๋๋ค.
- Application Load Balancer(ALB)
- ๋ค์์ Auto Scaling Group์ ํธ๋ํฝ์ ๋ถ์ฐ์์ผฐ์ต๋๋ค.
- ALB๋ ๋ค์ด์ค๋ ์์ฒญ์ ๋ผ์ฐํ ํ๊ณ , ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ธ์คํด์ค์ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ์ฌ ๋น์ ์ ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ์ ์ธํฉ๋๋ค.
-
AWS Systems Manager Parameter Store:
์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ๋ ํ๊ฒฝ ๋ณ์์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ(์: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ ์ ๋ณด) ๊ด๋ฆฌ
- ECS ํ์คํฌ ์ ์์ containerDefinitions์์ secrets๋ฅผ ์ฌ์ฉํ์ฌ ๋ฏผ๊ฐํ ๊ฐ์ Parameter Store์์ ์ง์ ๋ถ๋ฌ์ ์ปจํ ์ด๋์ ํ๊ฒฝ ๋ณ์๋ก ์ค์ ํ์ต๋๋ค.
- ์ด๋ฅผ ํตํด ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋๋ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ํฌํจํ์ง ์๊ณ ์์ ํ๊ฒ ๊ด๋ฆฌํ ์ ์์์ผ๋ฉฐ, ๊ถํ ๊ด๋ฆฌ์ ๊ฐ์ฌ ์ถ์ ์ด ์ฉ์ดํด์ก์ต๋๋ค.
-
CORS ๋ฌธ์ ํด๊ฒฐ: ํ๋ก ํธ์๋์ ๋ฐฑ์๋ ๊ฐ์ CORS ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ํ๋ก ํธ์๋์ ALB์ ๋ฐฑ์๋์ ALB์ ๊ฐ๊ฐ ๋ฉ์ธ ๋๋ฉ์ธ๊ณผ ์๋ธ ๋๋ฉ์ธ์ ํ ๋นํ์ฌ ๋์ผ ์ถ์ฒ ์ ์ฑ ์ ๋ง์กฑ์์ผฐ์ต๋๋ค. ์ด๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ํํ ํต์ ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
์์ ๊ฐ์ ์ํคํ ์ฒ๋ฅผ ํตํด ํ๋ก์ ํธ๋ ์์ ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์์ ํ๋ณดํ์ต๋๋ค. ํนํ, ECS์ Auto Scaling Group์ ์ฐ๋ํ์ฌ ํ์คํฌ ๋ฆฌ์์ค๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ ๋์ ์ผ๋ก ์ธ์คํด์ค์ ํ์คํฌ๋ฅผ ์ถ๊ฐํ ์ ์๋ ํ๊ฒฝ์ ๊ตฌ์ถํ์ต๋๋ค. ์ด๋ฅผ ํตํด ์๋น์ค์ ๋ฌด์ค๋จ ๋ฐฐํฌ์ ํธ๋ํฝ ๋ถ์ฐ์ ๋ฌผ๋ก , ๋ฆฌ์์ค ์ฌ์ฉ ํจ์จ์ฑ์ ๊ทน๋ํํ ์ ์์์ต๋๋ค. AWS์ ๋ค์ํ ์๋น์ค ๊ฐ ์ ๊ธฐ์ ์ธ ์ฐ๋์ผ๋ก ์ด์์ ์๋ํ์ ํจ์จ์ฑ์ ๋ชจ๋ ๋ฌ์ฑํ์์ต๋๋ค.
๐๋ณธ๋ฌธ ํ์ธ
๐๋ณธ๋ฌธ ํ์ธ
์์ธ ๋ด์ฉ

ํ๋ก์ ํธ๋ ํ์ ์ ํจ์จ์ฑ์ ๊ทน๋ํํ๊ธฐ ์ํด GitHub Organization์ ํ์ฉํ์ฌ ๊ฐ ํํธ๋ณ ๋ ๋ฆฝ์ ์ธ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๊ณ , CI/CD ์๋ํ๋ฅผ ํตํด ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ์ฒด๊ณํํ๋ ๊ฒ์ ๋ชฉํ๋ก ์ผ์์ต๋๋ค. ์ด๋ฅผ ์คํํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก Jenkins๋ฅผ ๋๊ตฌ๋ก ์ ์ ํ์ต๋๋ค.
์์ธ ๋ด์ฉ

AWS ๊ธฐ๋ฐ์ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ๋ฉฐ ์ฐ๋ฆฌ ํ์ ์ผ๊ด์ฑ ์ ์ง, ํ์ ํจ์จ์ฑ, ๊ทธ๋ฆฌ๊ณ ์ ์ง๋ณด์ ํธ์์ฑ์ ์ต์ฐ์ ๊ณผ์ ๋ก ์ผ์์ต๋๋ค.
ํ์ง๋ง ์ฝ์์ ํตํ ์์์ ์ค์ ๋ฐฉ์์ ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋๊ณ , ํ์์ด ์ค์๊ฐ์ผ๋ก ์์ ์ค์ธ ์์ ์ฌํญ์ ํ์ธํ๊ธฐ ์ด๋ ค์ด ํ๊ณ๊ฐ ์์์ต๋๋ค. ๋ํ, ๊ฐ๋ฐ์ ๋ฉ์ถ๋ ์๊ฐ ๋์ ๋ถํ์ํ ๋ฆฌ์์ค๋ฅผ ๊ณ์ ์คํํ๋ฉด ๋น์ฉ์ด ๋ญ๋น๋ ์ฐ๋ ค๊ฐ ์์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ ๊ฐ์ ํ์ ์ ๊ฐํํ๊ณ , ์ธํ๋ผ ๊ด๋ฆฌ๋ฅผ ์ฒด๊ณํํ๋ฉฐ ๋น์ฉ ํจ์จ์ฑ์ ๋์ผ ์ ์๋ ์ฝ๋ ๊ธฐ๋ฐ ๋๊ตฌ์ธ Terraform์ ๋์ ํ๊ฒ ๋์์ต๋๋ค.
Terraform ๋์ ์ ํตํด ํ์ ์ธํ๋ผ ๊ด๋ฆฌ์ ์ฒด๊ณํ์ ํ์ ํจ์จ์ฑ์ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค. S3์ DynamoDB๋ฅผ ํ์ฉํ ์ค์ ์ง์คํ ์ํ ๊ด๋ฆฌ๋ ์์ ์ถฉ๋์ ๋ฐฉ์งํ๊ณ ์์ ์ ์ธ ํ์ ํ๊ฒฝ์ ์ ๊ณตํ์ต๋๋ค. ์ด๋ฅผ ํตํด ์ธํ๋ผ ๊ด๋ฆฌ๊ฐ ๋์ฑ ์ฒด๊ณํ๋๊ณ , ํ์ ํ์ ๊ณผ ์ด์ ํจ์จ์ฑ์ด ์ ๋ฐ์ ์ผ๋ก ๊ฐ์ ๋์์ต๋๋ค.
์์ธ ๋ด์ฉ
๋ฐฐํฌ ์๋ํ์ ์๋น์ค ๊ฐ์ฉ์ฑ์ ์ ์งํ๊ธฐ ์ํด AWS Autoscaling์ ๋์ ํ์ต๋๋ค. ์ฒ์์๋ Autoscaling์ผ๋ก ์์ฑ๋ ์ธ์คํด์ค์ ์ปจํ ์ด๋๋ฅผ ๋ฐฐํฌํ๊ณ ์คํํ๊ธฐ ์ํด Ansible์ ์ฌ์ฉํ์ต๋๋ค. ํ์ง๋ง, ๋งค๋ฒ ์๋ก ์์ฑ๋ ์ธ์คํด์ค์ ์ปจํ ์ด๋๋ฅผ ๋์ฐ๋ ์์ ์ด ๋ฐ๋ณต์ ์ด๊ณ ๊ด๋ฆฌ ๋ถ๋ด์ด ์ปธ์ผ๋ฉฐ, ๋ฐฐํฌ ์ค ์๋น์ค ์ค๋จ ๊ฐ๋ฅ์ฑ์ ์์ ํ ๋ฐฉ์งํ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
Ansible์ ์ฌ์ฉํด Autoscaling์ผ๋ก ์์ฑ๋ ์ธ์คํด์ค์ ์ปจํ ์ด๋๋ฅผ ๋์ฐ๋ ๊ณผ์ ์ ์๋ํํ๋ ค ํ์ง๋ง, ๋งค๋ฒ ์๋ก์ด ์ธ์คํด์ค์ ๋ํด ์ถ๊ฐ์ ์ธ ์คํฌ๋ฆฝํธ๋ ์์์ ์ด ํ์ํ์ต๋๋ค. ๋ฐ๋ฉด ECS๋ ์ ์ ๋ฐ์ดํฐ์ ์์ ํ ํ๋ฆฟ์ ํ์ฉํด Autoscaling๊ณผ ์์ฐ์ค๋ฝ๊ฒ ํตํฉ๋๋ฉฐ, ์ธ์คํด์ค๊ฐ ์์ฑ๋์๋ง์ ํ์ํ ์ปจํ ์ด๋๋ฅผ ์๋์ผ๋ก ๋ฐฐํฌํ๊ณ ์คํํ ์ ์์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ๋ณต ์์ ์ ๋ถ๋ด์ด ์ค์ด๋ค๊ณ ์ด์ ํจ์จ์ด ํฅ์๋์์ต๋๋ค.
ECS๋ ํด๋ฌ์คํฐ ๋ด ํ์คํฌ ์ํ๋ฅผ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๋ฉฐ, ๋น์ ์์ ์ธ ์ปจํ ์ด๋๋ฅผ ์๋์ผ๋ก ๋ณต๊ตฌํฉ๋๋ค. ์ด๋ฌํ ์ํ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ Ansible๋ก๋ ์๋ ์์ ์ด ํ์ํ๋ ๋ถ๋ถ์ ์๋ํํ ์ ์์ด ์๋น์ค ์์ ์ฑ์ ๋ณด์ฅํ ์ ์์์ต๋๋ค.
ECS๋ AWS์ ๋ค์ํ ์๋น์ค์ ๊ธด๋ฐํ๊ฒ ์ฐ๋๋ฉ๋๋ค. ECR๊ณผ ํตํฉํด ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ๊ด๋ฆฌํ๋ฉฐ, CloudWatch๋ฅผ ํ์ฉํด ์ปจํ ์ด๋ ์ํ์ ๋ฆฌ์์ค ์ฌ์ฉ๋์ ์ค์๊ฐ์ผ๋ก ๋ชจ๋ํฐ๋งํ ์ ์์์ต๋๋ค. ์ด๋ฌํ ํตํฉ ๊ธฐ๋ฅ์ Ansible๋ก๋ ์ถ๊ฐ์ ์ธ ์ค์ ๊ณผ ์์ ์ด ํ์ํ๋ ๋ถ๋ถ์ ์๋์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก ์ง์ํ์ต๋๋ค.
ECS๋ฅผ ์ฌ์ฉํ๋ ์ค Kubernetes ๊ธฐ๋ฐ์ ๋ณต์กํ ์ปจํ ์ด๋ ๊ด๋ฆฌ๋ฅผ ์ง์ํ๋ EKS์ ์กด์ฌ๋ฅผ ํ์ธํ์ง๋ง, ์ฐ๋ฆฌ ํ๋ก์ ํธ๋ ๋๊ท๋ชจ ํ๋ก์ ํธ์ ํด๋นํ์ง ์๋๋ค๊ณ ํ๋จํ์ต๋๋ค. ์ด์ ๋ฐ๋ผ ๋ณต์กํ ์ค์ ๊ณผ ์ถ๊ฐ์ ์ธ ํ์ต์ด ํ์ํ EKS ๋์ , AWS์ ์ต์ ํ๋์ด ๊ฐ๋จํ ์ค์ ๋ง์ผ๋ก ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ECS๋ฅผ ์ ํํ๊ฒ ๋์์ต๋๋ค.
์์ธ ๋ด์ฉ

ํ๋ก์ ํธ ์งํ ์ค ์๋ฒ๊ฐ ์์ฃผ ๋ค์ด๋๊ฑฐ๋ ECS ์ปจํ ์ด๋๊ฐ ๋ฐฐํฌ ์ค๋จ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ปจํ ์ด๋์ ์ธ์คํด์ค์์ ๋ฆฌ์์ค๋ฅผ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ๋๊ฒ ์์ธ์ด์์ง๋ง, ์ด๋ฅผ ์ค์๊ฐ์ผ๋ก ๊ฐ์งํ๊ฑฐ๋ ์ ํํ ๋ถ์ํ ์ ์์๊ณ ๋ฆฌ์์ค ์ฌ์ฉ ๋ฐ์ดํฐ๋ฅผ ์ ๋๋ก ํ๋ณดํ์ง ๋ชปํด ๋ฌธ์ ํด๊ฒฐ์ ์ด๋ ค์์ด ์๊ฒผ์ต๋๋ค. ์ด๋ฌํ ์ด์ ๋ก ์ด์ ํจ์จ์ฑ๊ณผ ๋น์ฉ ๊ด๋ฆฌ์ ๋ถ์ ์ ์ธ ์ํฅ์ด ์๊ฒจ์ Prometheus & Grafana๋ฅผ ์ฌ์ฉ ํ์ต๋๋ค
ASG๋ก ๋ฐฐํฌ๋ ์ธ์คํด์ค์ CAdvisor, Node Exporter๋ฅผ ์ค์นํด ๋ฉํธ๋ฆญ์ ์์ง ํ์ต๋๋ค. Prometheus๋ฅผ ์ฌ์ฉํด ์ธ์คํด์ค์ ๋ฆฌ์์ค ์ฌ์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ , Grafana๋ฅผ ํตํด ์๊ฐํํ์ฌ ์์คํ ์ํ๋ฅผ ํ์ธ ํ์ต๋๋ค. ํน์ ์๊ณ์น๋ฅผ ์ด๊ณผํ๋ ๋ฆฌ์์ค ์ฌ์ฉ๋์ด ๊ฐ์ง๋๋ฉด slack์ผ๋ก ์๋์ ๋ณด๋ด ์ ์ํ ์ฅ์ ๋ฅผ ํด๊ฒฐํ๊ณ , ๋ฆฌ์์ค ์ฌ์ฉ๋์ ์ต์ ํ ํ์์ต๋๋ค.
์์ธ ๋ด์ฉ

ํ๋ก์ ํธ ์งํ ์ค ELK Stack์ ํ์ฉํ์ฌ ์๋ฒ ๋ก๊ทธ๋ฅผ ์์งํ๊ณ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด, Elastic Agent์ ๊ฐ์ ์๋ก์ด ๊ธฐ๋ฅ์ด ํฌํจ๋ ์ต์ ๋ฒ์ ์ธ 8.x๋ฅผ ์ค์นํ์ต๋๋ค.
๊ธฐ์กด Filebeat ๋์ Elastic Agent๋ฅผ ์ฌ์ฉํ๋ฉด ๋ก๊ทธ ์์ง๊ณผ ๋ชจ๋ํฐ๋ง ์์ ์ ๋จ์ผ ์์ด์ ํธ๋ก ํตํฉํ ์ ์์์ต๋๋ค. ํ์ง๋ง Elastic Agent๋ JSON ํ์์ ๊ตฌ์กฐํ๋ ๋ก๊ทธ ์ฒ๋ฆฌ์ ์ต์ ํ๋์ด ์์์ผ๋ฉฐ, ๋น๊ตฌ์กฐํ๋ ๋ก๊ทธ ์ฒ๋ฆฌ์๋ ์ถ๊ฐ์ ์ธ ์ ์ฒ๋ฆฌ ์์ ์ด ํ์ํ์ต๋๋ค.
- ALB ๋ก๊ทธ์ ํ์
- ALB์ ๋ก๊ทธ๋ ๊ฐ๊ณต๋์ง ์์ ๋ฉ์์ง ํํ๋ก S3 ๋ฒํท์ ์ ์ฅ๋จ.
- Elastic Agent๋ ์ด๋ฌํ ๋น๊ตฌ์กฐ์ ๋ก๊ทธ๋ฅผ ์ง์ ์ฒ๋ฆฌํ๊ธฐ ์ด๋ ต๊ณ , Elasticsearch์ ์ ํฉํ ํ์์ผ๋ก ๋ณํํ๊ธฐ ์ํด ์ ์ฒ๋ฆฌ ์์ ํ์.
- Logstash๋ฅผ ํ์ฉํ ์ ์ฒ๋ฆฌ
- Logstash๋ฅผ ์ฌ์ฉํด S3์ ์ ์ฅ๋ ALB ๋ก๊ทธ๋ฅผ ์์ง.
- ๋ก๊ทธ๋ฅผ ํ์ํ ํํ๋ก ์ ์ฒ๋ฆฌ(ํ์ฑ ๋ฐ ํํฐ๋ง)ํ ํ Elasticsearch๋ก ์ ๋ฌ.
- S3์์ ALB ๋ก๊ทธ ์์ง
- Logstash๋ฅผ ํตํด S3 ๋ฒํท์ ์ ์ฅ๋ ALB ๋ก๊ทธ๋ฅผ ์ฝ์ด์ด.
- ๋ก๊ทธ ์ ์ฒ๋ฆฌ
- Logstash์ Grok ํํฐ๋ฅผ ์ฌ์ฉํด ALB ๋ก๊ทธ๋ฅผ ํ์ฑ.
- ๋ก๊ทธ ๋ฉ์์ง์์ ํ์ํ ์ ๋ณด๋ฅผ ์ถ์ถํ๊ณ , Elasticsearch์ ์ ํฉํ JSON ํ์์ผ๋ก ๋ณํ.
- Elasticsearch๋ก ์ ์ก
- ์ ์ฒ๋ฆฌ๋ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ Elasticsearch๋ก ์ ๋ฌํด ์ ์ฅ ๋ฐ ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ๋ง๋ฆ.
ELK 8.x๋ฅผ ์ค์นํ๋ฉฐ Elastic Agent ๋์ ์ ๊ฒํ ํ์ง๋ง, ๋น๊ตฌ์กฐํ๋ ๋ก๊ทธ์ ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ํฉ์์๋ Logstash๋ฅผ ํ์ฉํ๋ ๊ฒ์ด ์ ํฉํ์ต๋๋ค. Logstash๋ฅผ ์ฌ์ฉํด S3์ ์ ์ฅ๋ ALB ๋ก๊ทธ๋ฅผ ์์งํ๊ณ ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ๊ฑฐ์ณ Elasticsearch๋ก ์ ๋ฌํ์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ๋น๊ตฌ์กฐํ๋ ALB ๋ก๊ทธ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ELK์ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ์ ์ต๋ํ ํ์ฉํ ์ ์์์ต๋๋ค.