Java のその他の Elastic Beanstalk アプリケーションとチュートリアルの例 - AWS Elastic Beanstalk

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

Java のその他の Elastic Beanstalk アプリケーションとチュートリアルの例

このセクションでは、追加のアプリケーションとチュートリアルについて説明します。このトピックで前述した Java の QuickStart および Tomcat での Java の QuickStart トピックでは、EB CLI を使用したサンプル Java アプリケーションの起動について説明します。

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

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

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

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

サンプル

名前

サポートされるバージョン

環境タイプ

送信元

説明

Tomcat (単一ページ)

すべての Tomcat with Corretto プラットフォームブランチ

ウェブサーバー

ワーカー

tomcat.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 コンソールで表示できるデバッグ情報を生成するオプションを提供します。

Corretto (単一ページ)

Corretto 11

Corretto 8

ウェブサーバー

corretto.zip

Buildfile 設定ファイルおよび Procfile 設定ファイルを使用する Corretto アプリケーションです。

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

Scorekeep

Java 8 ウェブサーバー クローン the repo at GitHub.com

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

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

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

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

Does it Have Snakes?

Tomcat 8 と Java 8 ウェブサーバー クローン 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

ウェブサーバー

クローン the repo at GitHub.com

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

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

サンプルアプリケーションのある環境を起動する場合(コンソール)
  1. Elastic Beanstalk コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

  2. ナビゲーションペインで、[アプリケーション] を選択します。リストから既存のアプリケーションを選択します。アプリケーションの管理 の手順に従って作成することもできます。

  3. アプリケーションの概要ページで、[Create new environment] (新しい環境の作成) を選択します。

    次の図は、アプリケーションの概要ページを示しています。

    Elastic Beanstalk コンソールに表示された、アプリケーション環境のリストを含むアプリケーションの概要ページの図

    これにより、[Create environment] (環境を作成する) ウィザードが起動します。ウィザードには、新しい環境を作成するための一連のステップが用意されています。

  4. [環境枠] では、[ウェブサーバー環境] または [ワーカー環境]環境枠を選択します。作成後に環境枠を変更することはできません。

    注記

    Windows Server プラットフォームの .NET はワーカー環境枠をsupport していません。

    [アプリケーション情報] フィールドは、以前に選択したアプリケーションに基づいてデフォルトで設定されます。

    [環境情報] では、アプリケーション名に基づいて [環境名] がデフォルトでグループ化されます。別の環境名を使用する場合は、フィールドに別の値を入力できます。必要に応じて [ドメイン] の名前を入力できます。入力しない場合、Elastic Beanstalk は値を自動的に生成します。必要に応じて [環境の説明] を入力することもできます。

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

    注記

    Elastic Beanstalk では、一覧表示されるほとんどのプラットフォームで複数のバージョンがサポートされています。デフォルトでは、選択したプラットフォームとプラットフォームブランチの推奨バージョンがコンソールによって選択されます。アプリケーションで異なるバージョンが必要な場合は、ここでそのバージョンを選択できます。サポートされているプラットフォームのバージョンについては、Elastic Beanstalk でサポートされているプラットフォーム を参照してください。

  6. [アプリケーションコード] では、サンプルアプリケーションを起動するためのいくつかの選択肢があります。

    • ソースコードを指定せずにデフォルトのサンプルアプリケーションを起動するには、[サンプルアプリケーション] を選択します。このアクションは、以前に選択したプラットフォームに対して Elastic Beanstalk が提供する単一ページアプリケーションを選択します。

    • このガイドまたは他のソースからサンプルアプリケーションをダウンロードした場合は、次の手順を実行します。

      1. [コードのアップロード] を選択します。

      2. 次に [ローカルファイル] を選択し、[アプリケーションをアップロード][ファイルを選択] を選択します。

      3. コンピュータのオペレーティングシステムには、ダウンロードしたローカルファイルを選択するためのインターフェイスが表示されます。ソースバンドルファイルを選択して続行します。

  7. [プリセット] では、[単一インスタンス] を選択します。

  8. [Next] を選択します。

  9. [サービスアクセスの設定] ページが表示されます。

    次の図は、[サービスアクセスの設定] ページを示しています。

    [サービスアクセスの設定] ページの図。
  10. [既存のサービスロール] ドロップダウンから値を選択します。

  11. (オプション) EC2 キーペアを以前に作成している場合は、[EC2 キーペア] フィールドドロップダウンから選択できます。これを使用して、Elastic Beanstalk がアプリケーション用にプロビジョニングした Amazon EC2 インスタンスに安全にログインできます。このステップをスキップした場合、環境の作成後に EC2 キーペアをいつでも作成して割り当てることができます。詳細については、「EC2 key pair」を参照してください。

  12. 次に、[EC2 インスタンスプロファイル] ドロップダウンリストに焦点を当てます。このドロップダウンリストに表示される値は、アカウントが以前に新しい環境を作成したかどうかによって異なる場合があります。

    リストに表示されている値に基づいて、次のいずれかの項目を選択します。

    • aws-elasticbeanstalk-ec2-role がドロップダウンリストに表示されている場合は、それをドロップダウンリストから選択します。

    • リストに別の値が表示され、かつそれが環境向けのデフォルト EC2 インスタンスプロファイルである場合、その値をドロップダウンリストから選択します。

    • [EC2 インスタンスプロファイル] ドロップダウンリストに値が表示されない場合は、インスタンスプロファイルを作成する必要があります。

      インスタンスプロファイルを作成する

      インスタンスプロファイルを作成するには、同じページの別の手順に迂回します。この手順の末尾に移動し、次の手順である「EC2 インスタンスプロファイル の IAM ロールを作成する」を展開します。

      「EC2 インスタンスプロファイルの IAM ロールを作成する」ステップを完了し、その後 [EC2 インスタンスプロファイル] 用に選択できる IAM ロールを作成します。その後、このステップに戻ります。

      IAM ロールを作成してリストを更新すると、ドロップダウンリストに選択肢として表示されます。[EC2 インスタンスプロファイル] ドロップダウンリストから、先ほど作成した IAM ロールを選択します。

  13. [Configure service access] (サービスアクセスの設定) ページで [Skip to Review] (確認をスキップ) を選択します。

    これにより、このステップのデフォルト値が選択され、オプションのステップはスキップされます。

  14. [Review] (レビュー) ページに、すべての選択内容の概要が表示されます。

    環境をさらにカスタマイズするには、設定する項目を含むステップの横にある [Edit] (編集) を選択します。以下のオプションは、環境の作成中にのみ設定できます。

    • 環境名

    • ドメイン名

    • プラットフォームのバージョニング

    • プロセッサ

    • VPC

    • 階層

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

    • インスタンスタイプ、ルートボリューム、キーペア、AWS Identity and Access Management (IAM) ロール

    • 内部 Amazon RDS データベース

    • ロードバランサー

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

  15. ページ下部の [Submit] (送信) を選択して、新しい環境の作成を開始します。

