Mais conteúdo relacionado Semelhante a Aws elastic beanstalk-handson-summit2012 (20) Mais de Akio Katayama (20) Aws elastic beanstalk-handson-summit20122. Agenda
AWS Elastic Beanstalkの概要
しくみ
HostManager
ハンズオン
Copyright © 2011 Amazon Web Services
5. AWS Elastic Beanstalkとは
Beanstalk = 豆の木
「アプリケーションが実る幹」のイメージ
Webアプリケーションの実行環境を構築・管理するサービス
現在使用可能な言語:Java(OpenJDK6)
コンテナとして、Tomcat6 および Tomcat7をサポート
6. AWS Elastic Beanstalkとは
利用出来るAPIの制約・処理時間の制約はない
ServletAPI他、Tomcatサポートの機能はすべて利用可能
ライブラリやフレームワークの制約もない
WARやZIPであればデプロイOK
ロードバランサー・オートスケーリング
ロードバランサーとオートスケーリングが標準装備
詳細な条件設定が可能
実行環境の設定
サーバスペック、VM設定など40項目以上の設定が可能
7. AWS Elastic Beanstalkとは
Webアプリケーションのバージョン管理
WARやZIPの世代管理が可能
アプリのロールバック・ロールフォワードが容易
複数環境の構築が可能
本番・テストなど目的別に構築可能
開発・管理ツールを提供
AWS Management Console
コマンドラインツール
Eclipseプラグイン
8. 開発・管理ツール
AWS Management
Console
AWS Toolkit for
Eclipse
10. アプリケーション管理の論理構成
Application
Environment Version
URL Environment Configuration WAR
WAR
Environment
URL Environment Configuration WAR
WAR
Environment
WAR
URL Environment Configuration
Configuration Template
11. 用語説明
Application
トップレベルの論理単位
Applicationの中に、EnvironmentやVersionが入る
デプロイするアプリケーション(WARファイル)と混同しやす
いので注意
Environment
ConfigurationTemplateを元に構成される
WARをデプロイする環境
環境毎にURLが付与される
• URLは、XXX.elasticbeanstalk.com
各環境毎にEC2、ELBなどが立ち上がる
ログも環境毎に取得できる(1時間おきにS3へ送信可能)
12. 用語説明
Version
Webアプリケーションのバージョン管理
WARファイルの履歴管理が可能
S3上でファイルを保持
Versionで管理したWARファイルを、各Environmentと紐付け
13. テクニカルアーキテクチャ
この環境が
自動で構成される
URL
Environment
ElasticLoadBalanceing
Management
SNS
Console
S3
HM HM CloudWatch
EC2 EC2
eclipse
AutoScaling
Security Group
DEMO
15. HostManager
各EC2インスタンス上で動作
Rubyで実装
/opt/elasticbeanstalk/srv/hostmanager/lib/
OS起動と同時に起動
動作に必要なパラメータはuserdataを通じて入手
プロセス起動と監視
Tomcat、Apache、Thin(HostManager用Webサーバ)
の起動
「Bluepill」というアプリでプロセスを監視
プロセスが落ちると、プロセスを再起動
HostManager
38. 再デプロイ
HandsOnAppV2.warを選択
50. 開発
AWS Toolkit for Eclipse
http://aws.amazon.com/jp/eclipse/
Eclipseマーケットプレースから「AWS」で検索
Eclipse IDE for Java EE Developers 3.6 or higher
58. デプロイ
ステージ毎に環境を分けることが可能
本番用、テスト用、開発用
デプロイする
URLスワップ機能とバージョン機能を利用する WARは自由に
選択出来る
Environment Version
URL Environment Configuration WAR
WAR
URLを入れ替えること Environment
で、テスト済みの環境 WAR
URL Environment Configuration
をそのまま公開できる
WAR
Environment
WAR
URL Environment Configuration
60. 各種設定
Environment毎に設定が可能
サーバ設定 オートスケール設定
インスタンスタイプ 最小/最大サーバ数
セキュリティグループ 配置AZ
キーペア スケール時のトリガー
監視間隔 ロードバランサ
AMI HTTP/HTTPSポート
ヘルスチェック設定
セッションStickey
61. 各種設定(つづき)
サーブレットコンテナ設定 ログ設定
ヒープサイズ S3へのバックアップ(毎時)
(最小/最大/permgen)
イベント通知
Tomcat起動引数
トピック設定
リモートデバッグ有無
宛先設定
環境変数
70. 料金
Elastic Beanstalk自体の利用は0
Environment 構築に伴って利用したAWSサービスに対して課金
利用サービス 単位 コスト計算 コスト
Amazon EC2 1 $0.02/hr * 24 hours * 30 days $14.40
t1.micro instance
Elastic Load Balancer 1 $0.025/hr * 24 hours * 30 days $18.00
ELB Data Processing 15GB $0.008/GB * 15GB $0.12
Elastic Block Store volume 8GB $0.10/GB * 8GB $0.80
S3 Storage for WAR File 1GB $0.14/1GB + $0.01 PUT,GET $0.15
Bandwidth In and Out 15GB Inbound is free, 15 GB out * $1.80
$0.12
月額 $35.27