今日から始める Elastic Beanstalk
2015 Feb
ヒロヤマ ユタカ
AWSと豆の木
自己紹介 廣山 豊 (ヒロヤマ ユタカ)
所属:
好きなサービス:
Elastic Beanstalk
大阪リージョン開設!!
大阪リージョン開設!!
豆知識 読み方
Elastic Beanstalk
アジェンダ
・ Elastic Beanstalkの概要・ Elastic Beanstalkの機能・デモ
アジェンダ
・ Elastic Beanstalkの概要・ Elastic Beanstalkの機能・デモ
Elastic Beanstalkとは?
AWSが提供するPaaS 。Deployment&Managementに分類される。
比較!デプロイサービス
難易度:
Elastic Beanstalk CloudFormationOpsWorks
自由度:
Elastic Beanstalkとは?
サポートするプラットフォーム
Python (boto) PHP
.NET Ruby Node.js
Java
サポートするプラットフォーム名称 言語 Application / Web
サーバー64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.1(Puma)
Ruby 2.1.4 Puma 2.9.1 and Nginx1.6.2
64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.1(Passenger Standalone)
Ruby 2.1.4 Passenger 4.0.53
64bit Amazon Linux 2014.09 v1.0.9 running Ruby 2.0(Puma)
Ruby 2.0.0-p594
Puma 2.9.1 and Nginx1.6.2
64bit Amazon Linux 2014.03 v1.0.2 running Ruby 1.9.3
Ruby 1.9.3 Passenger 4.0.37
32bit Amazon Linux 2013.09 running Ruby 1.8.7
Ruby 1.8.7 Passenger 4.0.20
などなど
料金
Elastic Beanstalkの料金は
タダ!!
ただし、使用したリソースは有料
論理構成
Elastic Beanstalk
application applicationapplication
論理構成Versionリポジトリ
Enviroment ConfigrationEnviroment ConfigrationURLURL
Enviroment
Enviroment ConfigrationEnviroment ConfigrationURLURL
Enviroment
ConfigrationTemplate
ConfigrationTemplate
application
環境の種類
Web Server Worker
Web Server構成
Auto Scaling group
Security group Security group
Availability Zone
ホストマネージャーホスト
マネージャー
Web Server構成
Auto Scaling group
Security group
Availability Zone
Worker構成
Auto Scaling group
aws_sqsdaws_sqsd
豆知識 部分的導入Versionリポジトリ
Enviroment ConfigrationEnviroment ConfigrationURLURL
Enviroment
Enviroment ConfigrationEnviroment ConfigrationURLURL
Enviroment
現行
試験
アジェンダ
・ Elastic Beanstalkの概要・ Elastic Beanstalkの機能・デモ
操作ツール
マネジメントコンソール
各種 SDK
専用 CUI 「 eb」
ebコマンド
コマンド 説明eb init Applicationの初期設定eb start Application環境の開始eb status ステータスの確認eb update Application環境の設定更新eb stop Application環境の停止eb delete Application環境の破棄
環境構築機能
環境の生成および削除やシングル・マルチインスタンスの変更、Configrationの保存や読み込みが可能。
EC2の設定
インスタンスタイプセキュリティグループアクセスキーインスタンスプロフィール監視間隔AMIの IDEBSの設定
ELBの設定
ポートプロトコル( HTTP or TCP)SSL設定ヘルスチェック設定セッション設定
Auto Scalingの設定
最小および最大インスタンス数Availability Zone設定トリガー
Configuration
以下の操作が可能。・保存・読み出し・保存データからの新規環境作成
豆知識 節約術
・ Single Instanceも検討・環境の停止
モニタリング機能
環境や AWSリソースの状態監視、およびイベントログを参照することができる。
モニタリング機能
グラフ表示するメトリクスはカスタマイズ可能!
Enviromentの状態
Auto Scaling group
Security group
Availability Zone
URLアクセスURLアクセス
CNAMEが正しく設定CNAMEが正しく設定
ELBの存在ELBの存在
ELBに EC2付与ELBに EC2付与
Auto Scaling Groupの存在
Auto Scaling Groupの存在
ポート 80疎通ポート 80疎通
EC2の状態EC2の状態
Enviromentの状態状態 説明
Green URLチェック成功
Yellow URLチェック失敗(5分以内)Red URLチェック失敗(5分超)
またはその他のエラー
Grey アプリのリロード中などで、状態を取得できない
ログ閲覧
マネジメントコンソールなどからBeanstalkの動作ログやEC2のシステムログを閲覧可能。
EC2に sshしなくてもよい(かも)
DNS Swaping
Versionリポジトリ
Enviroment ConfigrationEnviroment Configration
URLA
URLA
Enviroment
Enviroment ConfigrationEnviroment Configration
Enviroment
URLB
URLB
URLA
URLA
URLB
URLB
DNS Swaping
継続的デプロイメントがお手軽に!
環境のカスタマイズ
依存関係のあるミドルウェアをインストールしたり、環境をカスタマイズすることができる。同じことを AMIに仕込むことも可能であるが、より疎結合な設計となる。
環境のカスタマイズ名称 概要
Packages パッケージ管理
Sources アーカイブのダウンロードとEC2への展開
Files EC2上にファイルを配置Users ユーザー追加
Groups ユーザーグループ追加
Commands EC2上でのコマンドの実行Container_commands コンテナ上でのコマンドの実行
Services サービスの制御
Option_settings 環境変数の設定など
環境のカスタマイズ
環境カスタマイズの手順1. <application名 >.configを トップレベルディレクトリに配置2. versionをデプロイ
アジェンダ
・ Elastic Beanstalkの概要・ Elastic Beanstalkの機能・デモ
数分以内に。。。
ウソじゃないだろうな!?
まとめElastic Beanstalkを使うことで、ベストプラクティスに近いインフラをカンタンに構築!
PaaSのくせに、わりといろいろ出来てしまう!!
豆知識 Why beanstalk?
「ジャックと豆の木」の豆の木のように、雲( Cloud)へと導いてくれるから。