Elastic Beanstalk Java SE プラットフォームの使用 - AWS Elastic Beanstalk

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

Elastic Beanstalk Java SE プラットフォームの使用

このトピックでは、Java SE プラットフォームで実行される AWS Elastic Beanstalk Java アプリケーションを設定、構築、実行する方法について説明します。

Elastic Beanstalk Java SE プラットフォームは、コンパイルされたJARファイルから独自に実行できる Java ウェブアプリケーションのプラットフォームバージョンのセットです。インスタンス内でコンパイルするには、アプリケーションをローカルでコンパイルするか、ビルドスクリプトを使用してソースコードをアップロードします。Java SE プラットフォームバージョンはプラットフォームブランチにグループ化され、それぞれが Java のメジャーバージョンに対応します。

注記

Elastic Beanstalk はアプリケーションのJARファイルを解析しません。Elastic Beanstalk が必要とするファイルは、 JAR ファイルの外部に保持します。例えば、アプリケーションのソースバンドルのルートにあるワーカー環境cron.yaml ファイルを、 JAR ファイルの横に含めます。

設定オプションは実行中の環境の設定を変更するために Elastic Beanstalk コンソールで利用できます。環境を終了したときにその設定が失われないようにするため、保存済み設定を使用して設定を保存し、それを後で他の環境に適用することができます。

ソースコードの設定を保存する場合、設定ファイルを含めることができます。設定ファイルの設定は、環境を作成するたびに、またはアプリケーションをデプロイするたびに適用されます。設定ファイルを使用して、デプロイの間にパッケージをインストールしたり、スクリプトを実行したり、他のインスタンスのカスタマイズオペレーションを実行することもできます。

Elastic Beanstalk Java SE プラットフォームには、リバースプロキシとして機能する nginx サーバーが含まれています。このサーバーは、キャッシュ型静的コンテンツを提供し、アプリケーションにリクエストを渡します。このプラットフォームには、アプリケーションの負荷を減らすため、ソースコードのフォルダから静的アセットに対応するようプロキシサーバーを設定する設定オプションが用意されています。高度なシナリオでは、ソースバンドルに独自の .conf ファイルを含めて Elastic Beanstalk のプロキシ設定を拡張するか、これを完全に上書きできます。

アプリケーションソースに 1 つのJARファイルのみを指定すると (ソースバンドル内ではなく、単独で)、Elastic Beanstalk はJARファイルの名前を に変更しapplication.jar、 を使用して実行しますjava -jar application.jar。環境でサーバーインスタンスを実行するプロセスを設定するには、オプションの Procfile をソースバンドルに含めます。ソースバンドルルートJARに複数の がある場合、または Java コマンドをカスタマイズしてJVMオプションを設定する場合は、 Procfileが必要です。

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

デプロイ時に Java クラスをコンパイルし、環境内のEC2インスタンスで他のビルドコマンドを実行するには、アプリケーションソースバンドルに Buildfile を含めます。Buildfile を使用すると、ソースコードをそのままデプロイし、JARsローカルでコンパイルするのではなく、サーバー上に構築できます。Java SE プラットフォームには、サーバー上でのビルドを可能にする共通ビルドツールが含まれます。

Elastic Beanstalk Linux ベースのプラットフォームを拡張するさまざまな方法の詳細については、「Elastic Beanstalk Linux プラットフォームの拡張」を参照してください。

Java SE 環境を設定する

Java SE プラットフォーム設定を使用すると、Amazon EC2インスタンスの動作を微調整できます。Elastic Beanstalk コンソールを使用して、Elastic Beanstalk 環境の Amazon EC2インスタンス設定を編集できます。

Elastic Beanstalk コンソールを使用して、Amazon S3 へのログローテーションを有効にでき、アプリケーションが環境から読むことができる変数を設定します。

Elastic Beanstalk コンソールで Java SE 環境を設定するには
  1. Elastic Beanstalk コンソール を開き、リージョンリストで を選択します AWS リージョン。

  2. ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。

    注記

    環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。

  3. ナビゲーションペインで、[設定] を選択します。

  4. [更新、モニタリング、ログ] の設定カテゴリで、[編集] を選択します。

