Elastic Beanstalkで
アプリ/インフラ
かんたん一括管理
2016-10-13
自己紹介
氏名: 駒原 雄祐 (こまはら ゆうすけ)
年齢: 36歳
家族: 妻と子供(3ヶ月)と犬(2歳)
お仕事: 広告配信プラットフォーム
A.J.A.の開発・運用エンジニア
Agenda
Elastic Beanstalkって何?
Elastic Beanstalkの基本構成
Elastic Beanstalkのイケてるポイント
Elastic Beanstalk運用上の注意点
まとめ
突然ですが
AWS使ってますか?
きょうは Elastic Beanstalkの
お話をします
Elastic Beanstalkでアプリ/インフラかんたん一括管理
Elastic Beanstalkって何?
AWS上でアプリケーションを実行、管理するの
に必要な機能がパッケージングされたもの
いわばAWSフレームワークといった趣
AWSのFAQによると、下記の事項を開発者が簡
単に行えるもの https://aws.amazon.com/jp/elasticbeanstalk/faqs/
容量のプロビジョニング
負荷分散
Auto Scaling
ところで
Beanstalkの読み方は?
✕ びーんず・とーく
◯ びーん・すたーく
意味は?
豆の主茎
( 出典: Weblio http://ejje.weblio.jp/ )
AWSでWebアプリケーションを作るとき ( 1 )
NW系の各種設定 (新規の場合)
VPC
Subnet
Route Table
etc ...
AWSでWebアプリケーションを作るとき ( 2 )
セキュリティ系の各種設定 (新規の場合)
Security Group
WAF
etc ...
AWSでWebアプリケーションを作るとき ( 3 )
アプリケーション実行環境の設定
ELB
Auto Scaling Group
EC2
RDS
etc ...
AWSでWebアプリケーションを作るとき ( 4 )
デプロイのための仕組みの準備
アプリケーションのビルド環境の用意
JenkinsやCircle CIなどのクラウドCIサービス
など
サーバへのデプロイ方法の用意
アプリケーションのバージョン管理
ElasticBeanstalkがカバーしているもの
NW系
● VPC
● Subnet
● Route Table
セキュリティ系
● Security Group
● WAF
App実行環境
● ELB
● Auto Scaling Group
● EC2
● RDS
デプロイ
● ビルド環境
● デプロイ方法
● アプリケーションバ
ージョン管理
ElasticBeanstalkがカバーしているもの
NW系
● VPC
● Subnet
● Route Table
セキュリティ系
● Security Group
● WAF
App実行環境
● ELB
● Auto Scaling Group
● EC2
● RDS
デプロイ
● ビルド環境
● デプロイ方法
● アプリケーションバ
ージョン管理
Elastic Beanstalk のアプリデプロイの流れ
アプリケーションのビルド
ビルド成果物をZIP圧縮し、S3にアップロード
S3にアップロードしたZIPファイルをElastic
Beanstalkにアプリケーションとして登録
登録したアプリケーションをElastic Beanstalkの
Environmentに対してデプロイ指示
こんな人に向いている
よくあるアーキテクチャ構成で、AWSサービス
を個別に設定をしていくのが面倒
アプリケーションのデプロイから起動まで、自
分で仕組みを構築するのが面倒
リリース後の切り戻しなど、アプリケーション
の状態管理をしたいが仕組みを構築するのが
面倒
一方で…
自分で構築するといろいろ面倒な部分をまとめ
てお世話してくれる
その分Elastic Beanstalkが指定する流儀に則
る必要はある
(ある程度はカスタマイズも可能)
自分でなんでも細かくやりたい(やる必要がある)
場合にはそもそも向かない
Elastic Beanstalkの基本構成
Elastic Beanstalkの基本構成 ( 1 )
Application (アプリケーション)
アプリケーション名
Web Application or Worker
アプリケーションのバージョン管理
1個以上のEnvironmentを持つ
Elastic Beanstalkの基本構成 ( 2 )
Environment (環境)
Applicationの子要素
ドメイン
紐づく各種AWSサービス(EC2/ELB等)の設定
インスタンスの状態管理
RebootやTerminateなど一部運用も可
構成例 ( 配信サーバ )
1 Application内 に 2 Environemnt 構成
Environment を作ると一緒に作られるもの
ELB (HTTP or HTTPS -> EC2 port)
Health Check
Auto Scaling Group
EC2 (指定したランタイムプリインストール)
インスタンスタイプ
Security Group
EBS
EC2の実行環境のカスタマイズ例
EC2のレイヤーについては2通りのやり方
起動するEC2のAMIを指定できる
予め必要なミドルウェア等をインストール
したAMIを用意しておくとよい
.ebextensionsディレクトリを配置
http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/ebextensions.html
ディレクトリ内の hogehoge.config と名の
付いたYAMLに実行内容を記載
Elastic Beanstalkのイケてるポイント
アプリケーションのバージョン管理
登録したアプリケーションのバージョン履歴の
保持
現在デプロイされているバージョンの確認
バージョンを指定してのデプロイ
バージョンを指定してのデプロイ
アプリケーションのアップデートだけでなく、
切り戻しも簡単にできる
(古いバージョンの再ビルドという形ではなく、
以前動作していたものと完全に同一のモジュー
ルをデプロイできる)
2つのEnvironmentでのBlue Green Deployment
Environmentは個別にドメインが割り当てられる
同一Application内のEnvironmentは、URL Swap
でドメインを入れ替えることができる
EnvironmentのドメインとURL Swap
prd-glasgow-deliver-active
↑こっちにアクセスが来る
prd-glasgow-deliver-standby
↑こっちはスタンバイ
URL Swap
Blue Green Deploymentの流れ
Env1
Domain: active…
AppVer: 001
Env2
Domain: standby…
AppVer: 001
Env1
Domain: active…
AppVer: 001
Env2
Domain: standby…
AppVer: 002
Env1
Domain: standby…
AppVer: 001
Env2
Domain: active…
AppVer: 002
Blue Green Deploymentの利点
本番環境を2系統用意して片側にデプロイするこ
とで、リリース作業を安全に行える
万一問題があった場合でも、再度URL Swapを行
うことで、容易に切り戻しが可能
Elastic Beanstalk運用上の注意点
Elastic Beanstalkレイヤーで保持する設定との齟齬
一部の設定は、対象のAWSサービス本体の設定
とは別にElastic Beanstalk上でも保持
ex) ELBのリスナーやAuto Scaling Groupの
min/maxインスタンス数など
AWSサービス本体側の設定を直接変更した場
合、Elastic Beanstalk側の設定と差異が生
じ、不具合につながる場合がある
Elastic Beanstalk側に設定がある項目はそちらか
ら設定変更するのが無難
Blue Green Deployment 実施時の注意 ( 1 )
Auto Scalingによるスケールアウト/スケールイ
ンをしている場合(高トラフィックなアプリケ
ーションなど)
URL Swapによってスケールアウトしていな
い状態の環境が突然高負荷にさらされるこ
とになる
URL Swapの前に、インスタンス数を増やし
ておくなどの準備が必要
Blue Green Deployment 実施時の注意 ( 2 )
高トラフィックなアプリケーションなどで、
ELBを利用している場合、URL Swapによって、
ELB自体がスケールダウンしている状態で突
然高負荷にさらされることになる
事前にダミートラフィックを流しておくなど
してELBの性能を引き上げておく
両環境のELBのプレウォーム申請をしておく
ことで性能を確保しておく
(A.J.A.ではこちらを採用)
URL Swap方式であることによる注意点
URLが入れ替わるだけのため、待機系環境もNW
的に接続できなくなるわけではない
DNSキャッシュなどの要因で、少量ながら待機
系にもアクセスは残る
待機系へのアクセスが許容できない場
URL Swap後に同一バージョンのアプリケ
ーションを待機系にもデプロイ
ELBのSecurity Groupでアクセスを遮断
まとめ
まとめ
Elastic Beanstalkは、形式に則って実装すること
で、インフラ面をほぼまるっとおまかせでき
るAWSフレームワーク
立ち上げ期で時間がない人や面倒くさがりな
人におすすめ
いくつかの罠は存在するが、バージョン管理や
Blue Green Deploymentなど、うまく使えば運
用が便利になる機能が盛り込まれている
ご清聴ありがとうございました

