AWSマイスターシリーズ~AWS Elastic Beanstalk~                  2011年11月22日                  片山 暁雄( @c9katayama )                  ソリ...
ほぼ週刊AWSマイスターシリーズへようこそ!~GoToMeetingの使い方~ 参加者は、自動的にミュートになっています 質問を投げることができます!  GoToMeetingの仕組みを使って、随時書き込んでください    ただし環境によっ...
Webセミナーほぼ週刊AWSマイスターシリーズ(全11回)    11/22 第8回 AWS Elastic Beanstalk    11/30 第9回 EMR    12/7  第10回 SES    12/14 第11回 Simp...
2011/11/22 リリース!IAMを使用して、Elastic Beanstalkのアクセス制御が可能に!http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/index.h...
Agenda AWS Elastic Beanstalkの概要 しくみ HostManager 開発・デプロイ 各種設定 他サービスとの連携 その他Tips まとめ               Copyright © 2011 Amazon W...
AWS Elastic Beanstalkの概要
AWS Elastic Beanstalkとは Beanstalk = 豆の木   「アプリケーションが実る幹」のイメージ Webアプリケーションの実行環境を構築・管理するサービス 現在使用可能な言語:Java(OpenJDK6) コンテナと...
AWS Elastic Beanstalkとは 利用出来るAPIの制約・処理時間の制約はない  ServletAPI他、Tomcatサポートの機能はすべて利用可能  ライブラリやフレームワークの制約もない  WARやZIPであればデプロイ...
AWS Elastic Beanstalkとは Webアプリケーションのバージョン管理   WARやZIPの世代管理が可能   アプリのロールバック・ロールフォワードが容易 複数環境の構築が可能  本番・テストなど目的別に構築可能 開発・...
開発・管理ツール                      AWS Management                         Console    AWS Toolkit for      Eclipse
しくみ
アプリケーション管理の論理構成  Application      Environment                            Version       URL       Environment Configuration...
用語説明Application  トップレベルの論理単位  Applicationの中に、EnvironmentやVersionが入る  デプロイするアプリケーション(WARファイル)と混同しやす   いので注意Environment ...
用語説明Version    Webアプリケーションのバージョン管理    WARファイルの履歴管理が可能    S3上でファイルを保持    Versionで管理したWARファイルを、各Environmentと紐付け
テクニカルアーキテクチャ                                             この環境が                                           自動で構成される         ...
HostManager
HostManager 各EC2インスタンス上で動作   Rubyで実装   /opt/elasticbeanstalk/srv/hostmanager/lib/ OS起動と同時に起動  動作に必要なパラメータはuserdataを通じて入...
HostManager Webアプリケーションの生存確認   ELBからの通信を受け取り、Webサーバ内部でWebアプリ    の生存を確認して返答       /_hostmanager/healthcheck               ...
HostManager WAR入れ替え、Tomcat再起動、設定反映などの処理   各処理の指示が入ったHTTP通信を受け取り、指定の処    理を実行   通信はAES-256で暗号化          /_hostmanager/tas...
開発・デプロイ
開発AWS Toolkit for Eclipse  http://aws.amazon.com/jp/eclipse/  Eclipseマーケットプレースから「AWS」で検索  Eclipse IDE for Java EE Devel...
開発機能 AWSサービスのエクスプローラー Webアプリ作成ウィザード Beanstalkの環境構築・環境設定 Webアプリケーションのデプロイ Beanstalkのリモートデバッガー Environmentのイベント・ログビューア
WARファイルのデプロイ               プロジェクト右クリック                    >Run As                 >Run on Server
デプロイ先のEnvironment    を選択
Finishを選択
Version管理時のラベルを        入力 S3にアップロード開始 完了後に自動でデプロイ
イベントログでデプロイ完了を確認
AWS ManagementConsoleの場合                    Deploy a Different Version                             を選択
Versionラベルを入力WARファイルを選択
Eventログで確認
デプロイ  ステージ毎に環境を分けることが可能    本番用、テスト用、開発用                                                 デプロイする  URLスワップ機能とバージョン機能を利用する   ...
各種設定
各種設定 Environment毎に設定が可能 サーバ設定                オートスケール設定  インスタンスタイプ           最小/最大サーバ数  セキュリティグループ          配置AZ  キーペア...
各種設定(つづき)サーブレットコンテナ設定         ログ設定 ヒープサイズ              S3へのバックアップ(毎時)   (最小/最大/permgen)                     イベント通知 Tomc...
設定方法 Eclipse,Consoleいずれでも設定可能                        DEMO
他サービスとの連携
他サービスとの連携AWSの他のサービスとの連携は可能 Relational Database Service(RDBサービス)   • Oracle,MySQL Simple DB(キーバリューストア) ElastiCache(memca...
他サービスとの連携DBのエンドポイントやSimpleDBのドメインなどの引き渡し  Userdataが使えないため、現状では環境変数が近道              System.getProperty(“AWS_SECRET_KEY")  ...
さらに密に連携するAMIのIDを設定できるため、BeanstalkのAMIを元に作り込む  常に使うアプリケーションはインストールしておく  Tomcatの設定やライブラリ配置も必要であれば行う  OS起動時にChef/puppetを起動...
その他Tips
その他TipsSSHでログイン可能  障害時の詳細調査  アプリケーションのインストール                                 手間 デフォルト構成で使用               パラメータ調整        ...
その他Tips1つのTomcat上の複数WAR管理は不可  手動でのデプロイは可能だが、管理対象外セッションクラスタリングはデフォルトOFFサーバのスケールアップ  InstanceTypeを変更すると、新しいインスタンスタイプのサーバを起...
料金   Elastic Beanstalk自体の利用は0   Environment 構築に伴って利用したAWSサービスに対して課金利用サービス                    単位     コスト計算                 ...
制約事項cloud-initが使用不可  CloudFrontとの密接な連携はこれから・・  AMI作り込みか、カスタムスクリプトでAmazon VPC(Virtual Private Cloud)は未対応現在米国東部(US-EAST)での...
まとめ
まとめBeanstalkで、容易にJava実行環境の構築が可能ステージ毎の環境構築が可能Eclipseを使用して、実装・設定・デプロイがシームレスにAWSの他サービスとも連携必要に応じて、パラメータ設定・カスタムAMIの利用が可能
Elastic Beanstalkで大きな実(アプリケーション)を       育てよう!
Q&ACopyright © 2011 Amazon Web Services
次回のほぼ週刊AWSマイスターシリーズは、      11月30日 17:00~~ Elastic Map Reduce (EMR) ~         Copyright © 2011 Amazon Web Services
ご参加ありがとう ございました Copyright © 2011 Amazon Web Services
Upcoming SlideShare
Loading in …5
×

AWS Elastic Beanstalk 詳細 -ほぼ週刊AWSマイスターシリーズ第9回-

6,405 views

Published on

Published in: Technology

AWS Elastic Beanstalk 詳細 -ほぼ週刊AWSマイスターシリーズ第9回-

  1. 1. AWSマイスターシリーズ~AWS Elastic Beanstalk~ 2011年11月22日 片山 暁雄( @c9katayama ) ソリューションアーキテクト
  2. 2. ほぼ週刊AWSマイスターシリーズへようこそ!~GoToMeetingの使い方~ 参加者は、自動的にミュートになっています 質問を投げることができます!  GoToMeetingの仕組みを使って、随時書き込んでください  ただし環境によっては、日本語の直接入力ができないので、 お手数ですが、テキストエディタ等に打ち込んでから、 貼り付けててください  最後のQ&Aの時間で、できるだけ回答させて頂きます  書き込んだ質問は、主催者にしか見えません Twitterのハッシュタグは#jawsugでどうぞ Copyright © 2011 Amazon Web Services
  3. 3. Webセミナーほぼ週刊AWSマイスターシリーズ(全11回)  11/22 第8回 AWS Elastic Beanstalk  11/30 第9回 EMR  12/7 第10回 SES  12/14 第11回 Simpleシリーズ 申し込みサイト http://aws.amazon.com/jp/event_schedule/
  4. 4. 2011/11/22 リリース!IAMを使用して、Elastic Beanstalkのアクセス制御が可能に!http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/index.html?AWSHowTo.iam.html
  5. 5. Agenda AWS Elastic Beanstalkの概要 しくみ HostManager 開発・デプロイ 各種設定 他サービスとの連携 その他Tips まとめ Copyright © 2011 Amazon Web Services
  6. 6. AWS Elastic Beanstalkの概要
  7. 7. AWS Elastic Beanstalkとは Beanstalk = 豆の木  「アプリケーションが実る幹」のイメージ Webアプリケーションの実行環境を構築・管理するサービス 現在使用可能な言語:Java(OpenJDK6) コンテナとして、Tomcat6 および Tomcat7をサポート
  8. 8. AWS Elastic Beanstalkとは 利用出来るAPIの制約・処理時間の制約はない  ServletAPI他、Tomcatサポートの機能はすべて利用可能  ライブラリやフレームワークの制約もない  WARやZIPであればデプロイOK ロードバランサー・オートスケーリング  ロードバランサーとオートスケーリングが標準装備  詳細な条件設定が可能 実行環境の設定  サーバスペック、VM設定など40項目以上の設定が可能
  9. 9. AWS Elastic Beanstalkとは Webアプリケーションのバージョン管理  WARやZIPの世代管理が可能  アプリのロールバック・ロールフォワードが容易 複数環境の構築が可能  本番・テストなど目的別に構築可能 開発・管理ツールを提供  AWS Management Console  コマンドラインツール  Eclipseプラグイン
  10. 10. 開発・管理ツール AWS Management Console AWS Toolkit for Eclipse
  11. 11. しくみ
  12. 12. アプリケーション管理の論理構成 Application Environment Version URL Environment Configuration WAR WAR Environment URL Environment Configuration WAR WAR Environment WAR URL Environment Configuration Configuration Template
  13. 13. 用語説明Application  トップレベルの論理単位  Applicationの中に、EnvironmentやVersionが入る  デプロイするアプリケーション(WARファイル)と混同しやす いので注意Environment  ConfigurationTemplateを元に構成される  WARをデプロイする環境  環境毎にURLが付与される • URLは、XXX.elasticbeanstalk.com  各環境毎にEC2、ELBなどが立ち上がる  ログも環境毎に取得できる(1時間おきにS3へ送信可能)
  14. 14. 用語説明Version  Webアプリケーションのバージョン管理  WARファイルの履歴管理が可能  S3上でファイルを保持  Versionで管理したWARファイルを、各Environmentと紐付け
  15. 15. テクニカルアーキテクチャ この環境が 自動で構成される URL Environment ElasticLoadBalanceingManagement SNS Console S3 HM HM CloudWatch EC2 EC2 eclipse AutoScaling Security Group DEMO
  16. 16. HostManager
  17. 17. HostManager 各EC2インスタンス上で動作  Rubyで実装  /opt/elasticbeanstalk/srv/hostmanager/lib/ OS起動と同時に起動  動作に必要なパラメータはuserdataを通じて入手 プロセス起動と監視  Tomcat、Apache、Thin(HostManager用Webサーバ) の起動  「Bluepill」というアプリでプロセスを監視  プロセスが落ちると、プロセスを再起動 HostManager
  18. 18. HostManager Webアプリケーションの生存確認  ELBからの通信を受け取り、Webサーバ内部でWebアプリ の生存を確認して返答 /_hostmanager/healthcheck 指定URL を確認 EC2 HostManager
  19. 19. HostManager WAR入れ替え、Tomcat再起動、設定反映などの処理  各処理の指示が入ったHTTP通信を受け取り、指定の処 理を実行  通信はAES-256で暗号化 /_hostmanager/tasks 暗号化データをPOST 処理を実行 HostManager
  20. 20. 開発・デプロイ
  21. 21. 開発AWS Toolkit for Eclipse  http://aws.amazon.com/jp/eclipse/  Eclipseマーケットプレースから「AWS」で検索  Eclipse IDE for Java EE Developers 3.6 or higher
  22. 22. 開発機能 AWSサービスのエクスプローラー Webアプリ作成ウィザード Beanstalkの環境構築・環境設定 Webアプリケーションのデプロイ Beanstalkのリモートデバッガー Environmentのイベント・ログビューア
  23. 23. WARファイルのデプロイ プロジェクト右クリック >Run As >Run on Server
  24. 24. デプロイ先のEnvironment を選択
  25. 25. Finishを選択
  26. 26. Version管理時のラベルを 入力 S3にアップロード開始 完了後に自動でデプロイ
  27. 27. イベントログでデプロイ完了を確認
  28. 28. AWS ManagementConsoleの場合 Deploy a Different Version を選択
  29. 29. Versionラベルを入力WARファイルを選択
  30. 30. Eventログで確認
  31. 31. デプロイ ステージ毎に環境を分けることが可能  本番用、テスト用、開発用 デプロイする URLスワップ機能とバージョン機能を利用する WARは自由に 選択出来る Environment Version URL Environment Configuration WAR WARURLを入れ替えること Environmentで、テスト済みの環境 WAR URL Environment Configurationをそのまま公開できる WAR Environment WAR URL Environment Configuration
  32. 32. 各種設定
  33. 33. 各種設定 Environment毎に設定が可能 サーバ設定 オートスケール設定  インスタンスタイプ  最小/最大サーバ数  セキュリティグループ  配置AZ  キーペア  スケール時のトリガー  監視間隔 ロードバランサ  AMI  HTTP/HTTPSポート  ヘルスチェック設定  セッションStickey
  34. 34. 各種設定(つづき)サーブレットコンテナ設定 ログ設定 ヒープサイズ  S3へのバックアップ(毎時) (最小/最大/permgen) イベント通知 Tomcat起動引数  トピック設定 リモートデバッグ有無  宛先設定 環境変数
  35. 35. 設定方法 Eclipse,Consoleいずれでも設定可能 DEMO
  36. 36. 他サービスとの連携
  37. 37. 他サービスとの連携AWSの他のサービスとの連携は可能 Relational Database Service(RDBサービス) • Oracle,MySQL Simple DB(キーバリューストア) ElastiCache(memcached) Simple Email Service(メール送信) CloudFront(コンテンツ配信) Simple Queue Service(キューイング) ・・・
  38. 38. 他サービスとの連携DBのエンドポイントやSimpleDBのドメインなどの引き渡し  Userdataが使えないため、現状では環境変数が近道 System.getProperty(“AWS_SECRET_KEY") などで取得可能
  39. 39. さらに密に連携するAMIのIDを設定できるため、BeanstalkのAMIを元に作り込む  常に使うアプリケーションはインストールしておく  Tomcatの設定やライブラリ配置も必要であれば行う  OS起動時にChef/puppetを起動するようにスクリプトを仕 込む
  40. 40. その他Tips
  41. 41. その他TipsSSHでログイン可能  障害時の詳細調査  アプリケーションのインストール 手間 デフォルト構成で使用 パラメータ調整 他サービスとの連携 テンプレートカスタマイズ SSH接続柔軟性
  42. 42. その他Tips1つのTomcat上の複数WAR管理は不可  手動でのデプロイは可能だが、管理対象外セッションクラスタリングはデフォルトOFFサーバのスケールアップ  InstanceTypeを変更すると、新しいインスタンスタイプのサーバを起 動後、ELB設定を切り替えて古いサーバをシャットダウンしてくれるSSLも利用可能  API経由でSSL証明書を登録後、EnvironmentのELB設定を実施
  43. 43. 料金 Elastic Beanstalk自体の利用は0 Environment 構築に伴って利用したAWSサービスに対して課金利用サービス 単位 コスト計算 コストAmazon EC2 1 $0.02/hr * 24 hours * 30 days $14.40t1.micro instanceElastic Load Balancer 1 $0.025/hr * 24 hours * 30 days $18.00ELB Data Processing 15GB $0.008/GB * 15GB $0.12Elastic Block Store volume 8GB $0.10/GB * 8GB $0.80S3 Storage for WAR File 1GB $0.14/1GB + $0.01 PUT,GET $0.15Bandwidth In and Out 15GB Inbound is free, 15 GB out * $1.80 $0.12 月額 $35.27
  44. 44. 制約事項cloud-initが使用不可  CloudFrontとの密接な連携はこれから・・  AMI作り込みか、カスタムスクリプトでAmazon VPC(Virtual Private Cloud)は未対応現在米国東部(US-EAST)でのみ利用可能 しばしお待ちを・・
  45. 45. まとめ
  46. 46. まとめBeanstalkで、容易にJava実行環境の構築が可能ステージ毎の環境構築が可能Eclipseを使用して、実装・設定・デプロイがシームレスにAWSの他サービスとも連携必要に応じて、パラメータ設定・カスタムAMIの利用が可能
  47. 47. Elastic Beanstalkで大きな実(アプリケーション)を 育てよう!
  48. 48. Q&ACopyright © 2011 Amazon Web Services
  49. 49. 次回のほぼ週刊AWSマイスターシリーズは、 11月30日 17:00~~ Elastic Map Reduce (EMR) ~ Copyright © 2011 Amazon Web Services
  50. 50. ご参加ありがとう ございました Copyright © 2011 Amazon Web Services

×