SlideShare a Scribd company logo
1 of 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等でご連絡ください。

More Related Content

Viewers also liked

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
 

Viewers also liked (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
 

Recently uploaded

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Recently uploaded (9)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

Elastic beanstalkでdev ops