狠狠撸

狠狠撸Share a Scribd company logo
サーバサイドエンジニアから見た
MT構築のレガシーなノウハウ
(入門編)
!
@onagatani
自己紹介
? 北海道からきました!
? 永谷?理(ながたに?おさむ)
? スカイアーク所属Movable Type歴6年目
のインフラ?サーバサイドエンジニア
? Perlが大好きでHokkaido.pmや
YAPC::Asia、MTの勉強会、最近はAWSの
勉強会にも顔を出しています
? 好きなMTプラグインは自分が開発したプ
ラグイン?
一部公開していますのでGitHubをご覧下
さい@onagatani
? 活イカとスープカレーを主食にしています
(c) Japan Perl Association
YAPC::Asia 2012での発表風景(北の国から風)
?サーハ?サイト?エンシ?ニアから見た MT構築のレカ?シーなノウハウ (入門編)
PageButeの開発元です
MT案件ではかなり使用されていましたよね?
? 北海道帯広市で起業して11年目。
Movable TypeでのCMS構築を主力事業
として他にAWS導入やSalesforce導入
も行っています
? GitHubで公開しているプラグインは商用
利用も無料なので是非ご利用下さい(公
開あまりできていないですが現在までに
100以上のプラグインを開発していま
す)
? 関連会社Farmnoteの事業ではIVS
Launch Padで3位入賞でした。AWS
Cloud Roadshow 2014 Sapporoで登
壇などしている会社です
IVS 2014 Fall Launch Pad
Github (ほとんどMT plugin)
少し会社の宣伝
北海道といえば
スープカレー
自分は最低週に三食は食べます
活イカ
死んだイカはイカじゃない!
本題
!
サーバサイドエンジニアから見た
MT構築のレガシーなノウハウ
(入門編)
!
現場はイマドキのノウハウを
取り入れられない場合がありますというお話
再構築は重い
? 今まではMTでは普通に構築を行うとアー
カイブが増えてきた場合にカテゴリや
月別アーカイブが非常に長いページに
なるためPageButeなどを利用する場
面が多かった。
? ページ分割を行う事でほとんどPVが無
い昔のアーカイブを再構築する事にな
り再構築負荷が半端ない事に。
? 例えばカテゴリアーカイブや古い記事
はリクエストが来てからDataAPIで処
理するようにしましょう。?
※SEO的な観点は考慮していません
index_1.html
index_2.html
…
なんとなくPHPを使っている
? 敵勢適所ですが余計な負荷になる事も多く、
他の実装で回避できる場合が多いです
? .html拡張子でもPHPを動作するようにし
ている。?
※極力避けたい
? php includeのためだけにPHPを使ってい
る場合はJSで代替できるか検討する
? 再構築をトリガーとしない表示切り替えを
行う場合はJSやDataAPIを検討
? 結局楽をしたくてPHPを入れる人も多い
のですがPHPのバージョンアップとかして
いるのかなと心配
<?php include( /path/to/
hoge.html ); ?>
え?これだけのためにPHPなのー!
という事もしばしば
静的htmlのみのサイトにする
? やはりMTの強みは静的再構築!?
突然のアクセスも問題になる事はないでしょ
う
? コーポレートサイトの構築では静的html
とJSだけでほぼ完結できるでしょう?
※今どきトラックバックやコメント機能は
ほとんど使わないし(??
? 動的要素がないのでセキュリティもあんま
り気をつけなくて大丈夫?
※MTの脆弱性はXSSを除けばmt-XXX.cgi
がほとんどです、詳しくは後述します
? DataAPIはとても便利ですがむやみやたら
に使用すると過負荷の原因にもなります
うちのエンジニアブログですが
静的htmlなのでスループットも数千です
toolsディレクトリの活用
? tools内にはcliツールが沢山入っています
ので活用しましょう。例えばrebuild-pages
スクリプトを利用して定期的に特定テンプ
レートの再構築を行うなんて事も出来ます
? MultiBlog機能を極力使わない事で再構築
する対象を減らし、代わりに1時間に一度
などで関連ページを再構築する(他にも色々
方法はありますが)
? 記事データを全てJSONで静的出力しjquery
等で必用なデータを使って画面をレンダリ
ングすればアーカイブの差構築も不要かも?
?
?
? テンプレート例)?
setvarでデータを作成してto_json
で定期的に出力する?
<mt:Var name="entries"
to_json="1">
AWSを使う
? AzureでもGCEでも良いんですが弊社
では主にAWSを使う事が多いです。
そしてAWSの機能は静的html生成型
CMSにも非常に相性がいいです。
? AWSに用意されたMT AMIを使えば
全てセットアップ済みのセキュリテイ
もバッチリの高速なMTサーバがすぐ
に使用できます
? 後述しますが、AWSを利用する事でLB
や複数台サーバ構成も1時間もかから
ずに構築できオンプレ時代から比べる
と手間暇がかなり削減できます
t2.microならライセンス無料!
仕事で使うならt2.midium以上ないと厳しいかも
セキュリテイに気をつける
? CMSとコンテンツ公開サーバを
切り分ける
? MTが動いているCMSサーバを
外部から隔絶しコンテンツをS3
等へ配信する事でセキュリテイ
をほぼ考えなくてよい構成にな
ります
? また、S3でコンテンツ公開を行
うことによって、Webサーバの
冗長化やバックアップもほとん
ど考えなくてよくなります
Amazon EC2

