최소 인스턴스 구성

최소 인스턴스 수를 설정하면 애플리케이션의 콜드 스타트를 방지하고 애플리케이션 지연 시간을 줄일 수 있습니다.

Cloud Functions는 함수의 새 인스턴스를 만들어 확장합니다. 이러한 각 인스턴스는 한 번에 하나의 요청만 처리할 수 있으므로 요청 볼륨이 급증하면 수요를 처리하기 위해 새 인스턴스가 생성되어 대기 시간이 길어지는 경우가 많습니다.

함수는 스테이트리스(Stateless) 방식이므로 종종 실행 환경을 처음부터 초기화하는 경우가 있는데 이러한 과정을 콜드 스타트라고 합니다. 콜드 스타트는 완료하는 데 시간이 오래 걸릴 수 있으므로 애플리케이션이 지연 시간에 민감한 경우 Cloud Functions 인스턴스 수를 최소한으로 설정하는 것이 좋습니다.

유휴 인스턴스 및 콜드 스타트

콜드 스타트의 영향을 최소화하기 위해 Cloud Functions는 요청을 처리한 후 지정되지 않은 시간 동안 함수 인스턴스를 유휴 상태로 유지하려고 합니다. 이 유휴 시간 동안 다른 요청을 처리해야 하는 경우에 대비하여 열린 데이터베이스 연결과 같은 리소스가 지속될 수 있습니다. 이 방식으로 유휴 상태가 유지되는 인스턴스는 함수의 최대 인스턴스 한도에 포함되지만 이 유휴 시간에 대해서는 요금이 청구되지 않습니다.

이 기본 제공 동작은 특히 지연 시간에 민감한 애플리케이션의 경우 충분하지 않을 수 있습니다. 최소 인스턴스 수를 명시적으로 설정하면 콜드 스타트를 방지하고 애플리케이션 지연 시간을 줄이는 데 도움이 될 수 있습니다.

최소 인스턴스 수가 설정되어 있으므로 인스턴스가 유휴 상태로 유지되는 경우 이러한 인스턴스는 최근에 트래픽을 제공하지 않는 한 활성 상태로 간주되지 않습니다. 예를 들어 함수가 최근에 트래픽을 처리하지 않은 경우 최소 인스턴스 값이 설정되었더라도 '활성 인스턴스' 측정항목에 활성 인스턴스가 표시되지 않을 수 있습니다.

또한 참고로 최소 인스턴스 수를 설정하면 해당 인스턴스의 유휴 시간에 대한 요금이 청구됩니다(가격 책정 참조).

최소 인스턴스 한도 설정 및 삭제

배포 중에 함수에 대한 최소 인스턴스 수를 설정할 수 있습니다. 함수마다 고유한 최소 인스턴스 설정이 있습니다.

최소 인스턴스 한도 설정

Google Cloud CLI 또는 Google Cloud 콘솔을 사용하여 최소 인스턴스 한도를 설정할 수 있습니다.

콘솔

새 함수의 최소 인스턴스 한도를 설정하려면 다음 안내를 따르세요.

  1. 새 함수를 만들려면 Google Cloud 콘솔에서 Cloud Functions 페이지로 이동합니다.
    Cloud Functions 페이지로 이동

  2. 함수 만들기를 클릭합니다.

  3. 함수의 필수 필드를 작성합니다.

  4. 페이지 끝에서 런타임, 빌드... 섹션을 확장하고 런타임 탭을 클릭합니다.

  5. 자동 확장 섹션의 최소 인스턴스 수 필드에 1 이상의 숫자를 입력합니다.

  6. 다음을 클릭합니다.

  7. 배포를 클릭합니다.

기존 함수의 최소 인스턴스 한도를 설정하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔의 Cloud Functions 페이지로 이동합니다.
    Cloud Functions 페이지로 이동

  2. 함수 세부정보 페이지로 이동할 기존 함수의 이름을 클릭합니다.

  3. 수정을 클릭합니다.

  4. 페이지 끝에서 런타임, 빌드... 섹션을 확장하고 런타임 탭을 클릭합니다.

  5. 자동 확장 섹션의 최소 인스턴스 수 필드에 1 이상의 숫자를 입력합니다.

  6. 다음을 클릭합니다.

  7. 배포를 클릭합니다.

gcloud

최소 인스턴스 한도를 설정하려면 다음 명령어를 실행합니다.

gcloud functions deploy FUNCTION_NAME \
--min-instances MIN_INSTANCE_LIMIT

다음을 바꿉니다.

  • FUNCTION_NAME: 함수 이름

  • MIN_INSTANCE_LIMIT: 최소 인스턴스 한도로 설정할 숫자이며 1000을 초과할 수 없습니다.

함수의 최소 인스턴스 한도가 설정됩니다.

최소 인스턴스 한도 삭제

Google Cloud CLI 또는 Google Cloud 콘솔을 사용하여 최소 인스턴스 한도를 지우거나 삭제할 수 있습니다.

콘솔

함수의 최소 인스턴스 한도를 삭제하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔의 Cloud Functions 페이지로 이동합니다.
    Cloud Functions 페이지로 이동

  2. 함수 세부정보 페이지로 이동할 기존 함수의 이름을 클릭합니다.

  3. 수정을 클릭합니다.

  4. 페이지 끝에서 런타임, 빌드... 섹션을 확장하고 런타임 탭을 클릭합니다.

  5. 자동 확장 섹션의 최소 인스턴스 수 필드에 0을 입력합니다.

  6. 다음을 클릭합니다.

  7. 배포를 클릭합니다.

gcloud

배포 시 --clear-min-instances 플래그를 사용합니다.

gcloud functions deploy FUNCTION_NAME --clear-min-instances

함수의 최소 인스턴스 한도가 삭제됩니다.

최소 인스턴스 설정을 위한 권장사항 가져오기

추천자 서비스는 최소 인스턴스를 설정하면 도움이 될 수 있는 배포된 함수에 대한 권장사항을 자동으로 제공합니다.