AWS Elastic Beanstalk を使う その6

Beanstalkでインスタンス立ち上げると、次に思うのがTomcatのバージョン上げたり、server.xml編集したりいろいろやりたい!ってはず!?

ということで、方法が無いか調べたらあっさり分かりました。

まず、普通にBeanstalkでEnvironmentを作ります。
次にEC2タブのKey Pairsで事前に鍵を用意します。keysample
.pemとかね。

Environmentのコンフィグ画面から先ほど作ったKey Pairを指定します。
これで、普通のEC2インスタンスとしてSSHでログインできるようになります。

こんな感じで入れましたよー。

       __|  __|_  )  Amazon Linux AMI
       _|  (     /     Beta
      ___|\___|___|

ちなみにログインIDは、ec2-user です。rootじゃ入れません。
root系コマンドはsudoでどうぞー。

sudo su -

ログインすれば普通のLinuxですからserver.xmlを修正するとかして、DataSourceの設定とか、セキュリティロールの設定なんかをすればいい。

これで念願のSession Clusteringが実現できるのでは!?と。
基本的にはスティッキーセッションロードバランシングで処理先を固定にしておいて、万が一インスタンスが落ちた際には、他のインスタンスでセッション内容を引き継ぐと。

MySQLをHttpSessionの永続化先にしておけば、オートスケール、ロードバランサー、フェイルオーバーに対応したお気楽クラウド生活が!!

各種設定とか必要なアプリのインストールが終わったらログアウトして、
オリジナルのAMIを作成します。Custom AMI ですね。

最後にBeanstalkのEnvironmentコンフィグ画面で先ほど作成したCustom AMI IDを指定しましょう。

最初っからオリジナルのAMIを使いたいって人もいると思うんですが、AWSとしてはAmazon AMIにはTomcat の再起動や、WARファイルの配備、ログの取得など裏で色々やっているので、Beanstalkで使うにはAmazon AMIからコピーしてほしいってさ。



Editing server.xml, logging in as root
https://forums.aws.amazon.com/thread.jspa?threadID=58723&tstart=0

JVM/Tomcat config questions
https://forums.aws.amazon.com/thread.jspa?threadID=58744&tstart=0