2012年1月26日木曜日

Eclipseに「AWS Toolkit for Eclipse」を入れてみる

前回のEC2インスタンスにTomcatを導入してみるに続き、第3弾として、開発環境(IDE)であるEclipseに「AWS Toolkit for Eclipse」というプラグインを入れてみようと思います。

AWS Toolkit for Eclipse というのは、以下のような機能があるそうです。

  • 仮想マシンの起動停止機能
  • SSHによるホストへの接続支援機能
  • EBS(Elastic Block Storage)機能
  • SimpleDBアクセス機能
  • Webプロジェクトのデプロイ機能
  • Java用AWS SDK(AWSインフラ上で動くJavaアプリ用のSDK)
  • AWS Explorerを用いたS3やSimpleDBの項目、属性の作成、表示、削除など
  • AWS Elastic Beanstalk(アプリデプロイ機能の強化版)

で、今回はローカル上でアプリを実装し、簡単に(EC2インスタンス上の)Tomcatにデプロイしたいためにこのプラグインを入れることにしました。

※2012/02/04追記:後々調べて分かったのですが、AWS Toolkit for Eclipseを用いてアプリデプロイできる対象は「AWS Elastic Beanstalk」のTomcatのみで、自前でインストールしたTomcatにデプロイできないです。すみません(´・ω・`) 自前でインストールしたTomcatにアプリをデプロイしたい場合は、Tomcatの管理コンソール上でデプロイするか、ローカルPC上で作ったwarファイルをEC2インスタンスに持って行き、/usr/local/tomcat/webappsの下に置かないといけない(はず)です。


以下、導入手順です。

※一応、前提
・(今更こんなことを言うのはあれだが)EC2インスタンス所持済み
・ローカルPCのOSがWindows7
・Puttyインストール済み

1. Eclipse起動
まずはEclipseを起動しましょう。今回使用するEclipseのバージョンは3.7(Indigo)です。AWS Toolkit for Eclipseの公式サイトでも3.7を使用することが推奨されています。

2. プラグインのロケーションURL追加
Eclipse起動後、「ヘルプ」→「新規ソフトウェアのインストール」とクリックして、「インストール」ダイアログを出します。ダイアログの右側にある「追加」ボタンをクリックします。そうすると、「リポジトリーの追加」ダイアログが現れます。「名前」欄には、任意の名前(今回は分かりやすいように「AWS Toolkit for Eclipse」)を入れ、「ロケーション」欄には、「http://aws.amazon.com/eclipse/」と入れます。

「OK」をクリックすれば、追加完了です。

3. インストール開始
上記で「OK」をクリックして、「インストール」ダイアログに戻ると、プラグインがインストールできる状態になっています。ひとまず、「AWS Toolkit for Eclipse」の横にチェックを入れて、関連プラグインを全てインストールすることにします。

チェック入れた後は、「次へ」をクリックします。その後、何回か「次へ」とか「完了」とかをクリックするとインストールが始まります。途中で再起動がかかりますが、再起動後にインストール完了の状態になります。下図の赤丸のところにAWS関係のドロップボックスが表れていればOKかと思います。


4. 各種設定
プラグインをインストールしたEclipseからEC2インスタンスに接続するための設定をしていきます。「設定」→「AWS Toolkit」と辿るとツールの設定画面になります。そこでは、「アカウント名」と「Access Key ID」と「Secret Access Key」を入力します。アカウント名はEC2インスタンスを登録したときのアカウント名(のはず)で、残りの2つに関しては、「find your existing AWS security credential」のリンク(下図の赤丸)をクリックしてセキュリティ証明書のページにアクセスし、赤丸部分をコピペして入力すればOKです。

入力後、「適用」ボタンをクリックし、「OK」ボタンをクリックして設定画面を閉じます。

5. 接続確認
AWS用のパースペクティブに切り替えます。「ウィンドウ」→「パースペクティブを開く」と辿り、「Amazon EC2 Management」を選択して、「OK」をクリックします。


クリックすると、下図のような画面になります。

設定画面で入力した値が正しければ、EC2インスタンスにアクセスし、インスタンスの状態を上図のように表示してくれます。ちなみに、「AWS Management」というパースペクティブで見ても、同じ情報が見れます。

このパースペクティブだと、左側に「AWS Explorer」というビューが表れるんですね。

今回はここまでです。

参考サイト:
http://aws.amazon.com/jp/eclipse/
http://www.atmarkit.co.jp/fjava/rensai4/devtool12/devtool12_2.html

2012年1月25日水曜日

EC2インスタンスにTomcatを導入してみる

前回のEC2インスタンスにJREを導入してみるに続き、第2弾として、APサーバであるTomcatを入れてみようと思います。

マシンのスペックは前回のを参照してください。

今回入れるTomcatのバージョンは、7.0.29 (2012年1月25日時点の最新版)です
# Tomcat7使ったこと無いけど・・・

1. Tomcat本体ダウンロード
http://tomcat.apache.org/download-70.cgiにアクセスし、tar.gz版TomcatのURLをコピーします。tar.gzのところを右クリックして「リンクアドレスをコピー」をクリックすればコピーできると思います。ブラウザによって、右クリックメニューが異なるので注意してください(僕は普段はChromeを使っています)

EC2インスタンスにSSH接続し、rootユーザになります。その後、コピーしたURLをターミナルの画面に貼り付けてwgetします。ちなみに、ディレクトリは/usr/localでいいです。なんで/usr/tmpにcdしてwgetしたんだろ・・・



2. apache-tomcat-7.0.25.tar.gz解凍
ダウンロードしたapache-tomcat-7.0.25.tar.gzを/usr/tmp上で解凍します。

3. シンボリックリンク設定
Tomcat本体に/usr/local/tomcatでアクセスできるようにシンボリックリンクを貼ります。

4. Tomcat起動
/usr/local/tomcat/binに移動し、catalina.shをオプションstartで起動します。本来は起動する前に設定変更が必要ですが、とりあえず保留。


実行すると、数行のメッセージが出た後にプロンプトが返ってきます。すぐに立ち上がったようです。tomcatのプロセスが立ち上がっていればOKです。

そして、ブラウザでTomcatの管理コンソールにアクセス・・・おっと、8080ポートを開けないとダメですね。

5. 8080ポート開放
AWS Management Consoleで8080ポートを開放します。
※注意:あくまで一時的に8080ポートを開けます。セキュリティの観点からするとTomcatの管理コンソールにアクセスできてしまうのはよくないからです。

AWS Management Consoleにアクセスし、以下の手順で設定します(画像キャプチャ参照)
①「Amazon EC2」をクリック
②「Security Groups」をクリック
③インスタンス起動時に実行されるSecurity Groupを一覧から選択する。特に何も設定等をしていなければ、「quick-start-1」でよいはず。実際にインスタンスが何のSecurity Groupで実行されているかは、左ペインのInstancesをクリックし、起動しているインスタンスの「Security Group」カラムを見ればよい
④「Inboud」タブをクリック
⑤ドロップボックスの中から「Custom TCP rule」を選択
⑥「Port range」欄に8080を入力
⑦「Add Rule」をクリック。その後、ボタンの下に「Your changes have not been applied yet.」というメッセージが現れる。
⑧「Apply Rule Changes」をクリック

⑧まで行くと、以下のように許可ポート一覧に8080のポートが追加された状態になります。

6. Tomcat管理コンソールにアクセス
ブラウザで、「http://ホスト名:8080/」 でアクセスしてみます。管理コンソールのページが表示されればTomcatが正常に起動していると言えます。


今日はここまで。

参考URL:
https://www.ibm.com/developerworks/mydeveloperworks/blogs/pgmrk/tags/jre?lang=en
https://www.ibm.com/developerworks/mydeveloperworks/blogs/pgmrk/entry/amazon_web_services__e3_81_ae_e7_84_a1_e6_96_99_e3_83_86_e3_82_a3_e3_82_a2_e3_82_92_e4_bd_bf_e3_81_862?lang=ja

2012年1月24日火曜日

EC2インスタンスにJREを導入してみる

このブログ書くの久々だな・・・

今ちょうどEC2インスタンスをお遊びで使っていまして、今はせいぜいApacheサーバを動かして、静的なWebページを置いているだけですが、本格的にAPサーバ(Tomcat)とDB(MySQL?)を入れようかなと思いまして・・・

その第1弾として、Tomcatを動かすためにOracle(旧Sun)のJREをEC2インスタンスに入れてみました。その手順を記します。

ちなみに、マシンのスペックですが、

  • OS: Amazon Linux AMI
  • Instance Type: Micro(t1.micro)
    • CPU Units: Up to 2 ECUs
    • CPU Cores: 1 Core
    • Memory: 613MB

です。

1. インストールされているJavaの確認
EC2インスタンスにSSH接続し、rootユーザになります。インストールされているJavaを以下のようにコマンドを打って確認します。EC2インスタンス作ってから特にJava周りで設定いじっていなければ、デフォルトとしてOpenJDKが使えるようになっていると思います。そうでない場合は既にOracleのJREが入っているか、何も入っていないかのどちらか(のはず)です。

OpenJDKだったので、OralceのJava(JRE)を入れましょうw

2. OracleのJavaインストーラ入手
ブラウザで、http://java.com/ja/download/manual.jsp にアクセスし、Linux版インストーラ(RPM)のURLをコピーしておきます。おそらく、「Linux x64 RPM」を右クリックして「リンクアドレスをコピー」をクリックすればコピーできると思います。それをターミナルの画面に貼り付けてwgetします。

wgetしたファイルの名前が長すぎるので一応リネームしておきます(jre-6u30-linux-rpm.binに変えます)。


3. インストール実行
jre-6u30-linux-rpm.binに実行権限を付与した上でインストールを実行します。


問題なければ最後に「Done」の文字が現れ、/usr/javaというディレクトリが出来ていると思います。


4. パス設定
いつでもどこでもjavaコマンドが実行できるように、Javaのインストールディレクトリへのパスを設定しておきます。/etc/profileをvi等で開き、下記を追加します。

export JAVA_HOME=/usr/java/latest
export JRE_HOME=$JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=./$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

最後に以下を実行してパス読み込み完了です。

# source /etc/profile

今までrootユーザで実行してきましたが、他のユーザでもOracleのJavaが利用できるようになりました。試しに普段使うユーザーで以下を実行してみてください。

$ java -version


以上です。次はTomcatを入れるぞい。


参考URL:
https://www.ibm.com/developerworks/mydeveloperworks/blogs/pgmrk/tags/jre?lang=en