SlideShare a Scribd company logo
ブログ製本サービス
MyBooks.jpのアーキテクチャ Part.3
AWS Elastic Beanstalkについて
欧文印刷株式会社・ソフトウェアエンジニア・田名辺健人
2014/04/11 第13回勉強会
Who am I ?!(この顔にピンときたら)
田名辺 健人(たなべたけひと)
ソフトウェアエンジニア
!
!
欧文印刷株式会社(東京都)
2011年11月クラウド移住
札幌でリモート勤務中
初代AWSサムライ
好きなサービス: SWF
@dateofrock
http://blog.dateofrock.com/
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
www.mybooks.jp
EC2
Instance
WordPress
(AMI元)
Elastic IP
Address
ELB
EC2
Instance
EBS
EBS snapshot
S3
Simple Workflow
Service
Tomcat Session Store
Book Data
Tomcat7 (Grails/back-end)
EC2 Instances
ELB
Decider
Worker
EC2 Instances
(Auto Scaling)
Tomcat7 (Grails/front-end)
CloudWatch
Simple Email
Service
S3 (App
Resources)
editor.mybooks.jp
A. 静的サイト B. 動的サイト
Route53
www.mybooks.jp
EC2
Instance
WordPress
(AMI元)
Elastic IP
Address
ELB
EC2
Instance
EBS
EBS snapshot
S3
Simple Workflow
Service
Tomcat Session Store
Book Data
Tomcat7 (Grails/back-end)
EC2 Instances
ELB
Decider
Worker
EC2 Instances
(Auto Scaling)
Tomcat7 (Grails/front-end)
CloudWatch
Simple Email
Service
S3 (App
Resources)
editor.mybooks.jp
A. 静的サイト B. 動的サイト
Route53
www.mybooks.jp
EC2
Instance
WordPress
(AMI元)
Elastic IP
Address
ELB
EC2
Instance
EBS
EBS snapshot
S3
Simple Workflow
Service
Tomcat Session Store
Book Data
Tomcat7 (Grails/back-end)
EC2 Instances
ELB
Decider
Worker
EC2 Instances
(Auto Scaling)
Tomcat7 (Grails/front-end)
CloudWatch
Simple Email
Service
S3 (App
Resources)
editor.mybooks.jp
A. 静的サイト B. 動的サイト
Route53
www.mybooks.jp
EC2
Instance
WordPress
(AMI元)
Elastic IP
Address
ELB
EC2
Instance
EBS
EBS snapshot
S3
Simple Workflow
Service
Tomcat Session Store
Book Data
Tomcat7 (Grails/back-end)
EC2 Instances
ELB
Decider
Worker
EC2 Instances
(Auto Scaling)
Tomcat7 (Grails/front-end)
CloudWatch
Simple Email
Service
S3 (App
Resources)
editor.mybooks.jp
A. 静的サイト B. 動的サイト
Route53
AWS Elastic Beanstalk
Immutable Infrastructure
今一番ナウい!
そして日本人には発音がつらいww
Blue Green
Deployment
http://martinfowler.com/bliki/BlueGreenDeployment.html
それ
Elastic Beanstalk
そのものですから
AWS Elastic Beanstalk
Elastic Beanstalk
で
Blue Green Deployment
してみる
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
DNS
Storage
DB
LB LB
Servers Servers
Server Image Server Image
Blue Green
Live Pending
version1
DNS
Storage
DB
LB LB
Servers Servers
Server Image Server Image
Blue Green
Live Pending
version1 version2
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて
DNS
Storage
DB
LB LB
Servers Servers
Server Image Server Image
Blue Green
Live Pending
version1 version2
DNS
Storage
DB
LB LB
Servers Servers
Server Image Server Image
Blue Green
Pending Live
version1 version2
1.サーバーを直接触らない
上書きデプロイしてリスタートとか
事故の元w
(基本的に)サーバーにログインし
ての作業はやらない。
Immutable Infrastructureとしての
Elastic Beanstalk
そもそもkey pair
指定が必須ではない
(注)私は臆病者なので指定してますw
EC2のセットアップ
1.あらかじめセットアップ済み
AMIを作る
2.cloud-initやChefなどで頑張るw
3.configを利用する
• Elastic Beanstalk的には王道
EC2のセットアップ
1.あらかじめセットアップ済み
AMIを作る
2.cloud-initやChefなどで頑張るw
3.configを利用する
• Elastic Beanstalk的には王道
YAML
YAML
$APP_ROOT/.ebextensions/*.config
✓パッケージインストール
✓アーカイブダウンロード + 展開
✓ファイル生成 or コピー
✓OSユーザー・グループ作成
✓コマンド実行(OS用)
✓コマンド実行(コンテナ用)
✓サービス設定(/etc/init.d)
✓Beanstalk固有の設定
packages:
yum:
libmemcached: []
ruby-devel: []
nfs-utils: [1.0.9]
rpm, yum, apt,
rubygems (chef)
sources:
/usr/local/bin:↲
http://hoge.com/hoge.tar.gz
tar, tar+gzip, tar+bz2, zip
files:
"/home/ec2-user":
mode: "000777"
owner: ec2-user
group: ec2-user
source: http://hoge.com/a.txt
files:
"/home/ec2-user":
mode: "000777"
owner: ec2-user
group: ec2-user
content: |
# this is my file
# with content
content直書きOK
users:
myuser:
groups:
group1
group2
uid: "50"
homeDir: “/tmp”
groups:
- groupOne
- groupTwo
gid: "45"
commands:
test:
command: myscript.py
cwd: /home/ec2-user
env: myvarname: myvarvalue
container_commands:
replace-server_xml:
command: ↲
cp .ebextensions/server.xml ↲
/etc/tomcat7/server.xml
server.xmlの置換
container_commands:
01syncdb:
command: "django-admin.py syncdb --noinput"
leader_only: true
02migrate:
command: "django-admin.py migrate"
leader_only: true
マイグレーションの実行
services:
sysvinit:
myservice:
enabled: true
ensureRunning: true
option_settings:
- namespace: ↲
aws:elasticbeanstalk:container:tomcat:jvmoptions
option_name: Xmx
value: 512m
- option_name: AWS_SECRET_KEY
value: SECRET_KEY
- option_name: AWS_ACCESS_KEY_ID
value: ACCESS_KEY
2.App側も気を使う必要あり
Immutableである→ステートレス
ステートレスなアーキテクチャ
メンテが楽!!
スケーラブル!!
Immutable Infrastructureとしての
Elastic Beanstalk
DNS
Storage
DB
LB
Servers
Server Image
Blue
Live
DNS
Storage
DB
LB
Servers
Server Image
Blue
Live
データ(状態)はサーバーの外へ!
DNS
Storage
DB
LB
Servers
Server Image
Blue
Live
サーバーはいつでも捨てられる!
Immutable Infrastructure
今一番ナウい!
そして日本人には発音がつらいww
AWS Elastic Beanstalk
www.mybooks.jp
EC2
Instance
WordPress
(AMI元)
Elastic IP
Address
ELB
EC2
Instance
EBS
EBS snapshot
S3
Simple Workflow
Service
Tomcat Session Store
Book Data
Tomcat7 (Grails/back-end)
EC2 Instances
ELB
Decider
Worker
EC2 Instances
(Auto Scaling)
Tomcat7 (Grails/front-end)
CloudWatch
Simple Email
Service
S3 (App
Resources)
editor.mybooks.jp
A. 静的サイト B. 動的サイト
Route53
www.mybooks.jp
EC2
Instance
WordPress
(AMI元)
Elastic IP
Address
ELB
EC2
Instance
EBS
EBS snapshot
S3
Simple Workflow
Service
Tomcat Session Store
Book Data
Tomcat7 (Grails/back-end)
EC2 Instances
ELB
Decider
Worker
EC2 Instances
(Auto Scaling)
Tomcat7 (Grails/front-end)
CloudWatch
Simple Email
Service
S3 (App
Resources)
editor.mybooks.jp
A. 静的サイト B. 動的サイト
Route53
Private Distribution
State Sharing
Snapshot
Scale Up
Floating IP
NFS Sharing
DB Replication
Queuing Chain
Multi Datacenter
Bootstrap
Cloud DI
Web Strage Archive
Functional Firewall
Operational Firewall
Multi Datacenter
Bootstrap
Cloud DI
Web Strage Archive
Functional Firewall
Operational Firewall
Snapshot

More Related Content

PDF
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1
PDF
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.2(Amazon Simple Workflow Service編)
PDF
AWS Vol.1
PDF
5分でできる ebfly
PPTX
Awsのspot instanceでimmutableinfrastructure
PPTX
serverless
PDF
AWS Amplify XRを動かしてみたら、、、
PDF
CloudTrail でログとれ〜る
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.1
ブログ製本サービス MyBooks.jpのアーキテクチャ Part.2(Amazon Simple Workflow Service編)
AWS Vol.1
5分でできる ebfly
Awsのspot instanceでimmutableinfrastructure
serverless
AWS Amplify XRを動かしてみたら、、、
CloudTrail でログとれ〜る

What's hot (20)

PDF
Behind-the-Scenes and Goals of LINE Summer Internship Program
PDF
Serverless Architecture Overview #cdevc
PDF
第7回rest勉強会 バリデーション編
PDF
AWSと網元でWordPressサーバ構築(公開用)
PDF
Lvsをvpc上に構築してみた話
PDF
2010年インストールマニアックス ~Javaアプリ編~
PPTX
EC2でマルチキャスト
PDF
Kubernetesを使う上で抑えておくべきAWSの基礎概念
PDF
AWS Casual2 LT
PDF
[jjug] Java と Benchmark
PDF
AWSで地球の裏側ブラジルの人にすばやくWEBサイトを見せたい。
PDF
Shinjuku.rb #29 ActiveJobでSQS使ったのとその永続化についての話
PPTX
LINE API × heroku ×selenium
PDF
errbit とは何なのか LT (社内勉強会用)
PPTX
Stm vol3 awsで落ちないwebサービスを構築
PDF
API Gatewayで re:Inventのセッション探し
PPTX
EC2上でパケットをミラーリング
PPTX
Device Farm を使ったスマホアプリの自動テスト
PDF
AWS で concrete5 を 簡単起動!
PPTX
Behind-the-Scenes and Goals of LINE Summer Internship Program
Serverless Architecture Overview #cdevc
第7回rest勉強会 バリデーション編
AWSと網元でWordPressサーバ構築(公開用)
Lvsをvpc上に構築してみた話
2010年インストールマニアックス ~Javaアプリ編~
EC2でマルチキャスト
Kubernetesを使う上で抑えておくべきAWSの基礎概念
AWS Casual2 LT
[jjug] Java と Benchmark
AWSで地球の裏側ブラジルの人にすばやくWEBサイトを見せたい。
Shinjuku.rb #29 ActiveJobでSQS使ったのとその永続化についての話
LINE API × heroku ×selenium
errbit とは何なのか LT (社内勉強会用)
Stm vol3 awsで落ちないwebサービスを構築
API Gatewayで re:Inventのセッション探し
EC2上でパケットをミラーリング
Device Farm を使ったスマホアプリの自動テスト
AWS で concrete5 を 簡単起動!
Ad

Similar to ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて (20)

PDF
AWSを用いたWebホスティング
PDF
はじめてのAmazon Web Services
PPTX
EKSを動かしてみた話
PDF
JAWS-UG東京第9回 2011年7月14日
PDF
Elastic beanstalk と Docker と Play
PDF
Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)
PDF
Amazon ECS , AWS Fargate あるとき~ ないとき~
PDF
LocalStack
PPT
Jawsug elastic beanstalk_150207
PDF
スタートアップでのAWS(Amazon Web Services)活用事例
PDF
cloudpack(AWS運用事業)一周年でわかってきたこと
PDF
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
PDF
JAWS-UG北陸第2回 AWSクラウド最新アップデート
PDF
Morning Session - AWS Serverless Ways
PDF
JAWS Summit Satoshi Yokota
PDF
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
PDF
20130326 aws meister-reloaded-windows
PDF
アマゾンクラウド実践講座 in 福岡/山口クラウドセミナー 20101208
PDF
仮想サーバーEC2 & EBS詳細 -ほぼ週刊AWSマイスターシリーズ "Reloaded"-
PDF
クラウドを使ってみよう - クラウド女子会2011年4月30日
AWSを用いたWebホスティング
はじめてのAmazon Web Services
EKSを動かしてみた話
JAWS-UG東京第9回 2011年7月14日
Elastic beanstalk と Docker と Play
Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)
Amazon ECS , AWS Fargate あるとき~ ないとき~
LocalStack
Jawsug elastic beanstalk_150207
スタートアップでのAWS(Amazon Web Services)活用事例
cloudpack(AWS運用事業)一周年でわかってきたこと
Scraping withawsAWSを利用してスクレイピングの悩みを解決するチップス
JAWS-UG北陸第2回 AWSクラウド最新アップデート
Morning Session - AWS Serverless Ways
JAWS Summit Satoshi Yokota
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
20130326 aws meister-reloaded-windows
アマゾンクラウド実践講座 in 福岡/山口クラウドセミナー 20101208
仮想サーバーEC2 & EBS詳細 -ほぼ週刊AWSマイスターシリーズ "Reloaded"-
クラウドを使ってみよう - クラウド女子会2011年4月30日
Ad

More from Takehito Tanabe (20)

PDF
XamarinとAWSをつないでみた話
PDF
スタートアップがグローバルなシステムを作るために、積極的にサーバーレスに取り組んでみた話 / Serverless Meetup Sapporo
PDF
エフスタ!!HOKKAIDO エンジニアが この先 生き残るには
PDF
クラウドで管理する手作り育苗ハウスのつくり方
PDF
さっぽろ農学校成果発表
PDF
JAWS-DAYS 2015 / 北海道 x 農業 x クラウド
PDF
青森ITビジネス・マッチング交流会
PDF
Farmnoteの技術(AWS Cloud Roadshow 2014 札幌)
PDF
リモート勤務でエンジニアをやっているワケ 〜 AWS ジャパンツアー 2014年 夏 札幌
PDF
Garage labsサーバー部11U final
PDF
北海道の楽しい100人
PDF
第8回クラウドごった煮 4年と半年、AWSを使い続けた結果
PDF
クラウド移住で地方に住むということ
PDF
華麗なるElastic Beanstalkでの環境構築
PDF
テレワークHOKKAIDOセミナー 会社を辞めないUターン
PDF
AWSと1500日
PDF
雲にのって札幌まで来た話
PDF
クラウド移住体験記
PDF
AWS小ネタ集
PDF
CloudWatch Custom Metrics
XamarinとAWSをつないでみた話
スタートアップがグローバルなシステムを作るために、積極的にサーバーレスに取り組んでみた話 / Serverless Meetup Sapporo
エフスタ!!HOKKAIDO エンジニアが この先 生き残るには
クラウドで管理する手作り育苗ハウスのつくり方
さっぽろ農学校成果発表
JAWS-DAYS 2015 / 北海道 x 農業 x クラウド
青森ITビジネス・マッチング交流会
Farmnoteの技術(AWS Cloud Roadshow 2014 札幌)
リモート勤務でエンジニアをやっているワケ 〜 AWS ジャパンツアー 2014年 夏 札幌
Garage labsサーバー部11U final
北海道の楽しい100人
第8回クラウドごった煮 4年と半年、AWSを使い続けた結果
クラウド移住で地方に住むということ
華麗なるElastic Beanstalkでの環境構築
テレワークHOKKAIDOセミナー 会社を辞めないUターン
AWSと1500日
雲にのって札幌まで来た話
クラウド移住体験記
AWS小ネタ集
CloudWatch Custom Metrics

ブログ製本サービス MyBooks.jpのアーキテクチャ Part.3 AWS Elastic Beanstalkについて