App Engine 개요

리전 ID

REGION_ID는 앱을 만들 때 선택한 리전을 기준으로 Google에서 할당하는 축약된 코드입니다. 일부 리전 ID는 일반적으로 사용되는 국가 및 주/도 코드와 비슷하게 표시될 수 있지만 코드는 국가 또는 주/도와 일치하지 않습니다. 2020년 2월 이후에 생성된 앱의 경우 REGION_ID.r이 App Engine URL에 포함됩니다. 이 날짜 이전에 만든 기존 앱의 경우 URL에서 리전 ID는 선택사항입니다.

리전 ID에 대해 자세히 알아보세요.

App Engine 앱은 하나 이상의 서비스로 구성된 단일 애플리케이션 리소스로 구성됩니다. 서비스마다 런타임을 다르게 사용하고 다른 성능 설정으로 작동하도록 구성할 수 있으며 각 서비스 내에 해당 서비스의 여러 버전을 배포할 수 있습니다. 그러면 각 버전은 트래픽 처리량 구성에 따라 하나 이상의 인스턴스에서 실행됩니다.

애플리케이션 구성요소

애플리케이션 리소스를 만들면 App Engine 앱이 Google Cloud 프로젝트 아래에 생성됩니다. App Engine 애플리케이션은 앱을 구성하는 서비스, 버전, 인스턴스 리소스가 포함된 최상위 컨테이너입니다. App Engine 앱을 만들면 설정, 사용자 인증 정보, 앱의 메타데이터 컬렉션과 함께 앱 코드를 비롯한 모든 리소스가 선택한 리전에 생성됩니다. '애플리케이션 리소스'(표준 | 가변형)와 이를 만들 수 있는 리전에 대해 자세히 알아보세요.

각 App Engine 애플리케이션에는 서비스가 최소 한 개(default 서비스) 이상 포함되어 있으며 앱의 결제 상태에 따라 이 서비스 버전을 원하는 만큼 보유할 수 있습니다. 자세한 내용은 아래의 한도를 참조하세요.

다음 다이어그램은 여러 서비스로 실행되는 App Engine 앱의 계층 구조를 보여줍니다. 이 다이어그램에서 앱에는 여러 버전이 포함된 서비스가 두 개 있고 이 버전 중 두 개는 여러 인스턴스에서 활발하게 실행되고 있습니다.

앱의 서비스, 버전, 인스턴스 계층구조 그래프

다른 Google Cloud 서비스(예: Datastore)는 App Engine 앱 간에 공유됩니다. 자세한 내용은 '웹 서비스 구조화'(표준 | 가변형)를 참조하세요.

서비스

App Engine 기능을 안전하게 공유하고 각 요소 간에 통신할 수 있도록 App Engine의 서비스를 사용하여 대규모 앱을 논리적 구성요소로 분할합니다. 일반적으로 App Engine 서비스는 마이크로서비스처럼 동작합니다. 따라서 전체 앱을 단일 서비스에서 실행하거나 여러 서비스를 설계 및 배포하여 마이크로서비스 집합으로 실행할 수 있습니다.

예를 들어 고객 요청을 처리하는 앱에는 다음과 같이 각기 다른 태스크를 처리하는 개별 서비스가 포함될 수 있습니다.

  • 휴대기기의 API 요청
  • 관리 유형의 내부 요청
  • 청구 파이프라인과 데이터 분석 등의 백엔드 처리

App Engine의 각 서비스는 앱의 소스 코드와 해당하는 App Engine의 구성 파일로 구성됩니다. 서비스에 배포되는 파일 집합은 해당 서비스의 단일 버전을 나타내며, 해당 서비스에 파일 집합이 배포될 때마다 동일한 서비스 내에서 버전이 추가로 생성됩니다.

버전

각 서비스 내에서 앱을 여러 버전으로 관리하면 롤백, 테스트 또는 그 외 일시적인 이벤트를 위해 앱의 버전을 신속하게 전환할 수 있습니다. '트래픽 마이그레이션'(표준 | 가변형)을 통해 모든 트래픽을 앱의 특정 버전으로 라우팅하거나 '트래픽 분할'(표준 | 가변형)을 통해 앱의 여러 버전으로 라우팅할 수 있습니다.

인스턴스

서비스 내의 버전은 인스턴스 한 개 이상에서 실행됩니다. 기본적으로 App Engine은 로드에 맞게 앱의 크기를 조정합니다. 즉, 앱은 일관된 성능을 제공하기 위해 실행되는 인스턴스 수를 늘리거나 유휴 인스턴스를 최소화하고 비용을 절감하기 위해 인스턴스 수를 줄입니다. 인스턴스에 대한 자세한 내용은 '인스턴스 관리 방법'(표준 | 가변형)을 참조하세요.

App Engine 가변형 환경에서 인스턴스는 Compute Engine 리소스를 기반으로 합니다. 디스크, CPU, 메모리와 같은 App Engine 가변형 환경에서 인스턴스에 사용되는 일부 리소스는 해당 프로젝트의 Compute Engine API 할당량으로 계산됩니다. App Engine의 Compute Engine 리소스 사용 방법에 대한 자세한 내용은 App Engine 가변형 환경 개요를 참조하세요.

애플리케이션 요청

앱의 각 서비스와 서비스의 각 버전마다 고유한 이름이 있어야 합니다. 그러면 고유한 이름과 다음과 같은 URL을 사용하여 대상을 특정 리소스로 지정하고 트래픽을 라우팅할 수 있습니다.

https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

수신되는 사용자 요청은 트래픽을 처리할 수 있도록 구성된 서비스 또는 버전으로 라우팅됩니다. 대상을 특정 서비스 및 버전으로 지정하고 요청을 라우팅할 수도 있습니다. 자세한 내용은 '서비스 간 통신'(표준 | 가변형)을 참조하세요.

애플리케이션 요청 로깅

애플리케이션은 요청 처리 시 stdoutstderr에 고유한 로깅 메시지를 기록할 수도 있습니다. 앱 로그에 대한 자세한 내용은 '애플리케이션 로그 작성'(표준 | 가변형)을 참조하세요.

한도

가변형 환경과 표준 환경 모두 서비스 및 버전에 동일한 한도를 공유합니다. 예를 들어 표준 버전과 가변형 버전이 동일한 앱에 있는 경우 이러한 버전은 동일한 한도로 계산에 포함됩니다. 자세한 내용은 '할당량 및 한도'( 표준 | 가변형)를 참조하세요.