AWS OpsWorks を使って
PHP と Laravel が動くサーバー
を構築してみよう!
スタジオ・アルカナ吉田紳一郎2015/12/24(木)
第97回 PHP勉強会@東京
(株)スタジオ・アルカナ
Web制作会社
わりと受託やってる会社です
自社サービス事業に転換したい気持ちある
システムエンジニアAWS/PHP/Reactなどなど
フロントエンドやサーバーサイド実装からプロジェクトマネジメントまで雑食的な立ち位置でやってます
http://www.s-arcana.co.jp/
人材も募集しています
クリスマスも近いし、
サーバー構築していますよね?
サーバー構築が面倒なひと
(挙手をおねがいします)
突撃アンケート
デプロイが面倒なひと
(挙手をおねがいします)
突撃アンケートその2
そんなとき、
サーバー構築とデプロイの味方
OpsWorksマン!
※Amazonの方から頂いたOpsWorksのステッカーより
AWSのサービスの一つ
①サーバ構築がChefでできる
②デプロイが簡単にできる
①サーバ構築がChefでできる
アプリケーションの役割ごとに
“レイヤー”
という単位でモデル化
と言われましても、
よくわかりませんよね。
すいません
たとえば
次のような構成を考えます
ロードバランサー
ユーザー
アプリケーションサーバ
アプリケーションサーバ
データベースサーバ
HAProxyとかELBとか
PHPとかRailsとか
MySQLとか
役割ごとに分類すると
次のようになります
ロードバランサー
ユーザー
アプリケーションサーバ
アプリケーションサーバ
データベースサーバ
データベース
アプリケーション
ロードバランサー
ユーザー
サーバ単位ではなく、
役割ごとに考えて、
それをレイヤーと呼びます。
データベース
アプリケーション
ロードバランサー
ユーザー
レイヤー
レイヤー
レイヤー
そして、レイヤーに対して
Chefのレシピを指定できます
ロードバランサー
HAProxyを構築するレシピ
アプリケーション
ApacheとPHPを構築するレシピ
データベース
MySQLを構築するレシピ
レイヤーに対して
サーバを追加します
ロードバランサー
アプリケーション
データベース
レシピ
レシピ
レシピ
サーバー
サーバー
サーバー
サーバー
サーバーを起動すると、
レイヤーのレシピが実行され、
自動的に環境が構築されます
ロードバランサー
アプリケーション
データベース
レシピ
レシピ
レシピ
ロードバランサー
アプリケーション
データベース
ユーザー
サーバーを増やしたい時は、
レイヤーにサーバを追加して、
起動するだけ!
ロードバランサー
アプリケーション
データベース
レシピ
レシピ
レシピ
サーバーを
1つにすることもできます。
ロードバランサー
アプリケーション
データベース
レシピ
レシピ
レシピ
同じサーバを指定
同じサーバを指定
②デプロイが簡単にできる
Gitリポジトリを指定して
サーバに一括でデプロイできる
アプリケーションサーバ
レシピ
このサーバに対してソースコードをデプロイしたい
ソースコードのリポジトリを
指定して、まとめてデプロイ
アプリケーションサーバ
レシピ
ボタンひとつでデプロイできる
べんり!
らくちん!
めんどくない!
アプリケーションサーバ
レシピ
ボタンひとつでデプロイできる
(2回目)
AWS管理コンソールで操作できます
(ドリフトスピリッツ)
【出典】AWSプロダクトシリーズ|よくわかるAWS OpsWorks - dots. [ドッツ]http://eventdots.jp/eventreport/374373
【出典】AWS 導入事例:株式会社トランスリミットhttps://aws.amazon.com/jp/solutions/case-studies/translimit/
【出典】AWS 導入事例:株式会社バンダイナムコスタジオhttps://aws.amazon.com/jp/solutions/case-studies/bns/
2015年12月現在
(Brain Wars/Brain Dots)
2015年12月現在
※スタジオ・アルカナの制作事例より
http://tovy.jp/
ユーザーがスマートフォンや PC で自らデザインした3Dキャラクターを通じて、テレビ番組やWeb、イベントなどに参加できるデジタルトイサービス。ZIP!やFIFAクラブワールドカップ2015で番組連動をした。
サービスの一部でOpsWorksを採用しています。
https://xz-closet.jp/
新しい着回しコーデを発見できるオシャレ女子のためのソーシャル・クローゼット。おしゃれな女性たちのファッションコーディネートアプリ。
サーバーサイドの一部でOpsWorksを採用しています。
ちなみに、テレビ連動の場合だと10~100台くらいサーバーを使う
テレビ告知後のリクエスト数静的コンテンツは 60万req/min(1万/sec)
AWS OpsWorksを使ってPHP 5.6の環境構築とLaravel 5.1のデプロイ作業を自動化する。
http://www.s-arcana.co.jp/blog/2015/09/27/2851
AWS OpsWorksのくわしい使い方はブログもどうぞ