SlideShare a Scribd company logo
1 of 40
Download to read offline
AWS Elastic
Beanstalk概要
2015年4月14日
アールスリーインスティテュート
西島 幸一郎
http://www.r3it.com/
Elastic Beanstalkとは?
http://www.r3it.com/
大きく育つ(予定の)豆の茎
2014-07-15
http://www.r3it.com/
AWSの中で一番導入が容易な

デプロイ自動化ツール
http://www.r3it.com/
公式の最も詳しい資料は、安川さんのこちらの資料へ

(ちょいちょい引用させて頂きます(^^;)

http://www.slideshare.net/AmazonWebServicesJapan/aws-
black-belt-tech-aws-elastic-beanstalk
http://www.r3it.com/
Q: Elastic Beanstalk

(略してeb)を使うと
何が嬉しいか?
http://www.r3it.com/
A: 定番のWebアプリ実行
環境をすぐ構築できる
(よくheroku的なPaaS

とも言われます)
http://www.r3it.com/
ロードバランサ配下に

WebサーバがあってDBがあって
非同期処理用のWorkerがある
みたいな2 or 3層構造
定番とは?
http://www.r3it.com/
今回は簡略化のため

Webアプリのデプロイに

話を絞って説明します。
http://www.r3it.com/
対応言語環境
http://www.r3it.com/
$ aws elasticbeanstalk list-available-solution-stacks 
> --query 'SolutionStacks[]'
[
"64bit Amazon Linux 2015.03 v1.3.0 running PHP 5.5",
"64bit Amazon Linux 2015.03 v1.3.0 running PHP 5.4",
"64bit Amazon Linux 2014.03 v1.1.0 running PHP 5.5",
"32bit Amazon Linux 2014.03 v1.1.0 running PHP 5.5",
"64bit Amazon Linux 2014.03 v1.1.0 running PHP 5.4",
"32bit Amazon Linux 2014.03 v1.1.0 running PHP 5.4",
"32bit Amazon Linux running PHP 5.3",
"64bit Amazon Linux running PHP 5.3",
"64bit Amazon Linux 2015.03 v1.3.0 running Node.js",
"64bit Amazon Linux 2014.03 v1.1.0 running Node.js",
"32bit Amazon Linux 2014.03 v1.1.0 running Node.js",
2015年4月13日時点のstack一覧
http://www.r3it.com/
"64bit Windows Server 2008 R2 running IIS 7.5",
"64bit Windows Server 2012 running IIS 8",
"64bit Windows Server 2012 R2 running IIS 8.5",
"64bit Windows Server Core 2012 R2 running IIS 8.5",
"64bit Amazon Linux 2015.03 v1.3.0 running Tomcat 8 Java 8",
"64bit Amazon Linux 2015.03 v1.3.0 running Tomcat 7 Java 7",
"64bit Amazon Linux 2015.03 v1.3.0 running Tomcat 7 Java 6",
"64bit Amazon Linux 2014.09 v1.2.0 running Tomcat 8 Java 8",
"64bit Amazon Linux 2014.09 v1.2.0 running Tomcat 7 Java 7",
"32bit Amazon Linux 2014.09 v1.2.0 running Tomcat 7 Java 7",
"64bit Amazon Linux 2014.09 v1.2.0 running Tomcat 7 Java 6",
"32bit Amazon Linux 2014.09 v1.2.0 running Tomcat 7 Java 6",
"64bit Amazon Linux 2014.03 v1.1.0 running Tomcat 7 Java 7",
"32bit Amazon Linux 2014.03 v1.1.0 running Tomcat 7 Java 7",
2015年4月13日時点のstack一覧
http://www.r3it.com/
"64bit Amazon Linux 2014.03 v1.1.0 running Tomcat 7 Java 6",
"32bit Amazon Linux 2014.03 v1.1.0 running Tomcat 7 Java 6",
"32bit Amazon Linux running Tomcat 7",
"64bit Amazon Linux running Tomcat 7",
"32bit Amazon Linux running Tomcat 6",
"64bit Amazon Linux running Tomcat 6",
"64bit Amazon Linux 2015.03 v1.3.0 running Python 3.4",
"64bit Amazon Linux 2015.03 v1.3.0 running Python 2.7",
"64bit Amazon Linux 2015.03 v1.3.0 running Python",
"64bit Amazon Linux 2014.03 v1.1.0 running Python 2.7",
"32bit Amazon Linux 2014.03 v1.1.0 running Python 2.7",
"64bit Amazon Linux 2014.03 v1.1.0 running Python",
"32bit Amazon Linux 2014.03 v1.1.0 running Python",
"32bit Amazon Linux running Python",
2015年4月13日時点のstack一覧
http://www.r3it.com/
"64bit Amazon Linux running Python",
"64bit Amazon Linux 2015.03 v1.3.0 running Ruby 2.2 (Puma)",
"64bit Amazon Linux 2015.03 v1.3.0 running Ruby 2.1 (Puma)",
"64bit Amazon Linux 2015.03 v1.3.0 running Ruby 2.0 (Puma)",
"64bit Amazon Linux 2015.03 v1.3.0 running Ruby 2.2
(Passenger Standalone)",
"64bit Amazon Linux 2015.03 v1.3.0 running Ruby 2.1
(Passenger Standalone)",
"64bit Amazon Linux 2015.03 v1.3.0 running Ruby 2.0
(Passenger Standalone)",
"64bit Amazon Linux 2015.03 v1.3.0 running Ruby 1.9.3",
"64bit Amazon Linux 2014.03 v1.1.0 running Ruby 2.1 (Puma)",
"64bit Amazon Linux 2014.03 v1.1.0 running Ruby 2.1
(Passenger Standalone)",
2015年4月13日時点のstack一覧
http://www.r3it.com/
"64bit Amazon Linux 2014.03 v1.1.0 running Ruby 2.0 (Puma)",
"64bit Amazon Linux 2014.03 v1.1.0 running Ruby 2.0
(Passenger Standalone)",
"64bit Amazon Linux 2014.03 v1.1.0 running Ruby 1.9.3",
"32bit Amazon Linux 2014.03 v1.1.0 running Ruby 1.9.3",
"64bit Amazon Linux 2014.09 v1.2.1 running Docker 1.5.0",
"64bit Amazon Linux 2014.09 v1.2.1 running Multi-container
Docker 1.3.3 (Generic)",
"64bit Debian jessie v1.2.1 running GlassFish 4.1 Java 8
(Preconfigured - Docker)",
"64bit Debian jessie v1.2.1 running GlassFish 4.0 Java 7
(Preconfigured - Docker)",
"64bit Debian jessie v1.2.1 running Python 3.4 (Preconfigured
- Docker)",
2015年4月13日時点のstack一覧
http://www.r3it.com/
"64bit Debian jessie v1.2.1 running Go 1.4 (Preconfigured -
Docker)",
"64bit Debian jessie v1.2.1 running Go 1.3 (Preconfigured -
Docker)"
以上
2015年4月13日時点のstack一覧
http://www.r3it.com/
で、これらの実行環境に

