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コマンド | 起動コマンドを入力します。 例: |
スタートアップパラメーター | 起動パラメーターを入力します。 例: [+ 追加] をクリックして、新しい行にパラメーターを追加します。 例: |
JARパッケージを使用してアプリケーションをデプロイするときにスタートアップコマンドを構成する
Javaアプリケーションを起動または実行するには、起動コマンドと、Java仮想マシン (JVM) やガベージコレクション (GC) パラメーターなどのパラメーターを設定する必要があります。
SAEは、アップロードしたJARパッケージをイメージに自動的にコンパイルし、イメージをイメージリポジトリにアップロードしてから、アプリケーションをコンテナーとして実行します。 コンパイル中、SAEは組み込みの起動コマンドとパラメーターを使用し、JARパッケージのストレージパスを指定します。 SAEコンソールにログインして、デフォルトの起動コマンドとコマンドパラメータを変更できます。
起動コマンドが無効の場合、アプリケーションの作成に失敗します。 DockerfileのENTRYPOINTまたはCMDコマンドに慣れていない場合は、カスタム起動コマンドとパラメーターを設定したり、デフォルトの起動コマンドとパラメーターを変更したりしないことを推奨します。
この例では、Javaアプリケーションが作成されます。 [デプロイの構成] ステップで、[アプリケーションのデプロイ方法] パラメーターを [JARパッケージによるデプロイ] に設定します。 [スタートアップコマンドの設定] セクションで、パラメーターを設定します。 サンプルの起動コマンドの設定を次の図に示します。
パラメーター | 説明 |
デフォルトの起動コマンド | によって提供されるデフォルトの起動コマンド。SAE. |
オプション設定 | JVMパラメーター。 詳細については、「JVMオプション」、「Java仮想マシンのチューニング」、および「JVMチューニング: パフォーマンスチューニングのために環境を準備する方法」をご参照ください。 アプリケーションのリモートデバッグ機能を使用する場合は、JDKのバージョンに応じて次のコマンドを設定します。
説明:
重要 WARパッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドは、JARパッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドとは異なります。 異なる方法でアプリケーションをデプロイする場合は、同じスタートアップコマンドを使用しないことをお勧めします。 WARパッケージとJARパッケージのどちらを使用してアプリケーションをデプロイするかに関係なく、前述のリモートデバッグコマンドを使用してアプリケーションをデバッグできます。 |
args設定 | 標準出力 (stdout) および標準エラー (stderr) のリダイレクトパラメーター。 例: |
optionsショートカット設定 | このパラメーターは、Java環境パラメーターをDragonwell.
|
WARパッケージを使用してアプリケーションをデプロイするときのスタートアップコマンドの構成
この例では、Javaアプリケーションが作成されます。 [デプロイの構成] ステップで、[アプリケーションのデプロイ方法] パラメーターを [WARパッケージによるデプロイ] に設定します。 [スタートアップコマンドの設定] セクションで、パラメーターを設定します。 サンプルの起動コマンドの設定を次の図に示します。
パラメーター | 説明 |
デフォルトの起動コマンド | によって提供されるデフォルトの起動コマンド。SAE. |
オプション設定 | JVMパラメーター。 詳細については、「JVMオプション」、「Java仮想マシンのチューニング」、および「JVMチューニング: パフォーマンスチューニングのために環境を準備する方法」をご参照ください。 アプリケーションのリモートデバッグ機能を使用する場合は、JDKのバージョンに応じて次のコマンドを設定します。
説明:
重要 WARパッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドは、JARパッケージを使用してアプリケーションをデプロイするときに使用される起動コマンドとは異なります。 異なる方法でアプリケーションをデプロイする場合は、同じスタートアップコマンドを使用しないことをお勧めします。 WARパッケージとJARパッケージのどちらを使用してアプリケーションをデプロイするかに関係なく、前述のリモートデバッグコマンドを使用してアプリケーションをデバッグできます。 |
optionsショートカット設定 | このパラメーターは、Java環境パラメーターをDragonwell.
|
ZIPパッケージを使用してアプリケーションをデプロイするときにスタートアップコマンドを構成する
この例では、Pythonアプリケーションが作成されます。 [デプロイの構成] ステップで、[アプリケーションのデプロイ方法] パラメーターを [ZIPパッケージによるデプロイ] に設定します。 [スタートアップコマンドの設定] セクションで、パラメーターを設定します。 Startup ModeパラメーターをShell Scriptに設定した場合、次のコマンドを実行します。
gunicorn -w 3 -b 0.0.0.0:8080 app.hello:app