Movable Type
security group
Amazon S3
接続元IP制限 コンテンツ公開
ToI企画さんがAWSプラグインを公開しています
https://github.com/usualoma/mt-plugin-amazon
管理画面の高速化
? PSGIを利用する!?
これに尽きます???。?
CGIより数倍高速されます
? 管理画面自体はapache,nginx,mysql等を
チューニングしてもほとんど速度に変化
はないのでMT自体を高速化する事が一番
? FCGIでも良いのですが、さらにPSGIで高
速化!?
※PSGIサーバはStarmanやStarletを使い
ましょう
? サーバ管理できない人はMT AMIを使う
事を推奨します
自分でゼロからPSGIのMTを起動したい場合は
参考にして下さい
http://www.skyarc.co.jp/engineerblog/entry/
movabletype_psgi_mysql.html
コンテンツ配信の高速化
? 静的htmlだけで構成されたコンテンツでは
サーバの限界性能に達する前に設定値の制
限に引っかかる事があります?
※Apacheは最大接続数をチューニングし
ましょう。nginxはデフォルトでも結構捌け
ます
? そのため想定されるPVに耐えうるようにサー
バのカーネルチューニングを行います。例
えばファイルディスクリプタやIPTablesの
最大接続数、TCP関連のチューニングする?
※AmazonLinuxだとインスタンスサイズに
よってチューニングされています
? ちなみにSSLを使うと10倍くらい重くなる
事もあるので注意(SSLアクセラレータ付
きのLBを使う事で回避)
CentOSの例)
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_?n_timeout = 10
net.ipv4.tcp_timestamps = 0
kernel.panic_on_oops=1
kernel.panic=10
net.core.somaxconn = 10240
net.ipv4.ip_local_port_range = 10240 65000
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_no_metrics_save=1
net.core.somaxconn = 262144
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_max_tw_buckets = 56384
net.nf_conntrack_max = 1000000
fs.?le-max = 794573
AWS環境構築
? 新規案件の環境構築では、AWS
の基本設定はCloudFormationで
行い、残りのサーバ構築は
Ansible/chefなどで行っています
? 弊社案件ではELB下にWEBサー
バを冗長化し、MT/CMSサーバ、
RDSを配下においた構成が多いで
す?
※細かいリダイレクトやDataAPI
の利用など色々な事を行う事が多
いためS3ではなくEC2を冗長化
する事が現状多いです。。。
AWS
CloudFormation
Availability Zone
virtual private
cloud
Amazon
EC2
DR対策
? AWSではELBの下にEC2を複数MultiAZ
設置し、1台が落ちても停止しない構
成に
? データベースはRDS MultiAZで
? ストレージはGlusterFSなどで冗長化?
共有を行う?
今後は価格次第でEFSが主流になると
思います。EFSはMT界の救世主!
? とはいえ、通常のコーポレートサイト
であればEC2一台で運用しスナップ
ショット?バックアップ?自動復旧設
定をしておけばほとんど問題ないはず
Elastic
Load

