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

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

最終更新日:Nov 01, 2024

Serverless App Engine (SAE) コンソールでイメージまたはコードパッケージを使用してアプリケーションをデプロイする場合、SAEは、コンテナーイメージまたはコードパッケージの事前設定された起動パラメーターを使用してコンテナーを起動します。 コンテナの起動前にNGINX設定などのカスタム設定を構成する場合、またはプリセットの起動パラメーターを使用しない場合は、SAEでアプリケーションの起動コマンドを構成して、イメージファイル内のプリセットパラメーター設定を上書きできます。

背景情報

イメージを作成する前に、コンテナーのスタートアップ設定をDockerfileのENTRYPOINTまたはCMDコマンドで指定します。 コンテナーが起動されると、Dockerfileのコマンドが優先的に実行されます。

この例では、次のコマンドがDockerfileにプリセットされています。 コンテナーが起動されると、まずコマンドが実行されます。

ubuntuからの


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

使用上の注意

アプリケーションを作成するとき、またはアプリケーションをデプロイするときに、起動コマンドを設定できます。

  • アプリケーションを作成するときは、[アプリケーションの作成] ページの [デプロイの設定] ステップで起動コマンドを設定できます。

  • アプリケーションをデプロイするときは、アプリケーション内のインスタンス数に基づいて次の操作を実行します。

    • インスタンス数が1以上の場合、アプリケーションの [基本情報] ページで [アプリケーションのデプロイ] をクリックします。 [アプリケーションの展開] ページで、ビジネス要件に基づいてパラメーターを設定します。

    • インスタンス数が0の場合、アプリケーションの [基本情報] ページで [アプリケーション設定の変更] をクリックします。 [アプリケーション設定の変更] ページで、ビジネス要件に基づいてパラメーターを設定します。

      説明

      アプリケーションの設定が変更された後、アプリケーションのインスタンス数が0を超えたときに設定が有効になります。

イメージを使用してアプリケーションをデプロイするときのスタートアップコマンドの設定

この例では、Javaアプリケーションが作成されます。 [デプロイの構成] ステップで、[アプリケーションのデプロイ方法] パラメーターを [イメージ] に設定します。 [スタートアップコマンドの設定] セクションで、パラメーターを設定します。 Startup ModeパラメーターをDocker Nativeに設定した場合、次の図に示すコマンドを実行します。

设置镜像部署启动命令

この例では、ENTRYPOINT: [nginx, '-g', 'daemon off;'] コマンドが設定されています。 コマンドのパラメーターを次の表に示します。

パラメーター

説明

Startupコマンド

起動コマンドを入力します。 例: nginx

スタートアップパラメーター

起動パラメーターを入力します。 例: -g

[+ 追加] をクリックして、新しい行にパラメーターを追加します。 例: daemon off

JARパッケージを使用してアプリケーションをデプロイするときにスタートアップコマンドを構成する

Javaアプリケーションを起動または実行するには、起動コマンドと、Java仮想マシン (JVM) やガベージコレクション (GC) パラメーターなどのパラメーターを設定する必要があります。

SAEは、アップロードしたJARパッケージをイメージに自動的にコンパイルし、イメージをイメージリポジトリにアップロードしてから、アプリケーションをコンテナーとして実行します。 コンパイル中、SAEは組み込みの起動コマンドとパラメーターを使用し、JARパッケージのストレージパスを指定します。 SAEコンソールにログインして、デフォルトの起動コマンドとコマンドパラメータを変更できます。

重要

起動コマンドが無効の場合、アプリケーションの作成に失敗します。 DockerfileのENTRYPOINTまたはCMDコマンドに慣れていない場合は、カスタム起動コマンドとパラメーターを設定したり、デフォルトの起動コマンドとパラメーターを変更したりしないことを推奨します。

この例では、Javaアプリケーションが作成されます。 [デプロイの構成] ステップで、[アプリケーションのデプロイ方法] パラメーターを [JARパッケージによるデプロイ] に設定します。 [スタートアップコマンドの設定] セクションで、パラメーターを設定します。 サンプルの起動コマンドの設定を次の図に示します。

配置启动命令

パラメーター

説明

デフォルトの起動コマンド

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

オプション設定

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: O&Mエンジニアがリモートデバッグを実行するクライアントのIPアドレス。 リモートデバッグを有効にしたときに指定したポートを使用します。 詳細については、「リモートデバッグの実行」をご参照ください。

重要

WARパッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドは、JARパッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドとは異なります。 異なる方法でアプリケーションをデプロイする場合は、同じスタートアップコマンドを使用しないことをお勧めします。 WARパッケージとJARパッケージのどちらを使用してアプリケーションをデプロイするかに関係なく、前述のリモートデバッグコマンドを使用してアプリケーションをデバッグできます。

args設定

標準出力 (stdout) および標準エラー (stderr) のリダイレクトパラメーター。 例: 1>>/tmp/std.log>&1

