반응형
250x250
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- Kafka
- Python
- node
- chart.js
- kubeflow
- codedeploy error
- VPN
- codepipeline
- docker
- Spring Error
- codedeploy
- JavaScript
- redis
- java bigdecimal
- COALESCE
- IntelliJ
- Spring
- codebuild
- PostgreSQL
- aws
- Jenkins
- chartjs
- Airflow
- AWS CI/CD 구축하기
- openlens
- aws cicd
- SQL
- Flux
- 도커
- bootstrap
Archives
- Today
- Total
Small Asteroid Blog
Ingress Keep-Alive 본문
728x90
ingress keep-alive는 Kubernetes 환경이나 클라우드 인프라에서 많이 등장하는 개념인데, 네트워크 레이어에서 "연결을 얼마나 오래 유지할지"를 결정하는 중요한 설정입니다.
개념 설명
- Ingress
Kubernetes에서 Ingress는 외부 트래픽(HTTP/HTTPS 등)을 내부 서비스로 라우팅해주는 리소스입니다.
일반적으로 NGINX, Traefik, AWS ALB 등 다양한 Ingress Controller가 사용됩니다. - Keep-Alive
Keep-Alive는 HTTP/1.1부터 기본으로 제공되는 기능으로,
클라이언트와 서버가 하나의 TCP 연결을 여러 요청/응답에 재사용하도록 하는 옵션이에요.
Ingress Keep-Alive란?
Ingress Controller가 외부 클라이언트(예: 브라우저)와 백엔드 서비스(예: 웹 서버) 간에 HTTP 연결을 끊지 않고 일정 시간(또는 요청 개수) 동안 "유지"하는 기능을 의미합니다.
- 보통 keep-alive timeout, max keep-alive requests 등의 파라미터로 조절합니다.
- 예시: keepalive_timeout 75s; (NGINX의 경우)
왜 중요할까?
- 성능 최적화
매 요청마다 새로운 TCP 연결을 만들면 느리고 리소스 낭비가 큼. - 리소스 관리
너무 오래 연결을 유지하면 반대로 커넥션이 쌓여서 리소스 고갈 문제가 생길 수 있음. - 로드 밸런싱
Connection reuse 때문에 특정 백엔드에 트래픽이 쏠릴 수도 있음. 적절한 조정 필요.
실전 예시 (NGINX Ingress Controller 기준)
nginx.ingress.kubernetes.io/keep-alive
nginx.ingress.kubernetes.io/proxy-connect-timeout
이런 어노테이션이나 ConfigMap을 통해 설정할 수 있음.
예시:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
annotations:
nginx.ingress.kubernetes.io/keep-alive: "10"
nginx.ingress.kubernetes.io/proxy-connect-timeout: "30"
- keep-alive: "10"
→ 최대 10개의 keep-alive 커넥션을 유지 - proxy-connect-timeout: "30"
→ 백엔드와의 연결 대기 시간 30초
결론
- Ingress Keep-Alive = 연결을 일정 시간/요청 수만큼 유지
- 장점: 속도 ↑, 서버부하 ↓
- 단점: 너무 길면 커넥션 폭주 위험
- 적정값: 서비스 특성과 트래픽 패턴에 따라 조정 필
728x90
반응형
'클라우드 및 인프라 > Kubernetes' 카테고리의 다른 글
| Kubernetes에서 Kustomize를 쓰는 이유 (1) | 2025.12.22 |
|---|---|
| [kubernetes] cordon, uncordon, drain, taint (0) | 2023.07.17 |
| [k8s] CKA 준비 - Network Policy (0) | 2023.06.19 |
| [DKT CKA Study] 8Day - 2023.05.30 (0) | 2023.05.30 |
| [kubernetes] kube-proxy란 (0) | 2023.05.14 |