ランタイム設定の定義

App Engine アプリを構成するには、app.yaml ファイルを使用します。このファイルには、ランタイム、ハンドラ、スケーリングのほかに、環境変数などの全般的な設定も含まれています。

app.yaml ファイルの概要

バージョンや URL など、Java アプリのすべてのランタイム構成を 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 リファレンスをご覧ください。