optionsショートカット設定

このパラメーターは、Java環境パラメーターをDragonwell.

  • マイクロサービスのパフォーマンス向上の有効化 (Wisp2 Coroutine): デフォルトでは、この機能は有効になっています。 この機能により、実行時の複数スレッドのパフォーマンスが向上します。

  • Enable Application Memory Optimization (G1): デフォルトでは、この機能は有効になっています。 この機能により、複数のCPUと大容量メモリが必要なシナリオでGC時間が短縮されます。 この機能は、GC最適化およびビッグデータシナリオにも適しています。

  • Application Startup Acceleration (クイックスタート) の有効化: このパラメーターは、Java EnvironmentパラメーターをDragonwell 11に設定した場合にのみ使用できます。 [Application Startup Accelerationの有効化 (クイックスタート)] を選択し、[Persistent Storage Directory] パラメーターを設定して、アプリケーションの起動効率を向上させることができます。

    重要

    Enable Application Startup Acceleration (クイックスタート) を選択する前に、File Storage NASファイルシステムを設定する必要があります。 詳細は、「NASストレージの設定」をご参照ください。

  • Persistent Storage Directory: このパラメーターは、[アプリケーションのスタートアップアクセラレーションを有効にする (クイックスタート)] を選択した場合に必要です。 インスタンス間でアプリケーションの起動を高速化するには、Persistent Storage DirectoryパラメーターをNASファイルシステムのディレクトリまたはサブディレクトリに設定することを推奨します。 NASファイルシステムの設定方法については、「NASストレージの設定」をご参照ください。

WARパッケージを使用してアプリケーションをデプロイするときのスタートアップコマンドの構成

この例では、Javaアプリケーションが作成されます。 [デプロイの構成] ステップで、[アプリケーションのデプロイ方法] パラメーターを [WARパッケージによるデプロイ] に設定します。 [スタートアップコマンドの設定] セクションで、パラメーターを設定します。 サンプルの起動コマンドの設定を次の図に示します。

配置启动参数-WAR包部署应用到SAE

パラメーター

説明

デフォルトの起動コマンド

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

オプション設定

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: O&Mエンジニアがリモートデバッグを実行するクライアントのIPアドレス。 リモートデバッグを有効にしたときに指定したポートを使用します。 詳細については、「リモートデバッグの実行」をご参照ください。

重要

WARパッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドは、JARパッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドとは異なります。 異なる方法でアプリケーションをデプロイする場合は、同じスタートアップコマンドを使用しないことをお勧めします。 WARパッケージとJARパッケージのどちらを使用してアプリケーションをデプロイするかに関係なく、前述のリモートデバッグコマンドを使用してアプリケーションをデバッグできます。

optionsショートカット設定

このパラメーターは、Java環境パラメーターをDragonwell.

  • マイクロサービスのパフォーマンス向上の有効化 (Wisp2 Coroutine): デフォルトでは、この機能は有効になっています。 この機能により、実行時の複数スレッドのパフォーマンスが向上します。

  • Enable Application Memory Optimization (G1): デフォルトでは、この機能は有効になっています。 この機能により、複数のCPUと大容量メモリが必要なシナリオでGC時間が短縮されます。 この機能は、GC最適化およびビッグデータシナリオにも適しています。

  • Application Startup Acceleration (クイックスタート) の有効化: このパラメーターは、Java EnvironmentパラメーターをDragonwell 11に設定した場合にのみ使用できます。 [Application Startup Accelerationの有効化 (クイックスタート)] を選択し、[Persistent Storage Directory] パラメーターを設定して、アプリケーションの起動効率を向上させることができます。

    重要

    Enable Application Startup Acceleration (クイックスタート) を選択する前に、File Storage NASファイルシステムを設定する必要があります。 詳細は、「NASストレージの設定」をご参照ください。

  • Persistent Storage Directory: このパラメーターは、[アプリケーションのスタートアップアクセラレーションを有効にする (クイックスタート)] を選択した場合に必要です。 インスタンス間でアプリケーションの起動を高速化するには、Persistent Storage DirectoryパラメーターをNASファイルシステムのディレクトリまたはサブディレクトリに設定することを推奨します。 NASファイルシステムの設定方法については、「NASストレージの設定」をご参照ください。

ZIPパッケージを使用してアプリケーションをデプロイするときにスタートアップコマンドを構成する

この例では、Pythonアプリケーションが作成されます。 [デプロイの構成] ステップで、[アプリケーションのデプロイ方法] パラメーターを [ZIPパッケージによるデプロイ] に設定します。 [スタートアップコマンドの設定] セクションで、パラメーターを設定します。 Startup ModeパラメーターをShell Scriptに設定した場合、次のコマンドを実行します。

gunicorn -w 3 -b 0.0.0.0:8080 app.hello:app

sc_startup_command_for_ptyhon_application_via_shell