

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

# Elastic Beanstalk Java SE プラットフォームの使用
<a name="java-se-platform"></a>

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

Elastic Beanstalk Java SE プラットフォームは、コンパイルされた JAR ファイルから独自に Java ウェブアプリケーションを実行するための[プラットフォームバージョン](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.javase)のセットです。インスタンス内でコンパイルするには、アプリケーションをローカルでコンパイルするか、ビルドスクリプトを使用してソースコードをアップロードします。Java SE プラットフォームバージョンはプラットフォームブランチにグループ化され、各ブランチは Java の 1 つのメジャーバージョンに対応します。

**注記**  
Elastic Beanstalk では、アプリケーションの JAR ファイルの解析は行われません。Elastic Beanstalk に必要なファイルは、JAR ファイルの外部に保存します。たとえば、[ワーカー環境](using-features-managing-env-tiers.md)の `cron.yaml` ファイルはアプリケーションのソースバンドルのルート (JAR ファイルの横) に含めます。

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

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

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

アプリケーションソースに (ソースバンドル内ではなく、単独で) 単一の JAR ファイルだけを提供した場合は、JAR ファイルの名前が Elastic Beanstalk によって `application.jar` に変更され、`java -jar application.jar` を使用して実行されます。環境でサーバーインスタンスを実行するプロセスを設定するには、オプションの [Procfile](java-se-procfile.md) をソースバンドルに含めます。ソースバンドルのルートに JAR が 2 つ以上ある場合、または java コマンドをカスタマイズして JVM オプションを設定する場合は `Procfile` が必要です。

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

Java クラスをコンパイルし、デプロイ時に環境内の EC2 インスタンスでの他のビルドコマンドを実行するには、アプリケーションバンドルに [Buildfile](java-se-buildfile.md) を含めます。`Buildfile` により、JAR をローカルにコンパイルする代わりに、ソースコードをそのままデプロイしてサーバー上に構築できます。Java SE プラットフォームには、サーバー上でのビルドを可能にする共通ビルドツールが含まれます。

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

## Java SE 環境を設定する
<a name="java-se-options"></a>

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

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

**Elastic Beanstalk コンソールで Java SE 環境を設定するには**

1. [Elastic Beanstalk コンソール](https://console.aws.amazon.com/elasticbeanstalk)を開き、**リージョン**リストで を選択します AWS リージョン。

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

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

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

### ログオプション
<a name="java-se-options-logs"></a>

[Log Options (ログオプション)] セクションには、2 つの設定があります。
+ **インスタンスプロファイル** – アプリケーションに関連付けられた Amazon S3 バケットへのアクセス許可が付与されているインスタンスプロファイルを指定します。
+ **[Enable log file rotation to Amazon S3]** (Amazon S3 へのログファイルのローテーションの有効化) - アプリケーションの Amazon EC2 インスタンスのログファイルを、アプリケーションに関連付けられている Amazon S3 バケットにコピーするかどうかを指定します。

### 静的ファイル
<a name="java-se-options-staticfiles"></a>

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

設定ファイルまたは、Elastic Beanstalk コンソールを使用した静的ファイルの設定の詳細については、「[静的ファイルの提供](environment-cfg-staticfiles.md)」を参照してください。

### 環境プロパティ
<a name="java-se-options-properties"></a>

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

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

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

詳細については、「[環境変数とその他のソフトウェアの設定](environments-cfg-softwaresettings.md)」を参照してください。

## Java SE 設定の名前空間
<a name="java-se-namespaces"></a>

[設定ファイル](ebextensions.md)を使用して、設定オプションを設定し、デプロイの間、他のインスタンス設定タスクを実行できます。設定オプションは、[プラットフォーム固有](command-options-specific.md)のものでも、Elastic Beanstalk サービス全体の[すべてのプラットフォーム](command-options-general.md)に適用できるものでもかまいません。設定オプションは、名前空間として整理されています。

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

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

## (Amazon Linux 2 より前の) Amazon Linux AMI Java SE プラットフォーム
<a name="java-se.alami"></a>

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

**注意事項**  
このトピックの情報は、Amazon Linux AMI (AL1) に基づくプラットフォームブランチにのみ適用されます。AL2023/AL2 プラットフォームブランチでは、以前の Amazon Linux AMI (AL1) プラットフォームバージョンと互換性がなく、*別の構成設定が必要です*。
 [2022 年 7 月 18 日](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html)に、Elastic Beanstalk では Amazon Linux AMI (AL1) に基づくプラットフォームブランチのステータスがすべて**廃止**に設定されました。現在および完全にサポートされている Amazon Linux 2023 プラットフォームブランチへの移行の詳細については、「[Elastic Beanstalk Linux アプリケーションを Amazon Linux 2023 または Amazon Linux 2 に移行する](using-features.migration-al.md)」を参照してください。

### Java SE ネームスペース — Amazon Linux AMI (AL1)
<a name="java-se.alami.namespaces"></a>

[設定ファイル](ebextensions.md)を使用して、設定オプションを設定し、デプロイの間、他のインスタンス設定タスクをパフォーマンスできます。設定オプションは、[プラットフォーム固有](command-options-specific.md)のものでも、Elastic Beanstalk サービス全体の[すべてのプラットフォーム](command-options-general.md)に適用できるものでもかまいません。設定オプションは、名前空間として整理されています。

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

たとえば、この [option\$1settings](ebextensions-optionsettings.md) スニペットは、静的ファイルの名前空間で 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詳細については「[設定オプション](command-options.md)」を参照してください。