ログオプション

[Log Options (ログオプション)] セクションには、2 つの設定があります。

  • インスタンスプロファイル – アプリケーションに関連付けられた Amazon S3 バケットへのアクセス許可が付与されているインスタンスプロファイルを指定します。

  • Amazon S3 へのログファイルのローテーションを有効にする – アプリケーションの Amazon EC2インスタンスのログファイルをアプリケーションに関連付けられた Amazon S3 バケットにコピーするかどうかを指定します。

静的ファイル

パフォーマンスを向上させるには、静的ファイル セクションを使用して、ウェブアプリケーション内の一連のディレクトリから静的ファイル ( HTMLやイメージなど) を提供するようにプロキシサーバーを設定できます。ディレクトリごとに、仮想パスをディレクトリマッピングに設定します。プロキシサーバーは、指定されたパスのファイルに対するリクエストを受け取ると、アプリケーションにリクエストをルーティングする代わりにファイルを直接  処理します。

設定ファイルまたは、Elastic Beanstalk コンソールを使用した静的ファイルの設定の詳細については、「静的ファイルの提供」を参照してください。

環境プロパティ

環境プロパティセクションでは、アプリケーションを実行している Amazon EC2インスタンスで環境設定を指定できます。環境プロパティは、キーバリューのペアでアプリケーションに渡されます。

Elastic Beanstalk で実行される Java SE 環境内では、System.getenv() 関数を使用して環境変数にアクセスできます。たとえば、次のコードを使用して変数に API_ENDPOINT という名前のプロパティを読み取ることができます。

String endpoint = System.getenv("API_ENDPOINT");

詳細については、「環境プロパティとその他のソフトウェアの設定」を参照してください。

Java SE 設定の名前空間

設定ファイルを使用して、設定オプションを設定し、デプロイの間、他のインスタンス設定タスクを実行できます。設定オプションは、Elastic Beanstalk サービスまたは使用できるプラットフォームで定義し、名前空間に整理できます。

Java SE プラットフォームは、プラットフォーム固有の名前空間を定義しません。aws:elasticbeanstalk:environment:proxy:staticfiles 名前空間を使用して、静的ファイルを配信するようにプロキシを設定できます。詳細と例については、「静的ファイルの提供」を参照してください。

Elastic Beanstalk には、環境をカスタマイズするための多数の設定オプションが用意されています。設定ファイルに加えて、コンソール、保存された設定、EB 、CLIまたは を使用して設定オプションを設定することもできます AWS CLI。詳細については、「設定オプション」を参照してください。

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 サービスまたは使用できるプラットフォームで定義し、名前空間に整理できます。

Java SE プラットフォームは、すべてのプラットフォームでサポートされる名前空間の他に、プラットフォーム固有の設定の名前空間を 1 つサポートします。名前空間 aws:elasticbeanstalk:container:java:staticfiles により、ウェブアプリケーションのパスを、静的コンテンツを含むアプリケーションソースバンドルのフォルダにマッピングするオプションを定義できます。

たとえば、この option_settings スニペットは、静的ファイルの名前空間で 2 つのオプションを定義します。1 つめのオプションはパス /public を [public] というフォルダに、2 つめのオプションはパス /images を [img] というフォルダにマッピングします。

option_settings: aws:elasticbeanstalk:container:java:staticfiles: /html: statichtml /images: staticimages

この名前空間を使用してマッピングされるフォルダは、ソースバンドルのルートに実際に存在するフォルダであることが必要です。ファイル内のフォルダにパスをマッピングすることはできませんJAR。

Elastic Beanstalk には、環境をカスタマイズするための多数の設定オプションが用意されています。設定ファイルに加えて、コンソール、保存された設定、EB 、CLIまたは を使用して設定オプションを設定することもできます AWS CLI。詳細については、「設定オプション」を参照してください。