인스턴스 관리 방법

인스턴스는 App Engine에서 애플리케이션의 자동 확장에 사용되는 컴퓨팅 단위입니다. 언제든 하나의 인스턴스 또는 여러 인스턴스에서 애플리케이션을 실행할 수 있으며 요청은 인스턴스 전체에 분산됩니다.

수동 및 기본 확장이 적용되는 인스턴스는 무기한으로 실행되어야 하지만 가동시간이 보장되지는 않습니다. 조기 종료 또는 잦은 재시작을 초래하는 하드웨어 또는 소프트웨어 오류가 경고 없이 발생할 수 있으며 이를 해결하는 데 상당한 시간이 걸릴 수 있습니다.

모든 가변형 인스턴스는 매주 다시 시작됩니다. 다시 시작하는 동안 이전 버전과 호환되는 중요한 업데이트가 자동으로 기본 운영체제에 배포됩니다. 다시 시작해도 애플리케이션 이미지는 동일하게 유지됩니다.

상태 확인

App Engine은 정기적으로 상태 확인 요청을 보내 인스턴스가 배포되었는지 확인하고 실행 중인 인스턴스가 정상 상태로 유지되는지 확인합니다. 각 상태 확인에 대한 응답은 지정된 시간 간격 내에 이루어져야 합니다. 지정된 횟수만큼 연속으로 상태 확인 요청에 응답하지 못하는 인스턴스는 비정상입니다. 비정상 인스턴스는 클라이언트 요청을 받지 못하지만 상태 확인은 계속 전송됩니다. 비정상 인스턴스가 계속해서 미리 정해진 횟수만큼 연속으로 상태 확인에 응답하지 못하면 해당 인스턴스가 다시 시작됩니다.

상태 확인 요청은 기본 기준 값을 사용하여 기본적으로 사용 설정되어 있습니다. 선택적 상태 확인 섹션을 앱의 구성 파일에 추가하여 상태 확인을 맞춤설정할 수 있습니다.

애플리케이션 코드에서 상태 확인 기능을 구현하기 위해 특별히 해야 할 작업은 없습니다. 500 미만의 모든 HTTP 응답이 정상으로 간주됩니다.

커스텀 상태 확인 코드를 작성할 수 있습니다. 이 코드는 /_ah/health 요청에 HTTP 상태 코드 200으로 응답해야 합니다. 응답에는 메시지 본문이 포함되어야 하지만 본문 값은 무시됩니다(비어 있을 수 있음).

리소스 사용량 모니터링

GCP 콘솔의 인스턴스 페이지에서는 인스턴스 성능을 확인할 수 있습니다. 즉, 각 인스턴스의 메모리 및 CPU 사용량, 가동시간, 요청 수, 기타 통계를 확인할 수 있습니다. 모든 인스턴스에 대해 수동으로 종료 프로세스를 시작할 수도 있습니다.

인스턴스 위치

인스턴스는 프로젝트 설정에 따라 지역을 기준으로 자동 배치됩니다.

인스턴스 확장

애플리케이션이 실행되는 동안 수신 요청은 적절한 서비스/버전의 기존 또는 새 인스턴스로 라우팅됩니다. 서비스/버전의 확장 유형에 따라 인스턴스 생성 방법이 결정됩니다. 확장 설정은 app.yaml 파일에서 구성됩니다. 다음과 같은 두 가지 확장 유형이 있습니다.

수동 확장
수동 확장이 적용되는 서비스는 부하 수준에 상관없이 지정된 수의 인스턴스를 계속 실행하는 상주 인스턴스를 사용합니다. 이로 인해 시간 경과에 따른 메모리 상태를 사용하는 복잡한 초기화 및 적용과 같은 작업을 수행할 수 있습니다.
자동 확장
자동 확장 서비스는 요청 비율, 응답 지연 시간, 기타 애플리케이션 측정항목을 기반으로 생성되는 동적 인스턴스를 사용합니다. 하지만 최소 유휴 인스턴스 수를 지정하면 지정한 수의 인스턴스만 상주 인스턴스로 실행되고 추가 인스턴스는 동적으로 실행됩니다.
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

App Engine flexible environment for Python docs