サービスアクセスを設定する
EC2 インスタンスプロファイルに選択される IAM ロールを作成するには
  1. [許可の詳細を表示] を選択します。これは [EC2 インスタンスプロファイル] ドロップダウンリストに表示されます。

    [インスタンスプロファイルの許可を表示] というタイトルのモーダルウィンドウが表示されます。このウィンドウには、作成する新しい EC2 インスタンスプロファイルにアタッチする必要がある管理プロファイルが表示されます。IAM コンソールを起動するリンクも提供します。

  2. ウィンドウの上部に表示される [IAM コンソール] リンクを選択します。

  3. IAM コンソールのナビゲーションペインで、[Roles] (ロール) を選択します。

  4. [ロールの作成] を選択します。

  5. [信頼されたエンティティタイプ] から、[AWS サービス] を選択します。

  6. [ユースケース] で、[EC2] を選択します。

  7. [Next] を選択します。

  8. 適切な管理ポリシーをアタッチします。[インスタンスプロファイルの許可を表示] モーダルウィンドウをスクロールして、管理ポリシーを表示します。ポリシーはこちらにも記載されています。

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  9. [Next] を選択します。

  10. ロールの名前を入力します。

  11. (オプション) ロールにタグを追加します。

  12. [ロールの作成] を選択します。

  13. 開いている Elastic Beanstalk コンソールウィンドウに戻ります。

  14. [インスタンスプロファイルの許可を表示] モーダルウィンドウを閉じます。

    重要

    Elastic Beanstalk コンソールを表示するブラウザページを閉じないでください。

  15. [EC2 インスタンスプロファイル] ドロップダウンリストの横にある refresh icon (更新) を選択します。

    これによってドロップダウンリストが更新され、今作成したロールがドロップダウンリストに表示されます。

次のステップ

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

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