Contenu connexe
Similaire à 20120416 aws meister-reloaded-aws-elasticbeanstalk-public (20)
Plus de Amazon Web Services Japan (20)
20120416 aws meister-reloaded-aws-elasticbeanstalk-public
- 4. Agenda
AWS Elastic Beanstalkの概要
しくみ
HostManager
開発・デプロイ
各種設定
他サービスとの連携
その他Tips
まとめ
Copyright © 2011 Amazon Web Services
- 6. AWS Elastic Beanstalkとは
Beanstalk = 豆の木
「アプリケーションが実る幹」のイメージ
Webアプリケーションの実行環境を構築・管理するサービス
使用可能な言語:Java(OpenJDK6),PHP 5.3
コンテナとして、Tomcat6、7、Apache(PHP)をサポート
- 7. AWS Elastic Beanstalkとは
利用出来るAPIの制約・処理時間の制約はない
ServletおよびPHPの機能はすべて利用可能
ライブラリやフレームワークの制約もない
Java:Warでデプロイ PHP:ZIP or Git デプロイ
ロードバランサー・オートスケーリング
ロードバランサーとオートスケーリングが標準装備
詳細な条件設定が可能
実行環境の設定
サーバスペック、VM設定など40項目以上の設定が可能
- 8. AWS Elastic Beanstalkとは
Webアプリケーションのバージョン管理
WARやZIPの世代管理が可能
アプリのロールバック・ロールフォワードが容易
複数環境の構築が可能
本番・テストなど目的別に構築可能
開発・管理ツールを提供
AWS Management Console
コマンドラインツール
Eclipseプラグイン
- 9. 開発・管理ツール
AWS Management
Console
AWS Toolkit for
Eclipse
- 11. アプリケーション管理の論理構成
Application
Environment Version
URL Environment Configuration WAR/ZIP
WAR/ZIP
Environment
URL Environment Configuration WAR/ZIP
WAR/ZIP
Environment
WAR/ZIP
URL Environment Configuration
Configuration Template
- 12. 用語説明
Application
トップレベルの論理単位
Applicationの中に、EnvironmentやVersionが入る
デプロイするアプリケーション(WAR/ZIPファイル)と混同し
やすいので注意
Environment
ConfigurationTemplateを元に構成される
WARをデプロイする環境
環境毎にURLが付与される
• URLは、XXX.elasticbeanstalk.com
各環境毎にEC2、ELBなどが立ち上がる
ログも環境毎に取得できる(1時間おきにS3へ送信可能)
- 13. 用語説明
Version
Webアプリケーションのバージョン管理
アプリケーションファイルの履歴管理が可能
S3上でファイルを保持
Versionで管理したWAR/ZIPファイルを、各Environmentと紐
付け
- 14. テクニカルアーキテクチャ
この環境が
自動で構成される
URL
Environment
ElasticLoadBalanceing
Management
SNS
Console
S3
HM HM CloudWatch
EC2 EC2
eclipse
AutoScaling
Security Group
- 16. HostManager
各EC2インスタンス上で動作
Rubyで実装
/opt/elasticbeanstalk/srv/hostmanager/lib/
OS起動と同時に起動
動作に必要なパラメータはuserdataを通じて入手
プロセス起動と監視
Tomcat、Apache、Thin(HostManager用Webサーバ)
の起動
「Bluepill」というアプリでプロセスを監視
プロセスが落ちると、プロセスを再起動
HostManager
- 20. 開発
AWS Toolkit for Eclipse
http://aws.amazon.com/jp/eclipse/
Eclipseマーケットプレースから「AWS」で検索
Eclipse IDE for Java EE Developers 3.6 or higher
- 28. Git
Gitをインストール
AWSの開発キットをダウンロード
http://aws.amazon.com/code/6752709412171743
AWSDevTools-OneTimeSetupでgitに機能を追加
ローカルにリポジトリを作成
AWSDevTools-RepositorySetupを使い、リポジトリを初期
化
AWSの情報を設定
git aws.configコマンド
AccessID、エンドポイント、対象のBeanstalk Appなど
http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/create_deplo
y_PHP.html
- 33. デプロイ
ステージ毎に環境を分けることが可能
本番用、テスト用、開発用
デプロイする
URLスワップ機能とバージョン機能を利用する アプリは自由に
選択出来る
Environment Version
URL Environment Configuration WAR/ZIP
WAR/ZIP
URLを入れ替えること Environment
で、テスト済みの環境 WAR/ZIP
URL Environment Configuration
をそのまま公開できる
WAR/ZIP
Environment
WAR/ZIP
URL Environment Configuration
- 36. 各種設定
Environment毎に設定が可能
サーバ設定 オートスケール設定
インスタンスタイプ 最小/最大サーバ数
セキュリティグループ 配置AZ
キーペア スケール時のトリガー
監視間隔 ロードバランサ
AMI HTTP/HTTPSポート
ヘルスチェック設定
セッションStickey
- 37. 各種設定(つづき)
サーブレットコンテナ設定(Java) HTTPサーバ設定(PHP)
ヒープサイズ ドキュメントルート位置
(最小/最大/permgen) メモリ
Tomcat起動引数 URL Fopen
リモートデバッグ有無 Zlib圧縮
環境変数 Display Erroes
Max Exection Time
- 47. 料金
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