aws opsworksを使ってphpとlaravelが動くサーバーを構築してみよう!at phpstudy#97

51
AWS OpsWorks を使って PHP Laravel が動くサーバー を構築してみよう! スタジオ・アルカナ 吉田 紳一郎 2015/12/24() 97PHP勉強会@東京

Upload: shinichiro-yoshida

Post on 23-Jan-2018

942 views

Category:

Technology


0 download

TRANSCRIPT

AWS OpsWorks を使って

PHP と Laravel が動くサーバー

を構築してみよう!

スタジオ・アルカナ吉田紳一郎2015/12/24(木)

第97回 PHP勉強会@東京

みなさんこんばんは!

(株)スタジオ・アルカナ

Web制作会社

わりと受託やってる会社です

自社サービス事業に転換したい気持ちある

システムエンジニアAWS/PHP/Reactなどなど

フロントエンドやサーバーサイド実装からプロジェクトマネジメントまで雑食的な立ち位置でやってます

http://www.s-arcana.co.jp/

人材も募集しています

ところで、みなさん

サーバー構築していますか?

クリスマスも近いし、

サーバー構築していますよね?

サーバー構築が面倒なひと

(挙手をおねがいします)

突撃アンケート

(ありがとうございます)

デプロイが面倒なひと

(挙手をおねがいします)

突撃アンケートその2

(ありがとうございます)

やっぱり、面倒くさいですよね?

そんなとき、

サーバー構築とデプロイの味方

OpsWorksマン!

※Amazonの方から頂いたOpsWorksのステッカーより

AWS 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のくわしい使い方はブログもどうぞ

ありがとうございました