SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

今さら聞けない! Amazon Web Servicesによるクラウド超入門

Amazon Web ServicesでサーバサイドJavaの実行環境を構築しよう

今さら聞けない! Amazon Web Servicesによるクラウド超入門 第4回

  • このエントリーをはてなブックマークに追加

 本連載は、IT業界に入ったばかりの新米アプリケーション開発者や、IT業界を目指す学生さんを対象とした、クラウドによるシステム構築講座です。また、業務アプリケーション開発エンジニアでプログラムを書いたり開発環境を整備したりはできるけど、本番環境でのインフラ構築/運用管理などはよく分からないという方にも読み進めていただけるように、概念や用語の解説を入れながら説明します。本連載では、Amazon Web Servicesをつかってクラウドシステム上に簡単なWebシステムを構築していきます。

  • このエントリーをはてなブックマークに追加

はじめに

 前回は、AWSの提供する仮想サーバサービスであるEC2を使ってWebサーバを構築する手順をご紹介しました。今回は、AWSでWebアプリケーションサーバとデータベースサーバを構築し、サーバサイドJavaのプログラムを動かすためのインフラ構築手順を説明します。

対象読者

 本記事は、次の方を対象にしています。

  • クラウドシステムがはじめての人
  • JavaによるWebシステムのプログラミングを行ったことがある人
  • システム基盤について勉強したいと思っている人

データベース連携するWebアプリケーションの構成

 AWSのサービスを使って、データベース連携するサーバサイドJavaのWebアプリケーションを実行する環境は、いくつか考えられます。AWSでは前回ご紹介した仮想サーバサービスのほかに、リレーショナルデータベースの機能を提供する「RDS」や、PaaSサービスである「Elastic Beanstalk」などがあります。

 ここで、主なインフラ構成のパターンをご紹介します。

1.EC2とRDSを利用する方法

EC2とRDSを利用する方法
EC2とRDSを利用する方法

 EC2上にWebアプリケーションサーバをインストールし、データをAWSのRDSに格納する方法です。図のように、サーバサイドJavaのプログラムはWebAPサーバにデプロイします。

 RDSを利用すると、EC2とRDSでネットワーク経由のデータのやり取りが発生します。また、RDSを使うとデータベースサーバを簡単に構築できますが、データベースサーバのOSにログインできませんので、追加プラグインのインストールなどができません。

2.EC2にWebアプリケーションサーバとデータベースサーバを構築する方法

EC2にWebアプリケーションサーバとデータベースサーバを構築する方法
EC2にWebアプリケーションサーバとデータベースサーバを構築する方法

 EC2のインスタンスにWebアプリケーションサーバとデータベースサーバをインストールする方法です。図のように、サーバサイドJavaのプログラムとデータベースを同一のインスタンスで起動します。

 EC2にデータベースサーバをインストールする手間が発生しますが、RDSを利用するときに比べて、データベースの設定の自由度が増します。

 EC2とRDSでネットワーク経由のデータのやり取りが発生しませんが、同一のインスタンスで2つのサーバ機能を動作させるのでその分負荷がかかります。

 なお、図では、同一のインスタンスにWebアプリケーションサーバとデータベースサーバをインストールしていますが、パフォーマンスや冗長性の観点から、別のEC2インスタンスに構築することもできます。

3.Elastic Beanstalkを利用する方法

 AWSが提供するPaaSであるElastic Beanstalkは、EC2/ S3/ELB/Auto Scalingなどの環境を自動で生成し、Webアプリケーションを容易に構築できるサービスです。Elastic BeanstalkはJavaだけでなく、.NET/PHP/Python/Ruby/Node.jsなどの言語での開発もサポートしています。

 本記事では、1のEC2とRDSを使ったインフラ構成を構築する手順を、実際にサンプルアプリを使いながら説明します。

今回構築する環境
今回構築する環境

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
データベースサーバの構築/RDS(1)

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
今さら聞けない! Amazon Web Servicesによるクラウド超入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、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本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 阿佐 志保(アサ シホ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7875 2014/07/18 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング