ほぼ週刊AWSマイスターシリーズ第9回 – Beanstalk編に参加しました

2011.11.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。くろの(福田)です。

先日AWSのオンラインセミナーシリーズである「ほぼ週刊AWSマイスターシリーズ」が開催されました。第9回目は片山さんによるAWS Elastic Beanstalkでした。

■開催概要

  • 日時:2011年11月22日(水)17時~18時
  • 場所:オンラインセミナー
  • 講師:AWS片山さん

[slideshare id=10376478&doc=2011112408aws-meister-awselasticbeanstalk-111128222552-phpapp02]

AWSマイスターシリーズはほぼ毎週AWSの中の人がAWSの各サービスに関して詳細に解説をしてくれるとても^9ありがたいオンラインセミナーです。

クラスメソッドでは多くの社員がセミナーに参加しています。

■AWS Elastics Beanstalkの概要

  • Beanstalk=(ジャックの豆の木の)豆の木。アプリケーションが実る幹のイメージ
  • Webアプリケーションの実行環境を構築・管理するサービス
  • 現在使用可能な言語:Java(OpenJDK 8)
  • コンテナ:Tomcat 6、Tomcat 7をサポート
  • 利用できるAPIの制限・処理時間の制約は無い
  • ロードバランサー・オートスケーリング
  • 実行環境の設定
  • Webアプリケーションのバージョン管理
  • 複数環境の構築が可能
  • 開発・管理ツールを提供
    • Eclipseプラグイン、AWS Management Console、コマンドライン
    • EclipseプラグインがAWS Management Console以上の使い勝手!

■アプリケーション管理の論理構成

■用語:Application

  • トップレベルの論理単位
  • Applicationの中にEnvironmentやVersionが入る
    • EnvironmentとVersionを内包する容器の事をApplicationと呼んでいる
  • デプロイするアプリケーション(WARファイル)と混同しやすいので注意
  • いわゆるアプリケーションの事を表しているわけではないことに注意!!!

■用語:Environment

  • WARをディプロイする環境
  • ConfigurationTemplateを元に構成される
  • 「環境」毎にURLが付与される
    • hogehoge.elasticbeanstalk.com
  • 各「環境」毎にEC2、ELBなどが立ち上がる
  • 各「環境」毎にログを取得する事が出来る
  • 「環境」例:公開環境、ステージング環境、テスト環境
  • 「環境」に割り当てられるURLはURLスワップ機能により、瞬時にURLに紐づいた環境を入れ替える事が出来る

■用語:Version

  • Webアプリケーションのバージョン管理
  • WARファイルの履歴管理が可能
  • Amazon S3上でファイルを保持
  • Versionで管理しているWARファイルを、各Environmentと紐づける

■テクニカルアーキテクチャ

  • ELB
  • EC2
  • SNS
  • CloudWatch
  • S3(Beanstalk専用バケット)

■HostManager

  • プロセス起動と監視
    • Tomcat、Apache、Thin(HostManager用Webサーバー)の起動
    • 「Bluepill」というアプリでプロセス監視
    • プロセスが落ちるとプロセスを再起動
  • 各EC2インスタンス上で動作
  • OS起動と同時に起動
  • Webアプリケーションの生存確認
  • WAR入れ替え、Tomcat再起動、設定反映等の処理

■AWS Toolkit for Eclipse

  • AWS Elastic Beanstalk Deployment and Debugging
    • 開発
    • ディプロイ
    • デバッグ
  • 開発、設定、デプロイ、テストがEclipse上でシームレスに行う事が出来る

 ■他サービスとの連携

AWSの他サービスとの連携は可能

  • RDS
    • MySQL、Oracle
  • Simple DB
  • ElasticChace
  • SMS
  • SQS
  • CloudFront

(環境変数経由で連携)

 ■その他

  • 1つのTomcat上の複数WAR管理は不可
  • セッションクラスタリングはデフォルトOFF
  • インスタンスタイプの変更によりサーバーのスケールアップ/ダウンが可能
  • SSL利用可能
  • ベースとなるAMIをカスタムしたりする事も(理論的には)可能
  • cloud-initが使用不可
  • Amazon VPCは未対応
  • US-EASTリージョンでのみ利用可能(2011年11月24日現在)

今週のプレゼント

今週はLEGOブロックキーホルダーでした。

おしまい

@Cronoloves