【3】オートスケールの設定
[Environment Details]の[Overview]タブの[Edit Configuration]をクリックすると、Elastic Benastalkの設定画面が表示されます。ここで、[Auto Scaling]タブを選択するとオートスケーリングの設定が行えます(図6)。
最低のインスタンス数[Minimum Instance Cound]、負荷に応じてスケールさせたときの最大のインスタンス数[Maximum Instance Count]、クールダウン時間(サーバの増減を行ったときにサーバが起動完了して負荷状況が安定するまで待つ時間)、スケールさせる際の条件をの選択(CPUやI/O、ネットワークなどの値が一定時間以上しきい値を超えたとき)などを設定します。
なお、この設定画面で、サーバの監視やデータベースの設定もできるので、興味がある方は試してみてください。
EclipseからElastic Beanstalkを使ってみよう
AWS Management Consoleを利用すると、簡単にElastic Beanstalkを使えることが確認できたと思います。しかしながら、実際のアプリケーションの開発はEclipse上で行うことが多いと思います。
AWS Toolkit for Eclipseを利用すれば、Eclipse上からアプリケーションを直接デプロイできます。早速ですが、AWS Toolkit for Eclipseを利用してEclipseから使ってみましょう。
準備
AWS Toolkit for Eclipseは下記のアップデートサイトからインストールできます。
- http://aws.amazon.com/eclipse/
インストール時には、全てのプラグインにチェックを入れてインストールします。インストール後、Eclipseの設定画面でAWS Toolkitの設定を行います(図7)。AWSのアカウント情報や、証明書、秘密鍵などを設定します。
また、外部ツールの設定で「Putty」を設定しておくと、Amazon EC2のインスタンスからSSHでログインできるようになります。
アプリケーションの作成・デプロイ
AWSの設定を行うと、Eclipseの新規作成のメニューからAWSプロジェクトの作成ができるようになります(図8)。
ここでは、「AWS Java Web Project」を作成してみましょう。作成したプロジェクトを右クリックし、[Amazon Webサービス]→[Deploy to AWS Elastic Beanstalk]を選択することにより、Elastic Beanstalkにアプリケーションをデプロイできます(図9)。
デプロイを選択すると、リージョン、アプリケーション名、環境名(アプリケーションの実行環境)を聞いてきます(図10)。
必要に応じてキーペアとSSL証明書ID、アプリケーションの死活監視を行うURLを入力します。問題が起きたときに通知するEmailアドレスも入力できます(図11)。
最後に、アプリケーションのバージョン番号を入力すると、[サーバー]ビュー上に起動したアプリケーションが表示されます(図12)。
サーバをクリックすると、エディタに起動したアプリケーションの詳細情報が表示されます。ここで、Environment URLに表示されたURLをクリックすると、起動したアプリケーションのWebページにアクセスできます。オートスケーリングの設定や、Amazon Management Consoleの表示なども、この画面からできます。
AWS Toolkitのデプロイ機能はEclipseでWebアプリケーションを行うためのWTPをベースとしているので、WTPと同じように変更したアプリケーションの再デプロイや、サーバの停止なども行えます。
「PaaSは制約がイロイロあるし……」という人こそ
実際にElastic Beanstalkを利用することにより、他のPaaSと同じように簡単にアプリケーションをデプロイ、実行さらにスケールアウトできることが確認できたと思います。
PaaSサービスは他にもいろいろありますが、やはりElastic Beanstalkの最大の売りは「制約が緩い」ことでしょう。Elastic Beanstalk上で動作するアプリは、実際にはAmazon EC2の仮想マシン上で動作しているので、他のサイトとの連携処理や、スレッド/プロセス呼び出し処理など、他のPaaSでは難しい処理も簡単にできますし、データベースも用途に応じたものが選択できます。「PaaSを利用したいけど、いろいろ制約条件が……」と思っている方は、ぜひElastic Beanstalkを使ってみてください。
AWS Elastic Beanstalkのより詳細な紹介についてはAmazon Web Servicesのサイトをご覧ください。
- exe/dmgしか知らない人のためのインストール/パッケージ管理/ビルドの基礎知識
- これでGitも怖くない! GUIでのバージョン管理が無料でできるSourceTreeの7つの特徴とは
- DevOps時代の開発者のためのOSSクラウド運用管理ツール5選まとめ
- GitHubはリアルRPG? そして、ソーシャルコーディングへ
- ついにメジャーバージョンUP! Eclipse 4.2の新機能7選
- いまアツいアジャイルプロジェクト管理ツール9選+Pivotal Tracker入門
- Git管理の神ツール「Gitolite」なら、ここまでできる!
- Java開発者が知らないと損するPaaSクラウド8選
- Eclipse 3.7 Indigo公開、e4、Orion、そしてクラウドへ
- AWSの自由自在なPaaS「Elastic Beanstalk」とは
- Ant使いでもMavenのライブラリ管理ができるIvyとは
- 「Hudson」改め「Jenkins」で始めるCI(継続的インテグレーション)入門
- Bazaarでござ〜る。猿でもできる分散バージョン管理“超”入門
- Review Boardならコードレビューを効率良くできる!
- Team Foundation ServerでJava開発は大丈夫か?
- コード探知機「Sonar」でプロジェクトの深海を探れ!
- 単体テストを“神速”化するQuick JUnitとMockito
- Java EE 6/Tomcat 7/Gitに対応したEclipse 3.6
- AzureのストレージをJavaで扱えるWindowsAzure4j
- 究極の問題解析ツール、逆コンパイラJD-Eclipseとは
- AWS ToolkitでTomcatクラスタをAmazon EC2上に楽々構築
- DB設計の神ツール「ERMaster」なら、ここまでできる
- Webのバグを燃やしまくるFirebugと、そのアドオン7選
- Googlerも使っているIntelliJ IDEAのOSS版を試す
- JUnit/FindBugs/PMDなどを総観できるQALab/Limy
- ブラウザを選ばずWebテストを自動化するSelenium
- Eclipse 3.5 Galileoの「実に面白い」新機能とは
- App Engine/AptanaなどJavaクラウド4つを徹底比較
- Aptanaなら開発環境とクラウドの連携が超お手軽!
- 分散バージョン管理Git/Mercurial/Bazaar徹底比較
- SubversionとTracでファイル管理の“迷宮”から脱出
- Trac Lightningで始めるチケット式開発「電撃」入門
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Cloud Quest〜そして、雲活へ…
クラウドを制するものは、ITを制す! クラウドに関する情報をまとめた@IT特設コーナーです。クラウドを理解して最適なサービスを比較・検討し、SaaS・PaaS・IaaS・DaaSといったクラウド活用(雲活)へつなげてください