๋ฐ์ํ
๐ AWS EKS์ ๋ ธ๋ ๊ทธ๋ฃน์ผ๋ก ํธ๋ํฝ ๊ฑฑ์ ์๋ ์๋ฒ ๋ง๋ค๊ธฐ
1. ์ EKS์ธ๊ฐ?
- AWS Elastic Kubernetes Service(EKS)๋ ๊ด๋ฆฌํ Kubernetes ์๋น์ค๋ก, ์ปจํธ๋กค ํ๋ ์ธ์ AWS๊ฐ ์๋์ผ๋ก ์ด์ํด ์ค๋๋ค.
- ๋์ ๊ฐ์ฉ์ฑ, ๋ณด์, ์๋ ์ ๊ทธ๋ ์ด๋์ ํจ๊ป ๊ธฐ์ ์ฉ ์์ ์ฑ์ ์ ๊ณตํฉ๋๋ค .
EKS ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ์์์ ๋ณด๋ฉด์ ๋ฐ๋ผํ์ธ์ : https://youtu.be/Gpen9aW4X1M
๐ฆ Pod (ํ๋)
- ์ ์: Kubernetes์์ ๊ฐ์ฅ ์์ ์คํ ๋จ์๋ก, ํ๋ ์ด์์ ์ปจํ ์ด๋(container)๋ฅผ ํฌํจํ๋ ๋ ผ๋ฆฌ์ ํธ์คํธ์ ๋๋ค. ํ๋์ IP ์ฃผ์์ ๋คํธ์ํฌ·์คํ ๋ฆฌ์ง(volume) ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํฉ๋๋ค
- ํน์ง:
- ์ปจํ
์ด๋๋ค์ด ๋์ผ ๋
ธ๋์ ํจ๊ป ๋ฐฐ์น๋์ด
localhost๋ก ํต์ ํ ์ ์์ต๋๋ค. - ์๋ก ๋ฐ์ ํ ์ฐ๊ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ปดํฌ๋ํธ(์: ์น์๋ฒ + ์ฌ์ด๋์นด ๋ก๊น )๊ฐ ๊ฐ์ด ๋ค์ด๊ฐ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค
- ๋ผ์ดํ์ฌ์ดํด์ด ํ๋ธ ์ปจํธ๋กค๋ฌ๋ ์ค์ผ์ค๋ฌ์๊ฒ ์ํด ๊ด๋ฆฌ๋ฉ๋๋ค: ๋ฆฌ์์ค ๋ถ์กฑ, ๋ ธ๋ ์ฅ์ ๋ฑ์ด ๋ฐ์ํ๋ฉด ๋ค๋ฅธ ๋ ธ๋๋ก ์ฌ๋ฐฐ์น๋ฉ๋๋ค
- ์ปจํ
์ด๋๋ค์ด ๋์ผ ๋
ธ๋์ ํจ๊ป ๋ฐฐ์น๋์ด
๐ฅ Node (๋ ธ๋)
- ์ ์: ์ปจํ ์ด๋๊ฐ ์คํ๋๋ ๋ฌผ๋ฆฌ ๋๋ ๊ฐ์ ๋จธ์ ์ ๋๋ค. Kubernetes ํด๋ฌ์คํฐ์์ ์์ปค(worker)๋ฅผ ๋ด๋นํ๋ฉฐ, ์ฌ๋ฌ Pod๋ฅผ ํธ์คํ ํฉ๋๋ค
- ์ฃผ์ ๊ตฌ์ฑ ์์:
- kubelet: ๋ ธ๋์ ์์ด์ ํธ๋ก, Pod์ ์ํ๋ฅผ ๊ฐ์ํ๊ณ ์ปจํ ์ด๋ ์คํ์ ์ ์ดํฉ๋๋ค
- ์ปจํ ์ด๋ ๋ฐํ์: Docker๋ containerd์ฒ๋ผ ์ปจํ ์ด๋ ์ด๋ฏธ์ง ํ๋ง ๋ฐ ์คํ์ ๋ด๋นํฉ๋๋ค.
- kube-proxy: ํ๋ ๊ฐ ๋คํธ์ํฌ ํธ๋ํฝ์ ๊ด๋ฆฌํด ์ค๋๋ค
- ๊ด๋ฆฌ:
- ๋ ธ๋๋ ์ปจํธ๋กค ํ๋ ์ธ์ ์ํด ๋ฑ๋ก๋๊ณ , ์ํ(Ready, NotReady ๋ฑ)๊ฐ ์ง์์ ์ผ๋ก ๊ฐ์๋ฉ๋๋ค
- ์ํ ์ด์์ด ๊ฐ์ง๋๋ฉด, ํด๋น ๋ ธ๋์ Pod๋ ๋ค๋ฅธ ์ ์ ๋ ธ๋๋ก ์ฌ์ค์ผ์ค๋ฉ๋๋ค.
๐ Kubernetes Cluster (ํด๋ฌ์คํฐ)
- ์ฌ๋ฌ Node(์์ปค ๋จธ์ )์ ์ด๋ค์ ๊ด๋ฆฌํ๋ Control Plane(๋ง์คํฐ ์ปดํฌ๋ํธ)์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- Control Plane์ API Server, Scheduler, Controller Manager, etcd ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋์ด Pod ์ค์ผ์ค๋ง ๋ฐ ์ํ ์ ์ง, ์ฅ์ ๋ณต๊ตฌ ๋ฑ์ ๋ด๋นํฉ๋๋ค
๐ก ์ฉ์ด ์์ฝ ์ ๋ฆฌ
| ์ฉ์ด | ์ค๋ช |
|---|---|
| Pod | ํ๋ ์ด์์ ์ปจํ ์ด๋๋ฅผ ํฌํจํ๋ ๊ฐ์ฅ ์์ ์คํ ์ ๋. IP์ ๋ณผ๋ฅจ์ ๊ณต์ ํ๋ฉฐ, ๋ ผ๋ฆฌ์ ํธ์คํธ ์ญํ |
| Container (์ปจํ ์ด๋) | ์ ํ๋ฆฌ์ผ์ด์ ์คํ ๋จ์. ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์ ์คํ๋จ |
| Node | Pod๊ฐ ์คํ๋๋ ๋ฌผ๋ฆฌ/๊ฐ์ ๋จธ์ . kubelet, ์ปจํ ์ด๋ ๋ฐํ์, kube-proxy ํฌํจ |
| Cluster | Control Plane + ์ฌ๋ฌ Node(Worker)๋ก ๊ตฌ์ฑ๋ ์ ์ฒด Kubernetes ์์คํ |
2. ๋ ธ๋ ๊ทธ๋ฃน(Node Group)์ด ํต์ฌ
- EKS ๊ด๋ฆฌํ ๋ ธ๋ ๊ทธ๋ฃน์ EC2 Auto Scaling Group(ASG)์ ์ด์ฉํด ๋ ธ๋๋ฅผ ์๋ ์์ฑ, ๊ต์ฒด, ์ข ๋ฃํด ์ค๋๋ค
- **์จ๋๋งจ๋(On-Demand)**์ ์คํ(Spot) ๋ ๊ฐ์ง ์ ํ์ ํผํฉํด ๊ตฌ์ฑํ๋ฉฐ, ์ํฌ๋ก๋ ํน์ฑ์ ๋ฐ๋ผ ํผ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค
3. ์คํ ์ค์ผ์ผ๋ง, ๋ ธ๋๋ ์ด์ด๊น์ง ์๋ ๋์
- **Cluster Autoscaler(CA)**๋ ์ค์ผ์ค๋ง๋์ง ๋ชปํ ํ๋๋ฅผ ๊ฐ์งํด ๋ถ์กฑํ ๋ฆฌ์์ค๋ฅผ ํ์
ํ๊ณ , ASG์ ๋
ธ๋ ์๋ฅผ ์๋์ผ๋ก ์กฐ์ ํฉ๋๋ค
- ํ๋๊ฐ pending ์ํ์ผ ๋ ์ ๋ ธ๋๋ฅผ ์ถ๊ฐ
- ํ์ฉ๋๊ฐ ๋ฎ์ ๋ ธ๋๋ ์ค์ฌ ๋ถํ์ํ ๋น์ฉ ๋ฐฉ์ง
- ์ฃผ์ ์ค์ ํ:
- ๋ ธ๋ ๊ทธ๋ฃน์ ์ต๋ํ ๋จ์ํ๊ฒ ๊ตฌ์ฑํด CA์ ์ฑ๋ฅ์ ์ต์ ํ
- ์คํ ์ธ์คํด์ค๋ ์ฌ๋ฌ AZ, ๋ค์ํ ์ธ์คํด์คํฐ์ ์กฐํฉ์ผ๋ก ํ ๊ตฌ์ฑ
4. Karpenter vs Cluster Autoscaler
- AWS์ ์คํ์์ค Karpenter๋ ๋ ๋น ๋ฅด๊ณ ์ ์ฐํ ์คํ ์ค์ผ์ผ๋ฌ์
๋๋ค:
- CA๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ ๋ ธ๋ ํ๋ก๋น์ ๋
- ASG์ ์ข ์๋์ง ์์ ์ธ๋ฐํ ์ ์ด ๊ฐ๋ฅ
- ๋ค๋ง ์์ง์ CA๋ณด๋ค ์๋์ ์ผ๋ก ์๋กญ๊ณ , ํ์ต ๊ณก์ ์ด ์กด์ฌํฉ๋๋ค.
5. ํธ๋ํฝ ๊ฑฑ์ ์๋ ์ํคํ ์ฒ ์ค๊ณ
- ํ์ด๋ธ๋ฆฌ๋ ๋
ธ๋ ๊ทธ๋ฃน ๊ตฌ์ฑ
- ์จ๋๋งจ๋: ์ํ ์ ์ฅ(Stateful) ๋๋ ์ค์ ์๋น์ค
- ์คํ: ๋ฐฐ์น, API ๋ฐฑ์๋ ๋ฑ ์ค๋จ ํ์ฉ ์ํฌ๋ก๋
- ์คํ ์ค์ผ์ผ๋ง ์ค์
- CA ์ค์น + IAM ๊ถํ ๊ตฌ์ฑ
- ์ค๋ฒ ํ๋ก๋น์ ๋(over-provisioning) ์ฌ์ฉ: ํธ๋ํฝ ๊ธ์ฆ ์ ์ฆ์ ๋์
- ๋ ธ๋ ์ค์ผ์ผ์์/์ธ ์ ์ฑ ํ๋ (์ค์บ ์ฃผ๊ธฐ, ๋ ธ๋ ๊ทธ๋ฃน ์ ๋ฑ)
- ์คํ์์๋ ๋ฉํฐ AZ/๋ฉํฐ ํ์ ๊ตฌ์ฑ ํฌํจ
- HPA & VPA ๋์
- HPA๋ก Pod ์ ์๋ ์กฐ์
- VPA๋ก ๋ฆฌ์์ค ์ํ/ํํ ์๋ ์กฐ์
- ๋ชจ๋ํฐ๋ง & ๋์
- CloudWatch, Prometheus, Grafana๋ก ์งํ ์์ง
- ๋ถํ์ํ ์คํ ์ค์ผ์ผ๋ง ๋ฐ๋ ๋ฐฉ์ง๋ฅผ ์ํด Requests/Limits ์ ํํ ์ค์
- CI/CD & IaC ๊ตฌํ
eksctl, Terraform, CloudFormation ์ด์ฉ- ์๋ก์ด ๋ ธ๋ ๊ทธ๋ฃน ์ถ๊ฐ ๋ฐ ์ ์ฑ ๋ณ๊ฒฝ์ ์ฝ๋ ๊ธฐ๋ฐ์ผ๋ก ์๋ํ ([AWS Documentation][7], [overcast blog][11])
6. ์ด์ ๊ฟํ
| ํญ๋ชฉ | ์ค๋ช |
|---|---|
| ๋ ธ๋ ๊ทธ๋ฃน ์ต์ํ | ์ฌ๋ฌ ํ, ์ํฌ๋ก๋๊ฐ ์๋๋ผ๋ ๋ ธ๋ ๊ทธ๋ฃน ์๋ฅผ ์ค์ด๋ ํธ์ด CA ์ฑ๋ฅ์ ์ ๋ฆฌ ([AWS Documentation][7]) |
| Pod ์์ฒญ(Requests)/์ ํ(Limits) | ์ ์ ํ ๋ฆฌ์์ค ์ค์ ์ ์ค์ผ์ผ๋ง ์ ๋ขฐ์ฑ ๋ฐ ๋น์ฉ ์ต์ ํ์ ํ์ ([์คํธ์ ๋ฐ์์ทจ][12]) |
| Fargate ํผํฉ ์ด์ | EC2 ๋ ธ๋ ์ธ์ AWS Fargate๋ฅผ ํผํฉํ๋ฉด ํน์ ์ํฌ๋ก๋์ ๋ํด ์๋ฒ๋ฆฌ์ค ์คํ ๊ฐ๋ฅ ([AWS Open Source][8]) |
AWS EKS์ ๊ด๋ฆฌํ ๋
ธ๋ ๊ทธ๋ฃน + ํจ๊ณผ์ ์ธ ์คํ ์ค์ผ์ผ๋ง ์ค์ , ์ฌ๊ธฐ์ HPA/VPA + ๋ชจ๋ํฐ๋ง์ ๋ํ๋ฉด, ํธ๋ํฝ ๋ณํ์ ์๋ ๋์ํ๋ฉฐ ์์ ์ฑ๊ณผ ๋น์ฉ ํจ์จ ๋ชจ๋๋ฅผ ์ก์ ์ ์์ต๋๋ค.
ํนํ ์คํ ์ธ์คํด์ค์ Karpenter ๋๋ Cluster Autoscaler๋ฅผ ์ ํ์ฉํ๋ฉด ๋์ฑ ๊ฐ๋ ฅํ ์๋ฒ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
์ด ๊ตฌ์ฑ์, ์ธ์ ํธ๋ํฝ์ด ๋ชฐ๋ ค๋ ๊ฑฑ์ ์๋ ํธ๋ํฝ ๊ฑฑ์ ์๋ ์๋ฒ์ ํต์ฌ์ด๋ผ ํ ์ ์๊ฒ ์ฃ ?
์ฐธ๊ณ ์๋ฃ
- EKS ๋ ธ๋·์ํฌ๋ก๋ ํจ์จ ๊ฐ์ด๋ ([Amazon Web Services, Inc.])
๋ฐ์ํ
'AWS Cloud' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| AWS ์ค์ LLM ์ ํ ํธ์คํ , ์ต์ ํ ๋ฐฐํฌ ๊ฐ์ด๋๋ถ (0) | 2025.04.07 |
|---|---|
| AWS ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฉ (0) | 2024.12.10 |
| AWS Lambda Scheduler serverless.yml (0) | 2020.04.08 |
| AWS Parameter Store ์ Serverless Framework (0) | 2020.04.08 |
| Serverless Setting (0) | 2020.04.08 |