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

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

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

Go アプリケーションをスタートするカスタムコマンドを指定するには、[Procfile] という名前のファイルを出典バンドルのルートに含めます。

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

例 [Procfile]
web: bin/server queue_process: bin/queue_processor foo: bin/fooapp

メインアプリケーション web を呼び出し、Procfile の最初のコマンドとしてリストする必要があります。Elastic Beanstalk は、メインの web アプリケーションを環境のルート URL (例: http://my-go-env.elasticbeanstalk.com) で公開します。

Elastic Beanstalk は、名前に web_ プレフィックスがないアプリケーションも実行しますが、これらのアプリケーションはインスタンス外から使用できません。

Elastic Beanstalk では、Procfile のプロセスは継続的に実行される必要があります。Elastic Beanstalk はこれらのアプリケーションをモニタリングし、終了されたアプリケーションをすべて再開します。短期間実行されるプロセスには、Buildfile コマンドを使用します。

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

メモ
  • このトピックの情報は、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 に移行する」を参照してください。

注記

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

Elastic Beanstalk は nginx プロキシを設定し、アプリケーション用の PORT 環境プロパティで指定されたポート番号のアプリケーションにリクエストを転送します。アプリケーションは、このポートを常にリッスンする必要があります。アプリケーション内のこの可変数にアクセスするには、os.Getenv("PORT") メソッドを呼び出します。

Elastic Beanstalk は、PORT 内の最初のアプリケーションのポートの Procfile 環境プロパティで指定されたポート番号を使用します。Procfile 内の以降のアプリケーションでは、ポート番号は 100 ずつ増えていきます。PORT 環境プロパティが設定されていない場合、Elastic Beanstalk は初期ポートに 5000 を使用します。

前述の例では、PORT 環境プロパティは web アプリケーションで 5000、queue_process アプリケーションで 5100、foo アプリケーションで 5200 となります。

次のように、PORT オプションを [aws:elasticbeanstalk:application:environment] 名前空間で設定すると、最初のポートを指定できます。

option_settings: - namespace: aws:elasticbeanstalk:application:environment option_name: PORT value: <first_port_number>

使用しているアプリケーションの環境プロパティの設定の詳細については、「オプション設定」を参照してください。