Balancing
WEB/
CMS
WEB/
CMS
Availability Zone Availability Zone
RDS DB
instance
RDS DB ?
instance standby ?
(Multi-AZ)
データ同期
レプリケー
ション
片方のAZやEC2?RDSが落ちても
サービス停止しない構成
MTバージョンアップ
? 一番怖くてやりたくない作業
? とはいえ、サボるわけにもいかない
? 基本的には出力されるコンテンツの中身がバー
ジョンアップ前と後で同一であれば良い
? やりたくないが全コンテンツをクローリング
するか静的htmlに対してdi?を行うのが安全?
※MTのバージョンアップではMTタグの挙動
が多少変化したり、きちんと書いていない場
合に動かなくなる場合がある
? もしくはMTのソースコードの差分を見て影
響範囲を把握し対応
? 原始的なので良い方法あれば教えて下さい
MT5 MT6
Elastic
IP
旧環境 新環境
スナップショットから起動
バージョンアップ環境を試してから

EIPを切り替えて無停止でサーバ切
り替えを行う
まとめ
? 再構築するファイル数が多くならないように気をつける
(MTが敬遠される理由になった)
? とはいえ静的再構築しておけばT2インスタンスでも数千
スループットは可能、PHPは適材適所で使う
? クラウドを活用してセキュアでスケーラブルなWebサイ
ト運用を行う(どこかで聞いたセリフですね!)
? DataAPIを活用する(ユーザ参加型のコンテンツ開発
や、非同期でのコンテツ表示による負荷軽減)
Ad

Recommended

PDF
デザイナーにもできる再构筑の高速化/负荷分散
Hajime Fujimoto
?
PDF
“MT on AWS”でWebサイト構築! 作り手が気をつけておきたいポイント
Monster Dive, Inc.
?
PDF
Cmsdou oosaka
onagatani
?
PDF
Yapc asia 2011
onagatani
?
PDF
How to develop a huge Single Page Application
Naoki Yamada
?
PPTX
10年以上Java屋してたおっさんが 今年からフロントエンジニアやっている話
takehiko yoshida
?
PDF
最速て?価値を提供する
LIFULL Co., Ltd.
?
PDF
エンジニアからデザイナーに贈るプロトタイピングのすすめ - 春のフロントエンド祭り 2015
Naoki Yamada
?
PPTX
笔贬笔とフロントのイイ関係?动くスタイルガイドをつくろう
Yusuke Kawabata
?
PDF
我が家のフロントエンド开発事情
Naoki Yamada
?
PDF
?Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
?
PDF
中の下のエンジニアを脱出するための仕事术
Noriaki Kadota
?
PPTX
ドメイン駆動設計と サーバサイドと私
Noriaki Kadota
?
PPTX
チームラボ スマホアプリチームの面白い仕事の作り方
Wataru Sakashita
?
PPTX
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
Isao Takahashi
?
PDF
20150531 phpcon kansai
kumamidori
?
PDF
地方フリーランスとして ゆるいチームで生き抜いてる話
Tomoe Sawai
?
PPTX
颁丑补迟辞辫蝉のおかけて?エンシ?ニアか?ルーティンワークから解放された话
葛 飛
?
PDF
生粋の搁耻产测颈蝉迟か?闯补惫补を好きになった理由
Akira Kitauchi
?
PDF
最近挑戦していること at MF Geeks Night 2015.03.19
Naoto Koshikawa
?
PDF
ソースコードレビューのススメ
KLab Inc. / Tech
?
PDF
迟丑谤别别.箩蝉による一歩进めたグラフィカルな表现
Kei Yagi
?
PDF
在宅フリーランスで 失敗した話3選
Tomoe Sawai
?
PDF
闯补惫补贵齿と搁辞产辞痴惭を使って颈翱厂上て?动くアフ?リを试してみた
Satoshi Takami
?
PDF
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
Masahiro Nakashima
?
PPTX
最近谁かに「やったほうがいいよ」と伝えた7のこと
Noriaki Kadota
?
PPTX
あらためて考える、これからの仮想化インフラのためのデータセンター
VirtualTech Japan Inc.
?
PDF
初めての Data API CMS と?うて?しょう - 仙台編 -
Yuji Takayama
?
PDF
WordPress JSON REST API ?さらばPHP、さらばWordPressテーマ
Kazue Igarashi
?
PDF
学生の行动についての调査から见えてきたこと フォーカスグループインタビュー调査とフォトボイス调査より
naho tani
?

