Amazon Web ServicesでサーバサイドJavaの実行環境を構築しよう
今さら聞けない! Amazon Web Servicesによるクラウド超入門 第4回
ダウンロード サンプルファイル (372.1 KB)
Webアプリケーションサーバの構築/EC2(2)
Apache Tomcat 7の起動
Tomcat 7のインストールおよび設定が完了したら、次のコマンドでTomcat 7サーバを起動します。
$ sudo service tomcat7 start Starting tomcat7: [ OK ]
EC2インスタンスを再起動した後も、Tomcat 7を自動起動させるため、次のコマンドを実行します。
$ sudo chkconfig tomcat7 on $ chkconfig --list |grep tomcat tomcat7 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Tomcat 7のインストールが完了したら動作確認をします。
Tomcat 7はポート番号8080を使用して通信を行いますので、次の書式でブラウザからアクセスします。
例えば、EC2インスタンスのPublic IPが54.238.252.107のときは、次のようなアクセスになります。
Webアプリケーションのデプロイ
まず、ダウンロードサンプルのwarファイルをEclipseなどのIDEで開きます。そして、サンプルのデータベース接続先のコードを次のように変更します。
public class TestModel {
~中略~
// 1.データベースの接続先情報を指定
private final static String URI = "jdbc:mysql://(RDSのEndpoint):3306/testdb";
// 2.データベースに接続するときのユーザ名とパスワードを指定
private final static String DBUSER = "dbuser";
private final static String PASSWORD = "password";
コードの説明をします。
1.データベースの接続先情報を指定
AWSのRDSに接続するための接続情報を次の書式で設定します。
例えば、RDSのEndpointがtestdb.xxx.rds.amazonaws.comでデータベースの名前がtestdbの場合は、
jdbc:mysql://testdb.xxx.rds.amazonaws.com:3306/testdb
と指定します。
2. データベースに接続するときのユーザ名とパスワードを指定
データベースに接続するためのユーザ名とパスワードを指定します。これはRDSインスタンスを生成したときに、AWSマネジメントコンソールで指定したMaster UsernameとMaster Passwordのことです。
コードの修正が終わったら、warファイルを作成します。Eclipseを使用している場合、[ファイル]―[エクスポート]で作成できます。
次に、このwarファイルをEC2インスタンスにデプロイします。デプロイとは、開発環境で作成したアプリケーションを実行環境に配置することです。TeraTermでTomcat 7をインストールしたEC2インスタンスにログインします。TeraTermのメニューで[ファイル]-[SSH SCP]を選択し、作成したAWSTest.warをアップロードします。
EC2インスタンスで次のコマンドを実行し、アップロードしたAWSTest.warをTomcat 7インストールフォルダのwebapps配下にコピーします。
$ sudo cp /home/ec2-user/AWSTest.war /usr/share/tomcat7/webapps/
以上でWebアプリケーションのサーバへの配置が終わりました。
動作確認
Web アプリケーションのデプロイとデータベースの作成が完了したら、サンプルWebアプリケーションの動作確認をします。
次のURLにブラウザから次の書式でアクセスします。
例えば、EC2インスタンスのPublic IPが54.238.184.158にインストールしたときは、次のようなアクセスになります。
正しくアクセスできると、EC2上にデプロイしたサンプルアプリから、RDS上に登録されたデータが取得できているのが分かります。
おわりに
今回の記事では、Amazon社が提供するクラウドサービスであるAWSの主要なサービスである、仮想サーバEC2と仮想リレーショナルデータベースRDSの使いかたを紹介しました。クラウドのIaaSサービスを上手に使うと、短時間で容易にWebシステムを構築できます。さらに、クラウドの持つ負荷分散機能やプライベートネットワーク構築機能/自動リソース増強機能などを組み合わせて使えば、さらに柔軟なインフラを構築することができます。これからも、クラウドを使って夢のあるシステムを作ってくださいね。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- 今さら聞けない! Amazon Web Servicesによるクラウド超入門連載記事一覧
-
- Amazon Web ServicesでサーバサイドJavaの実行環境を構築しよう
- Amazon Web Servicesのロードバランサで負荷分散するWebサーバを構築しよ...
- Amazon Web Servicesの仮想サーバEC2でLinuxサーバを構築してみよう
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 阿佐 志保(アサ シホ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア



