SlideShare una empresa de Scribd logo
1 de 11
Elastic BeanstalkでDevOps
~ChefもPuppetも使わずにDevOpsの実践~
自己紹介
 名前:多賀亮一
 得意分野:AWSベースのインフラ構築、開発環境の整備
 Facebook:https://www.facebook.com/ryoichi.taga
 Twitter: @angelndxp
 開発実績:
 Kanmu CLO (https://clo.kanmu.co.jp/)
 他、非公開案件も多数。
 OSS参加
 Redmineベースの統合開発・ソース管理環境「ALMinium」プロジェクト
DevOpsの解釈
 デプロイ戦略、自動運用まで、システムの
一部と考え、開発段階からデプロイから運
用までの流れをすべて組み込んでしまうこ
と。そのうえで、運用を自動化してしまう
仕組みを構築する。
ChefもPuppetも使いません
 DevOpsといえば、Chef, Puppet, OpsWorks(Chef互
換)を利用したプログラマブルインフラのことを意
識する人がほとんど。
 しかし、これらのツールでの構築は構築コスト・
運用(作り変え)コストが非常に高い!
 なぜインフラエンジニアにRubyの知識が必要な
の?
もっと簡単に構築できないか?
Elastic Beanstalkを積極的に使う
 Webサーバー、ロードバランサー、監視システム、オートスケール、
データベース(オプション)を一式まとめて整備できるシステム。Gitデ
プロイが使え、リポジトリの「ブランチごと」に環境設定ファイルを
もってデプロイできる仕組みがある。→ これだけでもDevOpsの一部が
実現する。
 ただ使うと、AWSがあらかじめ準備した範囲でしか利用できないが、
いろいろカスタマイズできるので、カスタマイズを極めるとGitデプロ
イレベルでサーバー設定値が変更できる仕組みが埋め込めたりするの
で、Chefより便利なこともある。
 インフラ用のCMSみたいな存在
 カスタマイズを極めろ!
カスタマイズの考え方のコツ
 カスタムAMIを作る (必ず一度EBで環境作った後のAMIをベースにカスタマイズ)
 Linuxパッケージの yum insyall, yum erase, rpmインストールが必要となる場合
 Ruby の gem install、PHP の pear install など、言語環境を整備するとき など
 システムデプロイ(eb update)レベルで変更できる (AWSコンソールでもできる)
 オートスケールのリミットを増やす
 Document Rootの変更
 監視通知用メールアドレスの変更 など
 アプリデプロイ(git aws.push)レベルで変更できる (.ebextentionsで書ける)
 PHPパラメーター(php.ini)
 apacheパラメーター、nginxパラメーター
 fluentd(td-agent)の設定、Snapshot Logの追加
 デプロイ時に実行したいコマンド(シェルスクリプトで可能な範囲) など
デプロイしたらサーバー再起動する仕組みを
入れてみる例 (fluentdの再起動)
files:
"/opt/elasticbeanstalk/hooks/appdeploy/enact/95_td-
agent_restart.sh":
mode: "000755"
owner: root
group: root
content: |
#!/bin/bash
# If td-agent(fluentd) is not running, then start it.
if [ ! -e /var/run/td-agent/td-agent.pid ];
then
/etc/rc.d/init.d/td-agent start
else
/etc/rc.d/init.d/td-agent restart
fi
赤いディレクトリの
位置にシェルスクリ
プトを置いておくと、
「デプロイの最後」
に自動的に走るよう
になる
オプション設定ファイルでVPC配置?
 Elastic BeanstalkをVPCに配置することって簡単にできないの?
 できます。ただし、事前にVPC環境を準備しておけば。
 秘密の方法を使えば、WebアプリをMyltiAZ化することも!(Elastic
Beanstalk MultiAZ with VPCと命名。次ページ構成図参照)
<シングルゾーン配置のオプション記述例>
[aws:autoscaling:launchconfiguration]
SecurityGroups=sg-eb52b68o
[aws:ec2:vpc]
ELBSubnets=subnet-b7c745dd
ELBScheme=public
Subnets=subnet-fdc5479r
VPCId=vpc-2f3cmf42
(注)設定値は架空のものです
Internet Gateway
VPC Subnet VPC Subnet
VPC Subnet VPC Subnet
EC2 Instances EC2 Instances
Elastic Load Balancing Elastic Load BalancingEC2 Instance With AMI EC2 Instance With AMI
VPC Subnet
Amazon RDS MySQL Instance
VPC Subnet
Amazon RDS MySQL Instance
Availability Zone Availability Zone
Security Group
ZoneA ZoneB
NAT Instance NAT Instance
Public
Private
Public
Private
PrivatePrivate
Elastic Beanstalk
MultiAZ with VPC
RDSはEBから制御しても、
独立で構築してもよい。
ただし、EB連動にすると、
アプリ部分を消す時にRDS
も消えてしまう。
結論
 Elastic Beanstalkのカスタマイズを使い倒せば、Chef、
Puppetいりません!
 簡単にアプリケーションのMultiAZ環境も作れちゃいます。
 ある程度のサーバー設定値は、工夫をすることで「アプリ
デプロイと同じレベル」で変更可能になります。
 EC2キーがないWebサーバーの配置で、セキュリティー無
敵!ということも可能になる。
Elastic Beanstalkをもっと使おう!
この技術の導入実績あります。
どれだけ人が増えてもPV増えても、
サービスを落とさず自動運用する、
放置運用できるノウハウあります!
まずは相談からでも。
興味がある方はSNS等でご連絡ください。

Más contenido relacionado

Destacado

S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続Microsoft Azure Japan
 
Google Compute Engine 入門
Google Compute Engine 入門Google Compute Engine 入門
Google Compute Engine 入門Yuko Oshima
 
AWS上で使えるストレージ十番勝負
AWS上で使えるストレージ十番勝負AWS上で使えるストレージ十番勝負
AWS上で使えるストレージ十番勝負Akio Katayama
 
Google App Engine/Goを触ってみた
Google App Engine/Goを触ってみたGoogle App Engine/Goを触ってみた
Google App Engine/Goを触ってみたMasahiro Matsumoto
 
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Osamu Monoe
 
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsugSpring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsugToshiaki Maki
 

Destacado (7)

S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続S03 企業内システムと Microsoft Azure の VPN 接続
S03 企業内システムと Microsoft Azure の VPN 接続
 
Google Compute Engine 入門
Google Compute Engine 入門Google Compute Engine 入門
Google Compute Engine 入門
 
AWS上で使えるストレージ十番勝負
AWS上で使えるストレージ十番勝負AWS上で使えるストレージ十番勝負
AWS上で使えるストレージ十番勝負
 
Google App Engine/Goを触ってみた
Google App Engine/Goを触ってみたGoogle App Engine/Goを触ってみた
Google App Engine/Goを触ってみた
 
Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)Microsoft Azure 概要 (2015 年 4 月版)
Microsoft Azure 概要 (2015 年 4 月版)
 
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsugSpring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsug
 
20150207 jawsug kansai
20150207 jawsug kansai20150207 jawsug kansai
20150207 jawsug kansai
 

Último

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 

Último (12)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

Elastic beanstalkでdev ops