More Related Content

What's hot (19)

PPTX
笔贬笔とフロントのイイ関係?动くスタイルガイドをつくろう
Yusuke Kawabata
?
PDF
我が家のフロントエンド开発事情
Naoki Yamada
?
PDF
?Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
?
PDF
中の下のエンジニアを脱出するための仕事术
Noriaki Kadota
?
PPTX
ドメイン駆動設計と サーバサイドと私
Noriaki Kadota
?
PPTX
チームラボ スマホアプリチームの面白い仕事の作り方
Wataru Sakashita
?
PPTX
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
Isao Takahashi
?
PDF
20150531 phpcon kansai
kumamidori
?
PDF
地方フリーランスとして ゆるいチームで生き抜いてる話
Tomoe Sawai
?
PPTX
颁丑补迟辞辫蝉のおかけて?エンシ?ニアか?ルーティンワークから解放された话
葛 飛
?
PDF
生粋の搁耻产测颈蝉迟か?闯补惫补を好きになった理由
Akira Kitauchi
?
PDF
最近挑戦していること at MF Geeks Night 2015.03.19
Naoto Koshikawa
?
PDF
ソースコードレビューのススメ
KLab Inc. / Tech
?
PDF
迟丑谤别别.箩蝉による一歩进めたグラフィカルな表现
Kei Yagi
?
PDF
在宅フリーランスで 失敗した話3選
Tomoe Sawai
?
PDF
闯补惫补贵齿と搁辞产辞痴惭を使って颈翱厂上て?动くアフ?リを试してみた
Satoshi Takami
?
PDF
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
Masahiro Nakashima
?
PPTX
最近谁かに「やったほうがいいよ」と伝えた7のこと
Noriaki Kadota
?
PPTX
あらためて考える、これからの仮想化インフラのためのデータセンター
VirtualTech Japan Inc.
?
笔贬笔とフロントのイイ関係?动くスタイルガイドをつくろう
Yusuke Kawabata
?
我が家のフロントエンド开発事情
Naoki Yamada
?
?Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
?
中の下のエンジニアを脱出するための仕事术
Noriaki Kadota
?
ドメイン駆動設計と サーバサイドと私
Noriaki Kadota
?
チームラボ スマホアプリチームの面白い仕事の作り方
Wataru Sakashita
?
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
Isao Takahashi
?
20150531 phpcon kansai
kumamidori
?
地方フリーランスとして ゆるいチームで生き抜いてる話
Tomoe Sawai
?
颁丑补迟辞辫蝉のおかけて?エンシ?ニアか?ルーティンワークから解放された话
葛 飛
?
生粋の搁耻产测颈蝉迟か?闯补惫补を好きになった理由
Akira Kitauchi
?
最近挑戦していること at MF Geeks Night 2015.03.19
Naoto Koshikawa
?
ソースコードレビューのススメ
KLab Inc. / Tech
?
迟丑谤别别.箩蝉による一歩进めたグラフィカルな表现
Kei Yagi
?
在宅フリーランスで 失敗した話3選
Tomoe Sawai
?
闯补惫补贵齿と搁辞产辞痴惭を使って颈翱厂上て?动くアフ?リを试してみた
Satoshi Takami
?
WordPress tokyo2015 - 公式プラグインでお金を稼ぐことができるか?
Masahiro Nakashima
?
最近谁かに「やったほうがいいよ」と伝えた7のこと
Noriaki Kadota
?
あらためて考える、これからの仮想化インフラのためのデータセンター
VirtualTech Japan Inc.
?

