Elastic Beanstalkアプリケーションの作成と動作確認
前節で、手順の1と2が終了しました。この節では、手順3と4を行い、ローカルで動作確認済みのfirstawsjavaアプリケーションをAWS上で動作させましょう。
AWSのリージョン選択
先述のように、firstawsjavaを動作させる環境として、Elastic Beanstalkを利用します。そのために、まず、Elastic Beanstalkアプリケーションを作成する必要があり、これは、Eclipseではなく、AWSコンソールから行います。
AWS Toolkit for Eclipseが未対応
本来なら、AWS Toolkit for Eclipseには、EclipseからElastic Beanstalk環境を作成できる機能があります。図6のメニューに、[新規AWS Elastic Beanstalk環境]というメニューがあり、これが該当します。このメニューから表示されるウィザードを利用すると、Elastic Beanstalk環境をEclipseから作成でき、そのリモート環境にfirstawsjavaプロジェクトをひもづけることもできます。まるでローカル環境のようにElastic Beanstalk環境にデプロイすることも可能です。
しかし、現状、この機能は利用できません。というのは、AWS Toolkit for Eclipseの推奨動作環境がJava 8と、かなり古いものとなっています。最新のPleiades All in One Eclipseは、Java 16で動作するようになっており、AWS Toolkit for Eclipseが未対応の動作環境となっています。これが動作しない原因です。
そのため、本稿では、手動でElastic Beanstalk環境の構築、デプロイを行うことにします。
AWSコンソールからElastic Beanstalkアプリケーションを作成する前に、リージョンを選択しておきましょう。リージョンとは、AWSのサーバ郡が配置された地域と思っておいて問題ないでしょう。AWSコンソールの右上、名前が表示された右横に地域が表示されています。そこをクリックすると、リージョンリストが表示されるので、適切なところを選択してください(図16)。
図16のように、筆者は関西在住なので、大阪を選択しています。
Elastic Beanstalkアプリケーションの作成
選択したリージョンにElastic Beanstalkアプリケーションを作成していきます。AWSコンソールの左上の[サービス]リンクをクリックしてください。図17のメニューが表示されます。
このメニューから、[Elastic Beanstalk]をクリックしてください([コンピューティング]セクションに含まれています)。すると、図18の画面が表示されるので、[Create Application]ボタンをクリックします。
すると、図19のWebアプリケーションの作成画面が表示されます。
[アプリケーション名]として「FirstEBJava」を入力し、[プラットフォーム]から「Tomcat」を選択します。すると、[プラットフォームのブランチ]、[プラットフォームのバージョン]が、図19のように、推奨されたものが自動的に選択されます。[アプリケーションタグ]については、未入力でかまいません。
そのまま画面をスクロールし、[アプリケーションコード]セクションでは、「コードのアップロード」を選択します。すると、[ソースコード元]セクションが表示されるので、「ローカルファイル」が選択されていることを確認し、[ファイルを選択]から、図15のtargetフォルダ内に作成されたfirstawsjava-1.0.0.warファイルを選択します。すると、自動的に画面は図20の表示になります。
この状態で[アプリケーションの作成]ボタンをクリックします。すると、画面が切り替わり、数分間ほど環境構築がAWS上で行われます。その途中で、FirstEBJavaアプリケーションを動作させるための環境として、Firstebjava-env(自動命名)が作成され、その環境にfirstawsjava-1.0.0.warがデプロイされます。これらは全て自動なので、しばらく待ちます。最終的に、画面が図21のように表示されると、Elastic Beanstalk環境が無事稼働したことになります。
まとめると、Elastic Beanstalkでは、アプリケーション名を入力して、プラットフォームを選択し、動作させるアプリケーションをアップロードするだけで、それに合わせて自動で環境が構築されるようになります。
ここでは、firstawsjavaプロジェクトを動作させるために、以下のものを作成しました。
- Elastic Beanstalkアプリケーション: FirstEBJava
- FirstEBJavaを稼働させるためのElastic Beanstalk環境: Firstebjava-env
- Firstebjava-env環境上で動作するアプリケーション(ソースセット): firstawsjava-1.0.0.war
AWSでの動作確認
これで、AWS上でアプリケーションが無事稼働したので、動作確認を行っておきましょう。図21の左上に、「Firstebjava-env.….elasticbeanstalk.com」というリンクが表示されています。
これは、おのおのの環境でユニークなので、各自、表示されたリンクをクリックしてください。すると、index.jspが実行されて、「HelloWorld!」が表示されます。さらに、このURLの末尾に/helloを付記して実行してみてください。同じく、HelloServletが実行されて、「HelloWorld!」と表示されます。
EclipseからAWSの稼働状況の確認
最後に、EclipseからAWSの稼働状況を確認する方法を紹介します。
AWSパースペクティブ
図5にあるように、AWS Toolkit for Eclipseをインストールすると、AWSエクスプローラービューが表示されており、このビューから、AWSのさまざまなサービスの稼働状況を確認することができます。
さらに、これらの稼働状況をより詳細に確認するためのパースペクティブも用意されています。それを利用していきましょう。図6のAWS Toolkitのメニューから[AWS管理パースペクティブを開く]を選択してください。Eclipseは、図22の画面になります。
まず、Eclipseがアクセスするリージョンを選択します。左上のAWSエクスプローラービューのアイコンをクリックします。すると、図23のリージョンリストが表示されるので、FirstEBJavaアプリケーションを作成したリージョンと同一のものを選択してください。
すると、図24のように現在稼働中のサービスが表示され、Eclipseから確認できるようになります。
図24では、Firstebjava-envをダブルクリックしてエディタ領域に詳細内容も表示させています。さらに、画面下部のEC2インスタンスビューで、現在稼働中のEC2として、Firstebjava-envも確認できます。先述のように、Elastic Beanstalkは、その実体はEC2など、既存のAWSサービスを組み合わせて、その構築を自動化したものというのが、この稼働状況からも確認できるでしょう。
Elastic Beanstalkアプリケーションの終了
このように、EclipseとそのプラグインであるAWS Toolkit for Eclipse、さらに、Elastic Beanstalkを利用すると、簡単にJavaのWebアプリケーションを本番環境で動作させることができます。
なお、AWSは従量課金制なので、ここで作成したFirstEBJavaアプリケーションを稼働し続けていると、その分課金されてしまいます。無料枠がある方ならばいいですが、動作確認が終了し、特に問題がなければ、破棄させておきましょう。これも、Eclipseから行えます。
AWSエクスプローラービューから、FirstEBJavaを右クリックし、表示された[Delete Application]を選択します(図25)。
削除には数分かかるので、しばらく経ってから、Elastic Beanstalkダッシュボードから該当アプリケーションが環境とともに削除されていることを確認してください。
最後に
Eclipseを紹介する本連載も、これで終了となります。20年経ってもまだまだコーディングの現場で活躍しているEclipseの魅力の一端でも味わっていただけたのなら、嬉しい限りです。