런타임 설정 정의

App Engine 앱은 런타임, 핸들러, 확장, 환경 변수를 비롯한 기타 일반 설정이 포함된 app.yaml 파일을 사용하여 구성됩니다.

app.yaml 파일 정보

버전과 URL이 포함된 자바 앱의 런타임 구성을 app.yaml 파일에 지정할 수 있습니다. 이 파일은 특정 서비스 버전의 배포 설명자 역할을 합니다.

app.yaml 파일을 만들지 않으면 gcloud app deploy 명령어가 애플리케이션을 배포할 때 만들 수 있습니다. App Engine이 만드는 app.yaml 파일에는 애플리케이션을 실행하는 데 필요한 설정만 포함되어 있습니다.

일반적으로 표준 환경에 있는 간단한 Java 앱의 경우 app.yaml 파일에 runtime 요소만 필요합니다. 예를 들면 다음과 같습니다.

runtime: java21

App Engine은 앱에서 사용할 수 있는 메모리와 CPU 리소스를 결정하는 F1 인스턴스 클래스와 새로운 앱 인스턴스가 생성되는 방법과 시기를 제어하는 자동 확장을 비롯한 다른 모든 설정의 기본값을 제공합니다.

기본 설정을 재정의해야 하는 경우 app.yaml 파일을 만들고 필요한 설정을 지정합니다. 자세한 내용은 app.yaml 파일 참조를 확인하세요.

app.yaml 파일에 고유한 이름을 지정할 수 있습니다. 하지만 이렇게 하면 배포 명령어에도 파일 이름을 지정해야 합니다. 예를 들어 app.yaml 파일의 이름을 service-name-app.yaml이나 app.standard.yaml로 지정한 후 다음 중 하나를 사용하여 앱을 배포해야 합니다.

gcloud app deploy service-name-app.yaml
gcloud app deploy app.standard.yaml
앱에서 여러 서비스와 app.yaml 파일을 구조화하는 방법에 대한 자세한 내용은 웹 서비스 구조화를 참조하세요.

Maven 프로젝트의 경우 app.yaml 파일의 표준 위치는 src/main/appengine 디렉터리에 있습니다. App Engine Maven 플러그인은 JAR 아티팩트와 이 app.yaml 파일이 포함 된 올바른 target/appengine-staging 디렉터리를 만들어 배포를 준비합니다.

다음은 샘플 Maven 프로젝트 구조입니다.

MyDir/
  pom.xml
  [index.yaml]
  [cron.yaml]
  [dispatch.yaml]
  src/main/
    appengine/
      app.yaml
    java/com.example.mycode/
      MyCode.java

프로젝트 디렉터리에 JAR 파일이 두 개 이상이거나 커스텀 진입점을 지정하려는 경우에는 app.yaml 파일의 entrypoint 요소에 지정해야 합니다.

모든 구성 요소

이 구성 파일에서 지원되는 모든 요소의 전체 목록은 app.yaml 참조를 확인하세요.