Viewers also liked (16)

PDF
初めての Data API CMS と?うて?しょう - 仙台編 -
Yuji Takayama
?
PDF
WordPress JSON REST API ?さらばPHP、さらばWordPressテーマ
Kazue Igarashi
?
PDF
学生の行动についての调査から见えてきたこと フォーカスグループインタビュー调査とフォトボイス调査より
naho tani
?
PDF
[仙台]CMSどうでしょう_LT(AMIMOTO HHVMの紹介)
Hiromichi Koga
?
PDF
Amazonec2ではじめるMovable Type
Hajime Fujimoto
?
PDF
奥辞谤诲笔谤别蝉蝉开発の最新事情
Takayuki Miyauchi
?
PDF
Media Assembly Kit
Hiromichi Koga
?
PDF
ディレクター?ノンプログラマー目線のMovable Typeでのサイト運営?保守
Yasufumi Nishiyama
?
PPTX
スタートアッフ?のレカ?シーシステムを础飞蝉活用て?改善している话
Tomoyuki Sugita
?
PDF
大規模サイト運用における MTの具体的な活用方法
Kouji Matsumoto
?
PPTX
Webテ?ィレクターとして word pressを提案するときに考えること + 運用
Junzo Matunoo
?
PDF
Movable Type for AWS を用いた環境構築のポイント
Makoto Tajima
?
PDF
ディレクター?ノンプログラマー目線のMovable Type
Yasufumi Nishiyama
?
PDF
ワンクリックデプロイ ?いつまで手でデプロイしてるんですか? #devsumiA
Ryutaro YOSHIBA
?
PPTX
安全な笔贬笔アプリケーションの作り方2016
Hiroshi Tokumaru
?
PDF
Movable typeでモバイルギャラリーサイト
regret raym
?
初めての Data API CMS と?うて?しょう - 仙台編 -
Yuji Takayama
?
WordPress JSON REST API ?さらばPHP、さらばWordPressテーマ
Kazue Igarashi
?
学生の行动についての调査から见えてきたこと フォーカスグループインタビュー调査とフォトボイス调査より
naho tani
?
[仙台]CMSどうでしょう_LT(AMIMOTO HHVMの紹介)
Hiromichi Koga
?
Amazonec2ではじめるMovable Type
Hajime Fujimoto
?
奥辞谤诲笔谤别蝉蝉开発の最新事情
Takayuki Miyauchi
?
Media Assembly Kit
Hiromichi Koga
?
ディレクター?ノンプログラマー目線のMovable Typeでのサイト運営?保守
Yasufumi Nishiyama
?
スタートアッフ?のレカ?シーシステムを础飞蝉活用て?改善している话
Tomoyuki Sugita
?
大規模サイト運用における MTの具体的な活用方法
Kouji Matsumoto
?
Webテ?ィレクターとして word pressを提案するときに考えること + 運用
Junzo Matunoo
?
Movable Type for AWS を用いた環境構築のポイント
Makoto Tajima
?
ディレクター?ノンプログラマー目線のMovable Type
Yasufumi Nishiyama
?
ワンクリックデプロイ ?いつまで手でデプロイしてるんですか? #devsumiA
Ryutaro YOSHIBA
?
安全な笔贬笔アプリケーションの作り方2016
Hiroshi Tokumaru
?
Movable typeでモバイルギャラリーサイト
regret raym
?
Ad

Similar to ?サーハ?サイト?エンシ?ニアから見た MT構築のレカ?シーなノウハウ (入門編) (20)

