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