どうやってアプリを

デプロイするか?
http://www.r3it.com/
これらの実行環境にどうやってアプリを

デプロイするか?
環境設定は
Management Console
or
AWS CLI / eb CLI
http://www.r3it.com/
これらの実行環境にどうやってアプリを

デプロイするか?
アプリケーションのデプロイ
war/zipファイル
or

git コマンド
http://www.r3it.com/
簡単な流れ
http://www.r3it.com/
まず大枠のアプリを作成

$ aws elasticbeanstalk create-application
http://www.r3it.com/
S3にwar/zipをアップロード。

この時ラベルを付けてバージョン管理
例えば” GitBucket3.1.1”とラベル
を付けてwarをアップロード
http://www.r3it.com/
そのwarなりzipなりを使う環境を作る

(ステージングとか、本番とか名前をつけて)
この環境がそれぞれ

1つのFQDNを持つ。

Webサーバの台数なんかは

設定次第
http://www.r3it.com/
最短なら3ステップ

http://環境名とか自分で空いてるのをつ
けたりした名前.elasticbeanstalk.com/


でアクセス可能な

Webアプリの出来上がり
http://www.r3it.com/
本番運用なら

環境名とか自分で空いてるのをつけた
りした名前.elasticbeanstalk.com
を自分のドメインにCNAMEします
http://www.r3it.com/
何が嬉しいの?
✴決まりきった環境なら構築要らず

✴アプリのバージョン管理がなされるの
で、ロールバックもお手軽

✴ブルーグリーンデプロイが楽
http://www.r3it.com/
美味しい話をする前に

覚えておきたいこと
✴環境配下のインスタンスは使い捨て

→ログが欲しければS3に吐くなどの設定(or自前
でログ集計環境に流すなど)
✴環境のカスタマイズはちょい悩む

.ebextensionsなどを駆使すれば出来るし、カス
タムのAMIも使える。が、スタックはどんどん最
新に上がっていくので…
http://www.r3it.com/
美味しい話をする前に

