すべてのプロダクト
Search
ドキュメントセンター

Serverless App Engine:起動コマンドの設定

最終更新日:Jun 25, 2026

SAE コンソールでコンテナイメージまたはコードパッケージを使用してアプリケーションをデプロイすると、SAE はプリセットの起動パラメーターを使用してコンテナを起動します。 コンテナの起動時に Nginx のような特別な設定を実行する必要がある場合、またはプリセットの起動パラメーターを使用したくない場合は、コンテナの 起動コマンド をカスタマイズできます。 これにより、特別な設定を適用したり、イメージのデフォルトの起動パラメーターを上書きしたりできます。

エントリポイント

手順はシナリオによって異なります。

アプリケーションの作成

  1. SAE コンソールにログインします。左側のナビゲーションペインで、[Applications] > [Application List] を選択します。対象のリージョンと名前空間を選択し、Create Application をクリックします。

  2. Basic Information ウィザードページで、必要な設定を行い、Next: Advanced Settings をクリックします。

実行中のアプリケーションの変更

警告

アプリケーションを再デプロイすると、アプリケーションは再起動されます。 業務中断などの予測できないエラーを防ぐため、オフピーク時にアプリケーションをデプロイすることを推奨します。

  1. SAE コンソールにログインします。左側のナビゲーションペインで、[Applications] > [Application List] を選択します。対象のリージョンと名前空間を選択し、対象アプリケーションの名前をクリックします。

  2. 対象アプリケーションの Basic Information ページで、Deploy Application をクリックします。

停止中のアプリケーションの変更

  1. SAE コンソールにログインします。左側のナビゲーションペインで、[Applications] > [Application List] を選択します。対象のリージョンと名前空間を選択し、対象アプリケーションの名前をクリックします。

  2. 対象アプリケーションの Basic Information ページで、[Modify Application Configurations] をクリックします。

アプリケーション起動コマンドの設定

イメージ

通常、起動コマンドを設定する必要はありません。イメージのビルド時に、Dockerfile 内の ENTRYPOINT または CMD 命令が、コンテナの起動コマンドをすでに定義しています。

たとえば、Dockerfile 内の次のコマンドは、コンテナの起動時に実行されます。

ENTRYPOINT [nginx, '-g', 'daemon off;']                

Dockerfile で設定された起動コマンドをオーバーライドするには、次の手順に従います。

  1. [Startup Command] セクションで、[>_ /bin/sh] や [>_ /bin/bash] などのスクリプトインタープリターを選択します。選択したインタープリターがイメージ内に存在していることを確認してください。

  2. コンテナの起動コマンドを設定します。形式は次のとおりです。

    • [>_ /bin/sh]

      sh -c 'while true; do echo hello; sleep 10;done'
    • [>_ /bin/bash]

      bash -c 'while true; do echo hello; sleep 10;done'
重要

元の Dockerfile の ENTRYPOINT および CMD の設定に精通していない場合は、起動コマンドやそのパラメーターをカスタマイズしないでください。無効なコマンドは、アプリケーション作成が失敗する原因となります。

JAR パッケージ

Java アプリケーションを起動して実行するには、JVM パラメーターや GC ポリシーなどの起動コマンドとパラメーターを定義する必要があります。

SAE は、アップロードされた JAR パッケージを自動的にイメージにコンパイルし、アプリケーションをコンテナとして実行します。コンパイル時に、SAE は組み込みの起動コマンド、パラメーター、および JAR パッケージのパスを設定します。SAEコンソールを使用して、デフォルトの起動コマンドとそのパラメーターを変更できます。

Startup Command Settings セクションで、必要な設定を入力します。起動コマンドの例を次に示します。

デフォルトの起動コマンドは $JAVA_HOME/bin/java $Options -jar $CATALINA_OPTS "$package_path" $args です。

パラメーター

説明

[Default Startup Command]

SAE が提供するデフォルトの起動コマンドです。

[Options Settings]

JVM パラメーターを設定します。詳細については、「JVM パラメーター設定時の注意点」、「Java 仮想マシンのチューニング」、および「JVM チューニング:パフォーマンスチューニングのための環境準備」をご参照ください。

アプリケーションのリモートデバッグを有効にするには、お使いの JDK バージョンに対応するコマンドを追加します。

  • JDK 11 および JDK 17

    -agentlib:jdwp=transport=dt_socket,address=*:9000,server=y,suspend=n
  • その他の JDK バージョン

    -agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=n

各パラメーターの説明は次のとおりです。

  • transport :リモートデバッグのデータ転送方式。

  • address :リモートデバッグ用のアドレス。これは、リモートデバッグを有効にするときに設定したデバッグポートと一致させる必要があります。詳細については、「リモートデバッグ」をご参照ください。

重要

WAR パッケージと JAR パッケージからデプロイされたアプリケーションの起動コマンドは異なります。混同して使用しないでください。この例のリモートデバッグコマンドは、両方のデプロイ方法に適用されます。

[args Settings]

標準出力と標準エラー出力をリダイレクトするコマンド (例:1>>/tmp/std.log 2>&1) を設定します。

WAR パッケージ

Startup Command Settings セクションで、必要な設定を入力します。起動コマンドの例を次に示します。

デフォルトの起動コマンドは CATALINA_OPTS="$CATALINA_OPTS $Options" catalina.sh run です。ここで、$Options[Options Settings] セクションで指定する JVM パラメーターのプレースホルダーです。OOM を回避するため、ヒープメモリをインスタンスの総メモリよりも小さい値に設定し、1 GB のスペースを確保することを推奨します。詳細については、「JVM 設定のベストプラクティス」をご参照ください。

パラメーター

説明

[Default Startup Command]

SAE によって提供されるデフォルトの起動コマンド

[Options Settings]

JVM パラメーターを設定します。詳細については、「JVM パラメーター設定時の注意点」、「Java 仮想マシンのチューニング」、および「JVM チューニング:パフォーマンスチューニングのための環境準備」をご参照ください。

アプリケーションのリモートデバッグを有効にするには、お使いの JDK バージョンに対応するコマンドを追加します。

  • JDK 11 および JDK 17

    -agentlib:jdwp=transport=dt_socket,address=*:9000,server=y,suspend=n
  • その他の JDK バージョン

    -agentlib:jdwp=transport=dt_socket,address=9000,server=y,suspend=n

各パラメーターの説明は次のとおりです。

  • transport :リモートデバッグのデータ転送方式。

  • address :リモートデバッグ用のアドレス。これは、リモートデバッグを有効にするときに設定したデバッグポートと一致させる必要があります。詳細については、「リモートデバッグ」をご参照ください。

重要

WAR パッケージと JAR パッケージからデプロイされたアプリケーションの起動コマンドは異なります。混同して使用しないでください。この例のリモートデバッグコマンドは、両方のデプロイ方法に適用されます。

ZIP パッケージ

Startup Command セクションで、スクリプトインタープリターを選択し、コンテナの起動コマンドを設定します。

  • [>_ /bin/sh]

    sh -c 'gunicorn -w 3 -b 0.0.0.0:8080 app.hello:app'
  • [>_ /bin/bash]

    bash -c 'gunicorn -w 3 -b 0.0.0.0:8080 app.hello:app'