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

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

Ruby アプリケーションを起動するコマンドを指定するには、出典バンドルのルートに Procfile というファイルを含めます。

注記

Elastic Beanstalk は、Amazon Linux AMI Ruby プラットフォームブランチ (Amazon Linux 2 以前) でこの特徴をsupport していません。with Puma または with Passenger を含む名前を持つプラットフォームブランチは、Ruby のバージョンにかかわらず Procfile の前に付けられ、Amazon Linux 2 の特徴を support しません。

Procfile の記述と使用の詳細については、「Elastic Beanstalk Linux プラットフォームの拡張」の「ビルドファイルと Procfile」セクションを展開してください。

Procfile を指定しない場合、Elastic Beanstalk によって次のデフォルトファイルが生成されます。これは、プリインストールされた Puma アプリケーションサーバーを使用していることを前提としています。

web: puma -C /opt/elasticbeanstalk/config/private/pumaconf.rb

独自の Puma サーバーを使用する場合は、Gemfile を使用してインストールできます。以下の Procfile の例は、スタート方法を示しています。

例 [Procfile]
web: bundle exec puma -C /opt/elasticbeanstalk/config/private/pumaconf.rb

Passenger アプリケーションサーバーを使用する場合は、次のサンプルファイルを使用して、Passenger をインストールして使用するよう Ruby 環境を設定します。

  1. このサンプルファイルを使用して Passenger をインストールします。

    例 Gemfile
    source 'https://rubygems.org' gem 'passenger'
  2. このサンプルファイルを使用して Passenger を起動するよう Elastic Beanstalk に指示します。

    例 [Procfile]
    web: bundle exec passenger start /var/app/current --socket /var/run/puma/my_app.sock
注記

Passenger を使用するために nginx プロキシサーバーの設定に変更を加える必要はありません。他のアプリケーションサーバーを使用するには、nginx 設定をカスタマイズして、リクエストをアプリケーションに適切に転送する必要があります。