오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-09 15:52
관리 메뉴

우노

[GCP] cloud run session affinity, minimum/maximum instances 본문

GCP/Cloud Run

[GCP] cloud run session affinity, minimum/maximum instances

운호(Noah) 2023. 2. 23. 15:50

들어가기 앞서,

  • cloud run은 여러개의 동일한 컨테이너를 생성할 수 있으며, 자체적으로 로드밸런싱 기능을 가지고 있습니다.
  • 하지만, 여러 컨테이너를 구동하고 있을 경우, 로드밸런싱으로 인해 클라이언트와 컨테이너의 세션이 불일치하는 에러가 발생할 수 있습니다.
  • 이때, session affinity 또는 minimum/maximum instances 조절을 통해 해당 문제를 해결할 수 있습니다.

session affinity

  • session affinity는, 클라이언트의 요청을 동일한 컨테이너로 라우팅할지를 정하는 기능입니다.

  • 기본적으로 세션 어피니티는 사용 설정되어 있지 않으므로, 다음과 같이 동일한 클라이언트의 요청이 다양한 컨테이너 인스턴스에서 처리될 수 있습니다.

  • 하지만, 세션 어피니티를 사용한다면, 다음과 같이 해당 클라이언트의 값을 검사하여 동일한 클라이언트의 여러 요청을 식별하고 이러한 모든 요청을 동일한 인스턴스로 보냅니다.

minimum/maximum instances

  • minimum/maximum instances는 Cloud Run의 컨테이너 확장 개수입니다.
  • Cloud Run은 기본적으로 컨테이너 인스턴스 수를 0으로 지정하며, 수신 요청 수를 기준으로 인스턴스를 확장합니다.
  • 따라서, minimum/maximum instances를 1로 지정한다면,
  • 동일한 클라이언트의 여러 요청을 동일한 인스턴스로 보낼 수 있습니다.

참고

Comments