[Procfile] でアプリケーションプロセスを設定します - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

[Procfile] でアプリケーションプロセスを設定します

アプリケーションソースバンドルのルートに複数のJARファイルがある場合は、実行する JAR(s) を Elastic Beanstalk に指示するProcfileファイルを含める必要があります。単一のJARアプリケーション用の Procfile ファイルを含めて、アプリケーションを実行する Java 仮想マシン (JVM) を設定することもできます。

ソースバンドルには、アプリケーションとともに常に Procfile を指定することをお勧めします。このようにして、アプリケーションに対して Elastic Beanstalk が実行するプロセスと、これらのプロセスが受け取る引数を正確に制御できます。

の記述と使用の詳細については、Procfile「」を参照してくださいビルドファイルと Procfile

例 [Procfile]
web: java -Xms256m -jar server.jar cache: java -jar mycache.jar web_foo: java -jar other.jar

JAR アプリケーションで main を実行するコマンドは と呼ばれweb、 にリストされている最初のコマンドである必要がありますProcfile。nginx サーバーは、環境のロードバランサーから受信したすべてのHTTPリクエストをこのアプリケーションに転送します。

Elastic Beanstalk は、Procfile 内のすべてのエントリが常に実行されている必要があるとみなし、Procfile に定義されたアプリケーションが終了した場合には自動的に再起動します。終了後に再起動の必要がないコマンドを実行するには、Buildfile を使用します。

Elastic Beanstalk Java SE 環境で Amazon Linux AMIプラットフォームバージョン (Amazon Linux 2 より前) を使用している場合は、このセクションの追加情報をお読みください。

メモ
  • このトピックの情報は、Amazon Linux AMI () に基づくプラットフォームブランチにのみ適用されますAL1。AL2023/AL2 プラットフォームブランチは、以前の Amazon Linux AMI (AL1) プラットフォームバージョンと互換性がなく、異なる構成設定 が必要です

  • 2022 年 7 月 18 日、Elastic Beanstalk は、Amazon Linux AMI (AL1) に基づくすべてのプラットフォームブランチのステータスをリタイアした に設定します。現在および完全にサポートされている Amazon Linux 2023 プラットフォームブランチへの移行の詳細については、「Elastic Beanstalk Linux アプリケーションを Amazon Linux 2023 または Amazon Linux 2 に移行する」を参照してください。

デフォルトでは、Elastic Beanstalk はポート 5000 でアプリケーションにリクエストを送信するように nginx プロキシを設定します。デフォルトのポートを上書きするには、PORT 環境プロパティを、主要なアプリケーションがリッスンするポートに設定します。

を使用して複数のアプリケーションProcfileを実行する場合、Amazon Linux AMIプラットフォームバージョンの Elastic Beanstalk では、追加の各アプリケーションが以前のバージョンよりも高いポート 100 でリッスンすることが想定されます。Elastic Beanstalk は、各アプリケーション内からアクセス可能なPORT変数を、アプリケーションの実行が予想されるポートに設定します。System.getenv("PORT") を呼び出すことで、アプリケーションコード内のこの変数にアクセスできます。

以前の Procfile 例では、web アプリケーションはポート 5000 を、cache はポート 5100 を、web_foo はポート 5200 をリッスンします。[web] は、PORT 変数を読み取ることでリスニングポートを設定し、ポート番号に 100 を足して [cache] がリッスンしているポートを決定し、リクエストを送信します。