본문 바로가기
CSP (Cloud Service Provider)/GCP

GKE Backend Timeout 변경 방법

by BTC_ming2 2022. 10. 20.

안녕하세요 MC에몽입니다.

 

오늘은 GKE Backend Timeout 변경 방법에 대해 알아보는 시간을 가지도록 하겠습니다.

 

서비스를 제공하는 경우, 서비스 제한 시간 설정이 필요한 경우가 있습니다.

서비스 제한 시간을 설정하여  서비스 제공 시간에 대한 설정이 가능합니다.

이처럼 서비스 별로 적절한 제한시간을 설정하여 사용할 경우 좀 더 연결 관리에 유익할 것입니다.

 

Backend Timeout은 HTTP, HTTPS, HTTP/2 프로토콜을 사용하는 External 및 Internal HTTP(S) LB의 경우 백엔드 서비스 제한 시간은 HTTP(S) 트래픽의 요청/응답 제한 시간입니다.

Google의 LB에는 Backend Timeout이 기본 30초로 설정되어 있습니다.

설정 가능한 허용 범위는 1~2,147,483,647초입니다. [1]

 

GKE에서는 설정된 Websocket 값을 BackendConfig parameter를 통해 수정하여 Timeout 값을 설정할 수 있습니다. 

 

설정 방법은 아래와 같습니다.

 

1. 다음과 같이 BackendConfig yaml 파일 생성 후 배포합니다.

2. 사용 중인 Service yaml 파일에 config 설정을 아래와 같이 해줍니다.

3. Console > Load Balancer > Backend에서 변경되었는지 확인합니다.

 

또한 각 Timeout 설정에는 다음과 같은 제한사항이 있습니다. [2]

  1. 여러 인그레스 객체가 (서비스, 포트)를 참조하더라도 (서비스, 포트) 쌍 하나만 BackendConfig를 한 개만 사용 가능.
  2. 동일한 HTTP(S) 부하 분산 백엔드 서비스에는 IAP 및 Cloud CDN 사용 설정 불가.
  3. BackendConfig와의 상호작용을 위해  kubectl Version 1.7 이상 사용.

 

함께 쓰이는 연결 드레이닝 사용 설정에 대한 설명은 문서 [3]을 참고 부탁 드리겠습니다.

 

이상으로 GKE Backend Timeout 변경 방법하는 방법에 대해 알아봤습니다.

다음에는 더 유익한 정보로 돌아오겠습니다.



See you next time!

 

참고문헌 : 
[1] https://cloud.google.com/load-balancing/docs/backend-service#timeout-setting
[2] https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features#timeout
[3] https://cloud.google.com/load-balancing/docs/enabling-connection-draining#enabling_connection_draining



댓글