ラベル AWS の投稿を表示しています。 すべての投稿を表示
ラベル AWS の投稿を表示しています。 すべての投稿を表示

2014年2月11日火曜日

Spring Tool SuiteでWebアプリ作成その10

折角、AWSにMongoDBサーバを立てたわけですが、Security Groupsでポートを解放しても外部から接続できない事象が発生。
その対応方法をまとめます。

【直接原因】
/etc/sysconfig/iptablesにMongoDBのポート開放設定がないため。
なのでポートを開放すると接続できました。まずは解決。

参考サイト
Linuxでポート開放する

そこでふと疑問が。なんで前回立てたTomcat APサーバのポートはSecurity Groupsでのポート開放のみでOKだったのか。
多分の回答は、以下の通りサーバ作成時ベースにしたAMIの違いのようです。
Tomcat APサーバ:AMI = Amazon Linux AMI 2013.09.2 - ami-def297ee (32-bit)
MongoDBサーバ:AMI = Red Hat Enterprise Linux 6.4 - ami-baa63b8a (32-bit)

皆さん、AMIを選択する際はご注意を。

その他、最初mongo.confの設定を疑ったのでその時の参考サイト。
  1. mongoDBの公式おすすめ設定、mongodb.conf、クエリチューニングなど
  2. Run-time Database Configuration
  3. AWS/MongDBの利用事例
おまけで、よく使うlessコマンドで行番号を出力するオプションについて。
lessで行番号表示

2014年2月2日日曜日

Spring Tool SuiteでWebアプリ作成その9

前回の投稿でAWSまわりの初期設定を行ったわけですがその続き。

まずは、AWSへのクライアント設定で出てきたTeraTermの便利設定の資料リンクまとめ。
  1. Tera Termマクロ活用入門(1):各種ログインを自動化する
  2. TeraTermで初期設定ファイルを読み込ませる
ついでに途中で64bit版と32bit版どちらかわからなくなったので。

2014年1月24日金曜日

Spring Tool SuiteでWebアプリ作成その8

2014/05/03追記
サーバ再起動するとPublic DNS変わっちゃうから注意。

ローカルのTomcatで動作確認できたということで次のステップは・・・
AWS上のTomcatで動作させてみよう。

ということで、まずはネットサーフィン。
  1. EC2インスタンスにJREを導入してみる 
  2. AWSとは? 
  3. AWS入門 
まずは、Tomcat入れる前に「AWSとは?」で基本を学ぶかな。
アカウント作成はしたものの、英語の管理画面に酔いそうだったので・・・。

1.勉強する前に下準備。まずはクライアント環境構築。
※クライアントが接続に必要なpemファイルはLinuxインスタンス作成時に作成したものです。後日いつこのファイル作ったのかわからなくなったので追記。

以下のクライアントソフトをインストール。
TeraTermは公式サイト、PuTTYgenはWinSCPのインストールサイトから。
AWS公式手順はこちら。
  1. TeraTerm
  2. WinSCP(AWS推奨。Connectボタン押すとPuTTyと共にの設定手順が出てくるので)
  3. PuTTYgen(WinSCP用にprivate keyを変換するため) 
※WinSCPインストール時にPuTTYgenも選択できます。
※TeraTermでログインするには
   1. ホストに"ec2-user@ec2-54-200-154-193.us-west-2.compute.amazonaws.com" ※Public DNSは毎回変わるから注意。
   2. 秘密鍵を指定して接続
 
2.次は、Amazon Linuxのインスタンスを作成。
以下のサイトでまずは、tomcatをインストールしてみます。
※1.のサイトでやっていたJREインストールは元から入ってるやつでOKと判断しました。
・EC2 Micro Instance で Tomcat6 を立ち上げてみた

ポートが空いてないようでインターネットからのアクセスは失敗。ポート設定手順調べなきゃ。
⇒AWSコンソールからSecurity Groupsに追加でOKでした。

3.その次は、STSにTool Kit For Eclipseを導入してみますか。
・AWS ToolkitでTomcatクラスタをAmazon EC2上に楽々構築
⇒本家AWS Toolkit for Eclipse
⇒Tool Kitの導入は出来たけど実行サーバにAmazon EC2 Tomcat v6.0 Clusterが追加されない。こんな感じで出てくるはずなんだが。
⇒EclipseからAWSにデプロイは魅力なんだが代替案があるので一端調査中止。

4. 最後はMongoDBを導入かな。
・AWSで今から始めるmongodb(1) インストールからサーバ接続まで
※confの作成コマンドはlinux上でファイル編集時には重宝しそうなので覚えておくと吉。
※catがEOFが出現するまで入力文字列を書き出すコマンドになる。
$cat <<EOF > 出力先ファイル
>入力文字列
>入力文字列
>EOF

折角なので、以下のLinuxの標準ディレクトリ構成でインストールします。
$sudo tar zxvf mongodb-linux-i686-2.2.7.tgz -C /usr/share
※-C 指定したディレクトリに展開

メインディレクトリ:/usr/share/mongodb-2.2.7
メインディレクトリの配下に
bin
script
conf    ->/etc/mongodb-2.2.7
data    ->/var/data/mongodb-2.2.7
log      ->/var/log/mongodb-2.2.7
conf以下はすべてシンボリックリンク。(以下設定コマンド)
$pwd
/usr/share/mongodb-2.2.7
$sudo ln -s /etc/mongodb-2.2.7 conf
$sudo ln -s /var/data/mongodb-2.2.7 data
$sudo ln -s /var/log/mongodb-2.2.7 log

その他補足コマンド
バックエンドで実行中のコマンド確認
$sudo ps alx
MongoDB停止
$sudo kill -2 [プロセスID]

追記:
MongoDBインストールしながら、DB接続にはユーザIDとパスワードは設定するでしょ。
ということに気づき、以前作ったRESTアプリにユーザIDとパスワード設定機能を追加しました。
修正ソース
dw.spring3.rest.config.AppConfig
mongodb.properties

あと、テスト用にAWSのAPサーバにもMongoDBをインストールしました。(クライアントのみ使用を想定)
最後にMongoDBの設定ファイルを簡単にまとめたサイトリンク。