인스턴스 관리 방법

인스턴스는 App Engine에서 애플리케이션을 자동으로 확장하는 데 사용하는 컴퓨팅 단위입니다. 애플리케이션은 특정 시점에 단일 인스턴스 또는 여러 인스턴스에서 실행될 수 있으며, 요청은 모든 인스턴스로 분산됩니다.

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

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

상태 확인

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

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

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

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

리소스 사용량 모니터링

GCP 콘솔의 인스턴스 페이지에서 인스턴스의 현황을 파악할 수 있습니다. 각 인스턴스의 메모리 및 CPU 사용량, 가동시간, 요청 수 등의 통계를 확인할 수 있습니다. 특정 인스턴스의 종료 프로세스를 직접 시작할 수도 있습니다.

인스턴스 위치

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

인스턴스 확장

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

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

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

Node.js 문서용 App Engine 가변형 환경