覚えておきたいこと
✴Dockerのデプロイはすごく便利だけど、イ
メージのビルドに時間がかかるのでmicroイン
スタンスではお勧めしない(^_^;
✴歴史的背景によりeb CLI(旧:2.6.x)、AWS
CLI 、eb CLI(3.x系)が混在しているのでグ
グった時は要注意(旧eb CLIはディスコン)
http://www.r3it.com/
では、嬉しい話に

進みます。
http://www.r3it.com/
決まりきった環境なら構築要らず
✴ロードバランサー配下でJava/Ruby/PHP等の

バージョンを指定した環境が一発で出来る
✴NodeやらIISも出来る


それぞれの環境ごとのChefレシピが

あれば要らないけどね・・・
http://www.r3it.com/
IISもこれだけあるので
"64bit Windows Server 2008 R2 running IIS 7.5",
"64bit Windows Server 2012 running IIS 8",
"64bit Windows Server 2012 R2 running IIS 8.5",
"64bit Windows Server Core 2012 R2 running
IIS 8.5",



誰かに試して欲しいです!
http://www.r3it.com/
アプリのバージョン管理がなされ
るので、ロールバックもお手軽
✴デプロイされたアプリケーション
は常にS3上にバージョン管理さ
れて保存される
✴必要があれば、戻りたい版を指定
してデプロイし直す事ができる
http://www.r3it.com/
アプリのバージョン管理がなされ
るので、ロールバックもお手軽
git aws.push するたびにバージョンが上がる
これらバージョン選んで環境を

指定してデプロイし直せる
http://www.r3it.com/
ブルーグリーンデプロイが楽
ステージング環境
本番(運用)環境
動作テストしてOKなら…
wwwは

今こっち
http://www.r3it.com/
いまの本番環境

(元ステージング)
元本番環境
それぞれの環境のURLを入れ替えちゃう!
切り替わった!
ブルーグリーンデプロイが楽
http://www.r3it.com/
普通に

ゼロダウンタイムで

運用できます
http://www.r3it.com/
その他TIPS
Q: Webアプリのセッション管理は・・・
A:そもそもWebサーバの外にだすことを推奨
 PHPならElastiCacheに置くとか、

 TomcatならDynamoDBに置くとか
http://www.r3it.com/
その他TIPS
Q: Webサーバの中のカスタマイズは?
A:インスタンスにsshしたら負けなので

 カスタマイズしたAMIを使うか

 . ebextensions で頑張る
 ただしそれをやるならeb使う意味があまり・・・
http://www.r3it.com/
あなたのebも大きく育つといいですね
2014-07-15 → 2015-04-13
http://www.r3it.com/
以上
簡単なことは簡単に
難しいことは…な
ebのご紹介でした



ありがとうございました

More Related Content

What's hot

中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OSMasami Yabushita
 
Twitter4jハンズオン 5/1 #twtr_hack
Twitter4jハンズオン 5/1 #twtr_hackTwitter4jハンズオン 5/1 #twtr_hack
Twitter4jハンズオン 5/1 #twtr_hackYusuke Yamamoto
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会guestadcb01
 
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話Shuichi Tsutsumi
 
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijpTwitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijpYusuke Yamamoto
 

What's hot (6)

中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
 
Hacking Vox and Plagger
Hacking Vox and PlaggerHacking Vox and Plagger
Hacking Vox and Plagger
 
Twitter4jハンズオン 5/1 #twtr_hack
Twitter4jハンズオン 5/1 #twtr_hackTwitter4jハンズオン 5/1 #twtr_hack
Twitter4jハンズオン 5/1 #twtr_hack
 
マッシュアップ勉強会
マッシュアップ勉強会マッシュアップ勉強会
マッシュアップ勉強会
 
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話
 
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijpTwitter API最新事情 - API Meetup Tokyo #1 #apijp
Twitter API最新事情 - API Meetup Tokyo #1 #apijp
 

Similar to Elastic Beanstalk 概要

Jawsug elastic beanstalk_150207
Jawsug elastic beanstalk_150207Jawsug elastic beanstalk_150207
Jawsug elastic beanstalk_150207Yutaka Hiroyama
 
スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発Masakuni Kato
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreCLOUDIAN KK
 
オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介OSSラボ株式会社
 
2015 0807 ConoHa I am the bone of the OpenStack API CLI tool
2015 0807 ConoHa I am the bone of the OpenStack API CLI tool2015 0807 ConoHa I am the bone of the OpenStack API CLI tool
2015 0807 ConoHa I am the bone of the OpenStack API CLI toolNaoto Gohko
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 本編
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 本編ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 本編
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 本編Koichiro Nishijima
 
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 事前準備編
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 事前準備編ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 事前準備編
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 事前準備編Koichiro Nishijima
 
SecureAssist Enterprise Portal APIガイド
SecureAssist Enterprise Portal APIガイドSecureAssist Enterprise Portal APIガイド
SecureAssist Enterprise Portal APIガイドAsterisk Research, Inc.
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02Hiroaki Komine
 
Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
Amazon Elasticsearch Service & Open Distro for Elasticsearch MeetupAmazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
Amazon Elasticsearch Service & Open Distro for Elasticsearch MeetupHibino Hisashi
 
20170809 AWS code series
20170809 AWS code series20170809 AWS code series
20170809 AWS code seriesAtsushi Fukui
 
Interop2016-openstack-user-group-mizuno
Interop2016-openstack-user-group-mizunoInterop2016-openstack-user-group-mizuno
Interop2016-openstack-user-group-mizunoshintaro mizuno
 
Programming AWS with Python
Programming AWS with Python  Programming AWS with Python
Programming AWS with Python Yasuhiro Matsuo
 
やってみようAWS IoT (ROS Japan UG #44 LT大会)
やってみようAWS IoT (ROS Japan UG #44 LT大会)やってみようAWS IoT (ROS Japan UG #44 LT大会)
やってみようAWS IoT (ROS Japan UG #44 LT大会)Seiya Shimizu
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作irix_jp
 
SORCOM UG #2 | SORACOM アップデート
SORCOM UG #2 | SORACOM アップデートSORCOM UG #2 | SORACOM アップデート
SORCOM UG #2 | SORACOM アップデートSORACOM,INC
 
2013年 AWSサービスアップデート 一気ふりかえり at BP Study #76
2013年 AWSサービスアップデート 一気ふりかえり at BP Study #76 2013年 AWSサービスアップデート 一気ふりかえり at BP Study #76
2013年 AWSサービスアップデート 一気ふりかえり at BP Study #76 Yasuhiro Horiuchi
 

Similar to Elastic Beanstalk 概要 (20)

Jawsug elastic beanstalk_150207
Jawsug elastic beanstalk_150207Jawsug elastic beanstalk_150207
Jawsug elastic beanstalk_150207
 
スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発スターターライセンスではじめるAtlassian開発
スターターライセンスではじめるAtlassian開発
 
AWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStoreAWS SDK for Python and CLOUDIAN HyperStore
AWS SDK for Python and CLOUDIAN HyperStore
 
オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介オープンソースNW監視ツールのご紹介
オープンソースNW監視ツールのご紹介
 
2015 0807 ConoHa I am the bone of the OpenStack API CLI tool
2015 0807 ConoHa I am the bone of the OpenStack API CLI tool2015 0807 ConoHa I am the bone of the OpenStack API CLI tool
2015 0807 ConoHa I am the bone of the OpenStack API CLI tool
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 本編
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 本編ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 本編
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 本編
 
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 事前準備編
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 事前準備編ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 事前準備編
ゼロから始めるモバイルアプリ開発 / 
 AWS Mobile Hubハンズオン 事前準備編
 
SecureAssist Enterprise Portal APIガイド
SecureAssist Enterprise Portal APIガイドSecureAssist Enterprise Portal APIガイド
SecureAssist Enterprise Portal APIガイド
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02
 
Real world rails
Real world railsReal world rails
Real world rails
 
Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
Amazon Elasticsearch Service & Open Distro for Elasticsearch MeetupAmazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup
 
20170809 AWS code series
20170809 AWS code series20170809 AWS code series
20170809 AWS code series
 
Interop2016-openstack-user-group-mizuno
Interop2016-openstack-user-group-mizunoInterop2016-openstack-user-group-mizuno
Interop2016-openstack-user-group-mizuno
 
Programming AWS with Python
Programming AWS with Python  Programming AWS with Python
Programming AWS with Python
 
やってみようAWS IoT (ROS Japan UG #44 LT大会)
やってみようAWS IoT (ROS Japan UG #44 LT大会)やってみようAWS IoT (ROS Japan UG #44 LT大会)
やってみようAWS IoT (ROS Japan UG #44 LT大会)
 
OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作OpenStackをさらに”使う”技術 概要と基礎操作
OpenStackをさらに”使う”技術 概要と基礎操作
 
SORCOM UG #2 | SORACOM アップデート
SORCOM UG #2 | SORACOM アップデートSORCOM UG #2 | SORACOM アップデート
SORCOM UG #2 | SORACOM アップデート
 
2013年 AWSサービスアップデート 一気ふりかえり at BP Study #76
2013年 AWSサービスアップデート 一気ふりかえり at BP Study #76 2013年 AWSサービスアップデート 一気ふりかえり at BP Study #76
2013年 AWSサービスアップデート 一気ふりかえり at BP Study #76
 

Elastic Beanstalk 概要