More Related Content

PDF
JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?
PDF
クラウド運用3足の草鞋151102
PDF
ドキュメント週末趣味のAWS Elastic Beanstalk 編
PDF
ElasticBeanstalkでのRailsアプリ運用
PPTX
福岡DB勉強会2016春・MySQLの{最新情報と概要}入門
PDF
Iaas, paasと利用者
PPT
試験にでるSpring
PPTX
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...
JAWS-UG CLI #26 LT - AWSアカウントに秘密の質問を設定する必要はあるのか?
クラウド運用3足の草鞋151102
ドキュメント週末趣味のAWS Elastic Beanstalk 編
ElasticBeanstalkでのRailsアプリ運用
福岡DB勉強会2016春・MySQLの{最新情報と概要}入門
Iaas, paasと利用者
試験にでるSpring
20210624 Monitoring the AWS Observability Workshop Environment with Datadog O...

What's hot (19)

PDF
20150523 operation jaws(JAWS-UG OSAKA #13)
PPTX
JAWS-UG新支部やリブート支部情報2015年11月
ODP
非同期データ更新のためにメッセージキューを導入した(い)話
PPTX
社内でアジャイルと出会った新卒2年目がインフラ部隊でタスク可視化をやってみた話
PDF
Awsでword pressを作ってみよう(ハンズオン)
PDF
20150207 amazon elasticache
PDF
Spring知っておきたい
PPTX
ニフティクラウドにZabbixをインストールしてみた
PPTX
App service コトハジメ
PPTX
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
PDF
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
PDF
10分でできる!vpsサービスAmazon lightsailを使いこなす
PPTX
2018 m365-e5-zero trust-network
PPTX
JAWS-UG開催情報 2015年2-3月
PPTX
Azure express route tips
PPTX
ScalaのソースをEclipseでビルドしてみた
PDF
JAWS-UG京王線#1業務で使うAWSCLI
PDF
Serverless で位置情報を活用する
PDF
JavaからScalaへ
20150523 operation jaws(JAWS-UG OSAKA #13)
JAWS-UG新支部やリブート支部情報2015年11月
非同期データ更新のためにメッセージキューを導入した(い)話
社内でアジャイルと出会った新卒2年目がインフラ部隊でタスク可視化をやってみた話
Awsでword pressを作ってみよう(ハンズオン)
20150207 amazon elasticache
Spring知っておきたい
ニフティクラウドにZabbixをインストールしてみた
App service コトハジメ
20160615 知能犯もシャットアウト!アイドルが教えるAmazonInspector♡
JAWS-UG 初心者支部 #4 東急ハンズのEC2の使いかた
10分でできる!vpsサービスAmazon lightsailを使いこなす
2018 m365-e5-zero trust-network
JAWS-UG開催情報 2015年2-3月
Azure express route tips
ScalaのソースをEclipseでビルドしてみた
JAWS-UG京王線#1業務で使うAWSCLI
Serverless で位置情報を活用する
JavaからScalaへ
Ad

Viewers also liked (20)

PPTX
課題を解決するためにやりたいこと
PDF
フロントでのGraphQL
PPTX
GenisysでTableauを導入した話
PDF
ニューラルネットと深層学習の歴史
PDF
20170112 tristan 勉強会_社外
PDF
Maglev: A Fast and Reliable Software Network Load Balancer
PDF
20161110 tristan 広告ランキング
PDF
Google vrからはじめるdaydreamへの道
PDF
BloomFilterを直感的に理解する
PDF
Akka/Actor introduction
PDF
強化学習勉強会・論文紹介(第30回)Ensemble Contextual Bandits for Personalized Recommendation
PDF
Introduction to contexual bandit
PDF
Contexual bandit @TokyoWebMining
PDF
Amazon machine leaning の紹介
PDF
MapR Hadoop M7 in CyberAgent AdTech Studio
PDF
データファースト開発
PDF
How to work Tableau x Google Cloud Platform in CyberAgent AdTech Studio
PDF
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
PDF
サーバーワークス re:invent_2016~新サービス・アップデート紹介~
PDF
広告におけるビッグデータの分析事例
課題を解決するためにやりたいこと
フロントでのGraphQL
GenisysでTableauを導入した話
ニューラルネットと深層学習の歴史
20170112 tristan 勉強会_社外
Maglev: A Fast and Reliable Software Network Load Balancer
20161110 tristan 広告ランキング
Google vrからはじめるdaydreamへの道
BloomFilterを直感的に理解する
Akka/Actor introduction
強化学習勉強会・論文紹介(第30回)Ensemble Contextual Bandits for Personalized Recommendation
Introduction to contexual bandit
Contexual bandit @TokyoWebMining
Amazon machine leaning の紹介
MapR Hadoop M7 in CyberAgent AdTech Studio
データファースト開発
How to work Tableau x Google Cloud Platform in CyberAgent AdTech Studio
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
サーバーワークス re:invent_2016~新サービス・アップデート紹介~
広告におけるビッグデータの分析事例
Ad

Similar to Elastic Beanstalkでアプリ/インフラかんたん一括管理 (20)

PPT
Jawsug elastic beanstalk_150207
PPTX
Azure/GCP使いの人にも知って欲しい(?) AWS Elastic Beanstalk
PDF
JAWS-UG北陸第2回 AWSクラウド最新アップデート
PDF
Elasticbeanstalk で Ansible を使っている話
PPTX
AWS Elastic Beanstalk のススメ
PDF
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
PPTX
サーバ構築・デプロイが簡単に!Elastic beanstalk
PPTX
Evolution of Observability and APM with using Elastic and Microsoft Azure
PDF
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
PDF
Azure kobebase lt-20201120
PDF
20150207 elastic loadbalancer
PPTX
JAWS-UG AI支部 #2 re:Invent アップデート
PDF
JAWS-UG東京第9回 2011年7月14日
PPTX
AWS活用のいままでとこれから -東急ハンズの事例-
PDF
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetection
PDF
LocalStack
PDF
Elastic beanstalk と Docker と Play
PDF
JAWSUG初心者向けトラック 【Deploy&Ops】
PDF
JJUG CCC 2014 ATL
PDF
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-
Jawsug elastic beanstalk_150207
Azure/GCP使いの人にも知って欲しい(?) AWS Elastic Beanstalk
JAWS-UG北陸第2回 AWSクラウド最新アップデート
Elasticbeanstalk で Ansible を使っている話
AWS Elastic Beanstalk のススメ
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
サーバ構築・デプロイが簡単に!Elastic beanstalk
Evolution of Observability and APM with using Elastic and Microsoft Azure
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Azure kobebase lt-20201120
20150207 elastic loadbalancer
JAWS-UG AI支部 #2 re:Invent アップデート
JAWS-UG東京第9回 2011年7月14日
AWS活用のいままでとこれから -東急ハンズの事例-
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetection
LocalStack
Elastic beanstalk と Docker と Play
JAWSUG初心者向けトラック 【Deploy&Ops】
JJUG CCC 2014 ATL
[AWSマイスターシリーズ] AWS Elastic Beanstalk -Python編-

Elastic Beanstalkでアプリ/インフラかんたん一括管理