メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

Elastic Beanstalk での Java 入門ガイド

AWS Elastic Beanstalk()で Java アプリケーションを開始するには、最初のアプリケーションバージョンとしてアップロードして環境にデプロイするためのアプリケーションソースバンドルが必要です。環境を作成する際、Elastic Beanstalk は、スケーラブルなウェブアプリケーションを実行するのに必要なすべての AWS リソースを割り当てます。

サンプル Java アプリケーションで環境を起動する

Elastic Beanstalk には、各プラットフォーム用の単一ページのサンプルアプリケーションが用意されているほか、追加の AWS リソース(Amazon RDS、言語、プラットフォーム固有の機能と API など)の使用方法を示す複雑なサンプルアプリケーションも用意されています。

単一ページのサンプルは、環境を作成するときに取得する同じコードであり、独自のソースコードを提供する必要はありません。複雑なサンプルアプリケーションは GitHub でホストされ、Elastic Beanstalk 環境にデプロイする前にコンパイルやビルドが必要になる場合があります。

サンプル

名前

サポートされる設定

環境タイプ

送信元

説明

Tomcat のデフォルト

Tomcat 8 と Java 8

Tomcat 7 と Java 7

Tomcat 7 と Java 6

ウェブサーバー

ワーカー

java-tomcat-v3.zip

1 ページ(index.jsp)がウェブサイトのルートに表示されるように設定された Tomcat ウェブアプリケーションです。

ワーカー環境では、このサンプルには、1 分に 1 回 [cron.yaml] を呼び出すスケジュール済みタスク設定する [scheduled.jsp] ファイルが含まれます。scheduled.jsp が呼び出されると、/tmp/sample-app.log のログファイルに書き込まれます。最後に、設定ファイルが .ebextensions に含まれます。この設定ファイルは、/tmp/ のログを、環境ログがリクエストされたときに Elastic Beanstalk が読み取る場所にコピーします。

このサンプルを実行している環境で X-Ray の統合を有効にすると、アプリケーションは X-Ray に関する追加のコンテンツを表示し、X-Ray コンソールで表示できるデバッグ情報を生成するオプションを提供します。

Java SE のデフォルト

Java 8

Java 7

ウェブサーバー

java-se-jetty-gradle-v3.zip

Buildfile 設定ファイルおよび Procfile 設定ファイルを使用する Jetty SE アプリケーションです。このサンプルの Buildfile は、Gradle コマンドを実行し、オンインスタンスでアプリケーションソースを構築します。

このサンプルを実行している環境で X-Ray の統合を有効にすると、アプリケーションは X-Ray に関する追加のコンテンツを表示し、X-Ray コンソールで表示できるデバッグ情報を生成するオプションを提供します。

Scorekeep

Java 8 ウェブサーバー Clone the repo at GitHub.com

Scorekeep は、Spring フレームワークを使ってユーザー、セッション、およびゲームを作成および管理するためのインターフェイスを提供する、RESTful ウェブ API です。API は、HTTP を介して API を使用する Angular 1.5 ウェブアプリを持つバンドルです。

アプリケーションは、Java SE プラットフォームの機能を使って依存関係をダウンロードし、オンインスタンスを構築することで、ソースバンドルのサイズを最小化します。また、アプリケーションには、プロキシを通じてポート 80 で静的にフロントエンドウェブアプリに対応するデフォルト設定を上書きし、localhost:5000 で実行される API に /api 以下のパスをルーティングする nginx 設定ファイルが含まれています。

Scorekeep には、AWS X-Ray で使用する Java アプリケーションの設定方法を示す xray ブランチも含まれます。着信 HTTP リクエストの計測と、サーブレットフィルタ、自動および手動の AWS SDK クライアント計測方法、レコーダー設定、および送信 HTTP リクエストと SQL クライアントの計測が表示されます。

手順については readme を参照し、AWS X-Ray 入門チュートリアルを使用してアプリケーションを X-Ray でお試しください。

Does it Have Snakes?

Tomcat 8 と Java 8 ウェブサーバー Clone the repo at GitHub.com

Does it Have Snakes? は、Elastic Beanstalk 設定ファイル、Amazon RDS、JDBC、PostgreSQL、サーブレット、JSP、簡易タグのサポート、タグファイル、Log4J、ブートストラップ、Jackson の使用方法を示す Tomcat ウェブアプリケーションです。

このプロジェクトのソースコードには、クラスファイルにサーブレットとモデルをコンパイルし、Elastic Beanstalk 環境にデプロイできるウェブアーカイブに必要ファイルをパッケージする、最小限のビルドスクリプトが含まれています。完全な手順については、プロジェクトのリポジトリ内の readme ファイルを参照してください。

Locust Load Generator

Java 8

ウェブサーバー

Clone the repo at GitHub.com

別の Elastic Beanstalk 環境で実行している別のウェブアプリケーションの負荷テストに使用できるウェブアプリケーションです。Buildfile ファイル、Procfile ファイル、DynamoDB、Locust 、オープンソースの負荷テストツールの使用方法を示しています。

任意のサンプルアプリケーションをダウンロードし、次の手順に従って Elastic Beanstalk にデプロイします。

サンプルアプリケーションを使用して環境を起動するには(コンソール)

  1. Elastic Beanstalk コンソールを開きます。

  2. アプリケーションを選択するか、新しいアプリケーションを作成します。

  3. 右上隅の [Actions] メニューから、[Create New Environment] を選択します。

  4. [Web server] と [Worker] 環境タイプのいずれかを選択します。作成後に環境枠を変更することはできません。

  5. [Platform] に、アプリケーションで使用される言語に一致するプラットフォームを選択します。

    注記

    Elastic Beanstalk は、リストされたほとんどのプラットフォームで複数の設定をサポートします。デフォルトでは、最新バージョンの言語、ウェブコンテナ、または Elastic Beanstalk でサポートされるフレームワークがコンソールで選択されます。アプリケーションで古いバージョンが必要な場合は、下の [Configure more options] を選択します。

  6. [App code] で、[Sample application] を選択します。

  7. 環境をさらにカスタマイズするには、[Configure more options] を選択します。以下のオプションは、環境の作成中にのみ設定できます。

    • 環境名

    • ドメイン名

    • プラットフォーム設定

    • VPC

    • 階層

    次の設定は環境の作成後に変更できますが、新しいインスタンスやその他のリソースをプロビジョニングする必要があり、適用までに長い時間がかかる場合があります。

    • インスタンスタイプ、ルートボリューム、キーペア、IAM ロール

    • 内部 RDS データベース

    • ロードバランサー

    すべての使用できる設定の詳細については、「Create New Environment ウィザード」を参照してください。

  8. [Create environment] を選択します。

次のステップ

環境でアプリケーションを実行すると、アプリケーションの新しいバージョンや、まったく異なるアプリケーションをいつでもデプロイできるようになります。新しいアプリケーションバージョンのデプロイは、プロビジョニングや EC2 インスタンスの再開が必要ないため、非常に素早く行えます。

サンプルアプリケーションを 1 つか 2 つデプロイし、Java アプリケーションをローカルで開発および実行する準備が整ったら、次のセクションを参照して、必要なすべてのツールやライブラリとともに Java 開発環境を設定します。