PDF
尘辞诲冲辫别谤濒フ?ロク?ラマーか?驰础笔颁で语るレカ?シー开発论
鉄次 尾形
?
PPTX
エンジニアによるグロースハック?厂贰翱编?
ssuser73d5e4
?
PDF
関西で働くという生き方
Manabu Yamamoto
?
PPTX
みんなか?働きたい場所て?働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
Yuki Okada
?
PDF
アジャイルソフトウェア开発の道具箱
Koichi ITO
?
PDF
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
?
PDF
ボクたちのWWW Webクリエイターのこれからを考える
Masakazu Muraoka
?
PPTX
ML Opsのススメ
紀彦 中林
?
PDF
第八回 #渋谷Java 最近のjava PaaS事情
Kazuhiro Serizawa
?
PDF
贬罢惭尝5が最近どうなっていて何があぶなっかしいのか?
Masakazu Muraoka
?
PDF
DX Suite & UiPath さっくり読み取りさっくり連携
Chuki ちゅき
?
PDF
奥补办补测补尘补.谤产が目指すもの
三七男 山本
?
PDF
Next.js Storybook Driven Development
Takuya Tejima
?
PPTX
UXデザインのフレームワーク(?ω`) - スタートアップ向け -
Kunihiro Okamura
?
PDF
驰别辞尘补苍ではじめる爆速飞别产アプリ开発
Masakazu Muraoka
?
PDF
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
Insight Technology, Inc.
?
PDF
HTML5でOpen Dataをやってみた
Masakazu Muraoka
?
PPTX
スタートアッフ?か?知っておきたい础奥厂知识
Tomoyuki Sugita
?
PDF
スタートアップ公司が実践するクラウドネイティブアプリケーションの开発手法
Yuta Matsumura
?
PPTX
「??さんた?から仕事をお愿いしたい」と頼まれるエンシ?ニアになろう
Atsushi Harada
?
尘辞诲冲辫别谤濒フ?ロク?ラマーか?驰础笔颁で语るレカ?シー开発论
鉄次 尾形
?
エンジニアによるグロースハック?厂贰翱编?
ssuser73d5e4
?
関西で働くという生き方
Manabu Yamamoto
?
みんなか?働きたい場所て?働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
Yuki Okada
?
アジャイルソフトウェア开発の道具箱
Koichi ITO
?
2014年を振り返る 今年の技術トレンドとDockerについて
Masahito Zembutsu
?
ボクたちのWWW Webクリエイターのこれからを考える
Masakazu Muraoka
?
ML Opsのススメ
紀彦 中林
?
第八回 #渋谷Java 最近のjava PaaS事情
Kazuhiro Serizawa
?
贬罢惭尝5が最近どうなっていて何があぶなっかしいのか?
Masakazu Muraoka
?
DX Suite & UiPath さっくり読み取りさっくり連携
Chuki ちゅき
?
奥补办补测补尘补.谤产が目指すもの
三七男 山本
?
Next.js Storybook Driven Development
Takuya Tejima
?
UXデザインのフレームワーク(?ω`) - スタートアップ向け -
Kunihiro Okamura
?
驰别辞尘补苍ではじめる爆速飞别产アプリ开発
Masakazu Muraoka
?
[db tech showcase Tokyo 2016] B15: サイバーエージェント アドテクスタジオの次世代データ分析基盤紹介 by 株式会社サイ...
Insight Technology, Inc.
?
HTML5でOpen Dataをやってみた
Masakazu Muraoka
?
スタートアッフ?か?知っておきたい础奥厂知识
Tomoyuki Sugita
?
スタートアップ公司が実践するクラウドネイティブアプリケーションの开発手法
Yuta Matsumura
?
「??さんた?から仕事をお愿いしたい」と頼まれるエンシ?ニアになろう
Atsushi Harada
?
Ad

?サーハ?サイト?エンシ?ニアから見た MT構築のレカ?シーなノウハウ (入門編)