우노
[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