Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Movable Type for AWS を 用いた環境構築のポイント 
MTDDC Meetup Tokyo 2014 
エムロジック 田島 2014/11/29
自己紹介 
たじま まこと 
田島 誠 
facebook.com/mtajima 
エムロジック株式会社 代表取締役・裏方 
鹿児島県出身 4〇才 2児の父 
Windows派少数民族 Movable Type担当
エムロジック株式会社 
1998年創業 
千代田区神保町でもうすぐ16年 
エンジニア2名(1名は私)事務1名の3人 
草食系 企業 
当初はWindows、PalmOS方面であれこれ開発 
Movable Type日本語化の頃よりこちらの世界...
この人の名前を出したほうが 
話が早いことがあります・・・ 
関根 元和(CHEEBOW)
最近のMTのお仕事 
設計・開発を担当しています 
By NetConcierge Co.,LTD. 
http://netconcierge.jp/mtcommerce/ 
※ 今日はECの話はありません
本日の傾向 
分析しました!
本日の状況 
「見渡す限りその世界の大物ばかり」 
「バッティングが怖い!(草食系)」 
「すでにHPが足りない」 
ウェブ界 
MT界 
クラウド界
小物界の生存戦略 
このへん 
ウェブ界 
MT界 
クラウド界
本日のお品書き 
1.Movable Type for AWS の特徴 
2.Movable Type for AWS の運用での注意点 
3.Movable Type for AWS を活用する
本日のお品書き 
1.Movable Type for AWS の特徴 
2.Movable Type for AWS の運用での注意点 
3.Movable Type for AWS を活用する 
検討 
入門 
活用
本日のお品書き 
1.Movable Type for AWS の特徴 
2.Movable Type for AWS の運用での注意点 
3.Movable Type for AWS を活用する
Movable Type for AWS とは 
Movable Type for AWS は、Movable Type 6 がイ ンストールされた、OS込みの Amazon Machine Image(AMI)です。 
OS、アプリケーション...
Movable Type for AWS とは 
要は「すぐに使えるMT」です。 
1.クリックしてから数分でMTが使える
Movable Type for AWS とは 
要は「すぐに使えるMT」です。 
1.クリックしてから数分でMTが使える 
http://www.sixapart.jp/movabletype/aws/ 
ここから!
Movable Type for AWS とは 
要は「すぐに使えるMT」です。 
1.クリックしてから数分でMTが使える 
http://www.sixapart.jp/movabletype/aws/ 
ここを決めて
Movable Type for AWS とは 
要は「すぐに使えるMT」です。 
1.クリックしてから数分でMTが使える 
http://www.sixapart.jp/movabletype/aws/ 
クリック
Movable Type for AWS とは 
要は「すぐに使えるMT」です。 
1.クリックしてから数分でMTが使える 
http://www.sixapart.jp/movabletype/aws/ 
これで完成
Movable Type for AWS とは 
要は「お安く使えるMT」です。 
2.初期コストをかけずにMTが使える
Movable Type for AWS とは 
要は「お安く使えるMT」です。 
2.初期コストをかけずにMTが使える 
ライセンス料金も含めて 
「使った分だけ」月払い
Movable Type for AWS とは 
要は「お安く使えるMT」です。 
2.初期コストをかけずにMTが使える 
t2.mediumを「24時間30 日」使ったときのデータ転送 コストなどを省いた固定費用 
ライセンス料金は2年間使い...
Movable Type for AWS とは 
要は「お安く使えるMT」です。 
2.初期コストをかけずにMTが使える 
さらに
Movable Type for AWS とは 
要は「お安く使えるMT」です。 
2.初期コストをかけずにMTが使える 
一番下のt2.microではなんと 
「ライセンス料金無料」!! 
1日使っても60円かからな い計算
Movable Type for AWS とは 
要は「お安く使えるMT」です。 
2.初期コストをかけずにMTが使える 
つまり・・・
妄想 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro...
これでも60円x24で・・・ 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.mic...
正直面倒です・・・ 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t2.micro 
t...
Movable Type for AWS とは 
要は「ずっと使えるMT」です。 
3.さまざまな変化にインフラもMTも対応
Movable Type for AWS とは 
要は「ずっと使えるMT」です。 
3.さまざまな変化にインフラもMTも対応 
現実問題1 
MTのアップデート
Movable Type for AWS とは 
要は「ずっと使えるMT」です。 
3.さまざまな変化にインフラもMTも対応 
現実問題1 
MTのアップデート 
ソフトウェアですから 緊急性の高いセキュリティアップデートも 
現実問題発生しま...
Movable Type for AWS とは 
要は「ずっと使えるMT」です。 
3.さまざまな変化にインフラもMTも対応 
現実問題1 
MTのアップデート 
基本これでOK 
# yum update movabletype
Movable Type for AWS とは 
要は「ずっと使えるMT」です。 
3.さまざまな変化にインフラもMTも対応 
現実問題2 
ある日のYah○o砲・WBS砲
Movable Type for AWS とは 
要は「ずっと使えるMT」です。 
3.さまざまな変化にインフラもMTも対応 
現実問題2 
ある日のYah○o砲・WBS砲 
できればちゃんとコンテンツを表示したいですよね。
Movable Type for AWS とは 
要は「ずっと使えるMT」です。 
3.さまざまな変化にインフラもMTも対応 
現実問題2 
ある日のYah○o砲・WBS砲 
CloudFront(CDN)ありマス
Movable Type for AWS とは 
要は「ずっと使えるMT」です。 
3.さまざまな変化にインフラもMTも対応 
現実問題3 
システムの肥大化・速度低下
Movable Type for AWS とは 
要は「ずっと使えるMT」です。 
3.さまざまな変化にインフラもMTも対応 
現実問題3 
システムの肥大化・速度低下 
まぁ、使い続けますからそうなりますよね。
Movable Type for AWS とは 
要は「ずっと使えるMT」です。 
3.さまざまな変化にインフラもMTも対応 
現実問題3 
システムの肥大化・速度低下 
インスタンス変更すればいいですしおすし
Movable Type for AWS とは 
まとめ 
Movable Type for AWS は 
「すぐに」「お安く」「ずっと」 
使えるMT です。
Movable Type for AWS とは 
まとめ 
Movable Type for AWS は 
「すぐに」「お安く」「ずっと」 
使えるMT です。
本日のお品書き 
1.Movable Type for AWS の特徴 
2.Movable Type for AWS の運用での注意点 
3.Movable Type for AWS を活用する
Movable Type for AWS の運用での注意点 
Movable Type for AWS いいですよね! 
弊社の場合... 
1.公開サーバとして S3に転送してStaticWebsiteHosting 
2.新規開発時のテスト...
Movable Type for AWS の運用での注意点 
MTAWS最初の壁 
インスタンス起動したあと 
何をすればいいのか?
おさらい 
今日はココ 
ウェブ界 
MT界 
クラウド界
Movable Type for AWS の運用での注意点 
Movable Type for AWS に特化した話
Movable Type for AWS の運用での注意点 
基本構成(現時点) 
OS: AmazonLinux AMI 2014.09版 
Webサーバ: nginx + starman(PSGI) 
PHP: php-fpm 
DBサーバ...
Movable Type for AWS の運用での注意点 
使ってみてわかった 
Movable Type for AWS 
の注意点
Movable Type for AWS の運用での注意点 
注意点1: 
一部のパスが独自仕様
Movable Type for AWS の運用での注意点 
注意点1: 
一部のパスが独自仕様 
Movable Type インストールディレクトリ: /app/movabletype/ 
なので・・・ 
プラグインディレクトリ: /app/...
Movable Type for AWS の運用での注意点 
注意点1: 
一部のパスが独自仕様 
ドキュメントルート: /data/file/static/ 
起動時点で初期コンテンツがコピーされています。 
もちろんこれは初期設定としてのパ...
Movable Type for AWS の運用での注意点 
注意点1: 
一部のパスが独自仕様 
nginx設定ファイル: /data/conf/nginx.conf 
MySQLデータディレクトリ: /data/database/ 
Sta...
Movable Type for AWS の運用での注意点 
注意点1: 
一部のパスが独自仕様 
/app/ ・・・ アプリケーション関連のファイル 
/data/ ・・・ 各種データファイル・設定ファイル 
を眺めてみましょう。
Movable Type for AWS の運用での注意点 
注意点2: 
管理画面へのアクセスは「/mt/admin」
Movable Type for AWS の運用での注意点 
注意点2: 
管理画面へのアクセスは「/mt/admin」 
これはmt-config.cgiの環境変数「AdminScript」を 
設定しているから。 
/app/movable...
Movable Type for AWS の運用での注意点 
注意点3: 
タイムゾーンが「UTC」
Movable Type for AWS の運用での注意点 
注意点3: 
タイムゾーンが「UTC」 
日本から使う場合、cronなどで地味に不便です。
Movable Type for AWS の運用での注意点 
注意点3: 
タイムゾーンが「UTC」 
OSの設定変更: 
Movable Typeの設定変更(mt-config.cgi): 
変更したらMovable Typeをリロード: 
...
Movable Type for AWS の運用での注意点 
注意点4: 
設定がmicroインスタンス向け
Movable Type for AWS の運用での注意点 
注意点4: 
設定がmicroインスタンス向け 
このままではもったいない。
Movable Type for AWS の運用での注意点 
注意点4: 
設定がmicroインスタンス向け 
StarmanのWorker数変更: 
/data/conf/movabletype.conf 
MySQLのキャッシュ、バッファプ...
Movable Type for AWS の運用での注意点 
注意点4: 
設定がmicroインスタンス向け 
mt-search.cgiやmt-data-api.cgiなどのアプリケーションを 
公開する場合はStarmanのWorker数重...
Movable Type for AWS の運用での注意点 
動作が重く、設定でも改善しない場合 
インスタンス増強の前に!
Movable Type for AWS の運用での注意点 
動作が重く、設定でも改善しない場合 
インスタンス増強の前に! 
•まずデータベースをRDSに分離する ことを検討しましょう。
Movable Type for AWS の運用での注意点 
動作が重く、設定でも改善しない場合 
インスタンス増強の前に! 
•まずデータベースをRDSに分離する ことを検討しましょう。 
•ただしRDSはインスタンスの停止が できないので気...
Movable Type for AWS の運用での注意点 
動作が重く、設定でも改善しない場合 
インスタンス増強の前に! 
•まずデータベースをRDSに分離する ことを検討しましょう。 
•ただしRDSはインスタンスの停止が できないので気...
Movable Type for AWS の運用での注意点 
動作が重く、設定でも改善しない場合 
インスタンス増強の前に! 
•まずデータベースをRDSに分離する ことを検討しましょう。 
•ただしRDSはインスタンスの停止が できないので気...
Movable Type for AWS の運用での注意点 
動作が重く、設定でも改善しない場合 
インスタンス増強の前に! 
•まずデータベースをRDSに分離する ことを検討しましょう。 
•ただしRDSはインスタンスの停止が できないので気...
本日のお品書き 
1.Movable Type for AWS の特徴 
2.Movable Type for AWS の運用での注意点 
3.Movable Type for AWS を活用する
Movable Type for AWS を活用する 
活用の前に 
Movable Type と AWS の相性は?
Movable Type for AWS を活用する 
Movable Type と AWS の相性 
1.静的ファイル出力 
•フロントへのアクセスが負荷にならない 
•S3に転送してStaticWebsiteHosting 
•アクセス多い...
Movable Type for AWS を活用する 
Movable Type と AWS の相性 
2.再構築とT2インスタンス 
•T2インスタンスでは高負荷時に自動的に性能をアップす る機能(バースト)が実装されています。 
•MTが重...
Movable Type for AWS を活用する 
結論 
Movable Type と AWS の相性は 最高
Movable Type for AWS を活用する 
(補足)T2インスタンスの実力 
10月18日開催の「JAWS-UG 沖縄 CMS 祭り!」で発表されたシックス・アパート高 山さんのスライドにて 
•インスタンス別再構築勝負 
•記事数...
Movable Type for AWS を活用する 
再構築勝負結果 
バーストすごい! 
インスタンスタイプ 
再構築時間 
t2.micro 
2分55秒 
t2.medium 
2分47秒 
c3.large 
2分51秒 
c3.xl...
Movable Type for AWS を活用する 
勝負で得た教訓 
•1プロセスでの再構築に限っては t2.micro で十分 
•ただし DataAPI など複数のリクエストを同時に処理し たい場合には、t2.micro は不向き。 
...
Movable Type for AWS を活用する 
本題に戻ります
Movable Type for AWS を活用する 
活用例1: 
S3でのStaticWebsiteHosting
Movable Type for AWS を活用する 
活用例1: 
S3でのStaticWebsiteHosting 
聞きますよね?「S3から配信」とか。 
そうです、あれです。 
アプリケー ションはEC2 
静的ファイル はS3
Movable Type for AWS を活用する 
活用例1: 
S3でのStaticWebsiteHosting 
S3 Management Consoleで設定 
Route53でEndpointを登録すれば 
独自ドメインのホスト名...
Movable Type for AWS を活用する 
活用例1: 
S3でのStaticWebsiteHosting 
S3への転送方法: 
1.Amazonプラグイン 
http://tec.toi-planning.net/mt/amaz...
Movable Type for AWS を活用する 
活用例1: 
S3でのStaticWebsiteHosting 
S3への転送方法: 
2.AWS CLI s3 sync もしくは s3cmd sync 
•lsyncdでディレクトリを...
Movable Type for AWS を活用する 
活用例1: 
S3でのStaticWebsiteHosting 
S3への転送方法: 
2.AWS CLI s3 sync もしくは s3cmd sync 
•シェルから都度実行 任意のタ...
Movable Type for AWS を活用する 
活用例1: 
S3でのStaticWebsiteHosting 
EC2側をステージングサーバ、S3/CloudFrontを公開サーバにする 
リアルタイムに転送するのではなく、適切なタイ...
Movable Type for AWS を活用する 
活用例1: 
S3でのStaticWebsiteHosting 
弊社ではこんなプラグイン使ってます 
近日公開します
Movable Type for AWS を活用する 
StaticWebsiteHostingとRoute53(DNS)の 
ステキな組み合わせ(正常時) 
mt-data-api.cgi等 
静的ファイル+ 
エラードキュメント 
Rout...
Movable Type for AWS を活用する 
StaticWebsiteHostingとRoute53(DNS)の 
ステキな組み合わせ(障害発生時) 
インスタンス停止! 
mt-data-api.cgiの代 わりにエラーファイル ...
Movable Type for AWS を活用する 
StaticWebsiteHostingとRoute53(DNS)の 
ステキな組み合わせ 
切り替わりは決して早くはない 
でも、 
アラートメール受けてマニュアルで対応するより 
相当...
Movable Type for AWS を活用する 
活用(?)例2: 
MTAssetThumbnailURL対策
Movable Type for AWS を活用する 
活用(?)例2: 
MTAssetThumbnailURL対策 
みなさんお気づきでしょうか?
Movable Type for AWS を活用する 
活用(?)例2: 
MTAssetThumbnailURL対策 
MTAssetThumbnailURLを 
多用するほど再構築の 
コストが増えることに。
Movable Type for AWS を活用する 
活用(?)例2: 
MTAssetThumbnailURL対策 
何故か?
Movable Type for AWS を活用する 
活用(?)例2: 
MTAssetThumbnailURL対策 
何故か? 
商用CMS故の厳格な処理でした 
画像をMT以外からでも上書きできる環境では、 上書きされた結果突然サムネイル...
Movable Type for AWS を活用する 
活用(?)例2: 
MTAssetThumbnailURL対策 
画像を開く=処理用メモリを確保 
•画像が大きいとメモリを切り詰めている環境には 致命傷になりうる(t2.microとか)...
Movable Type for AWS を活用する 
活用(?)例2: 
MTAssetThumbnailURL対策 
弊社ではこんなプラグイン使うことも 
1.サムネイル生成可能であるかの確認処理方法を切り替え可能 にする機能 
2.省メモ...
Movable Type for AWS を活用する 
活用(?)例2: 
MTAssetThumbnailURL対策 
計測(参考値): 
インスタンスタイプ: t2.micro 
画像: 3648x2736程度のもの25枚 
計測方法: /...
Movable Type for AWS を活用する 
活用(?)例2: 
MTAssetThumbnailURL対策 
結果: asset_c内のファイルが揃っている状態 
asset_c内のファイルを消した状態(リサイズ発生) 
ノーマル ...
(おまけ)直前の戦い 
2日前・・・ 
アノヒジャネエカ(゚Д゚;) 
Dear Amazon EC2 Customer, One or more of your Amazon EC2 instances in the ap-northeas...
今回やるべきことは 
Stop→Startのみ、ただし冗長化なし 
「EC2のメンテナンスのためサーバを 停止させてください!」 
「クラウドなのになんで 止まるんですか?」 エッ(゚Д゚;)
事務連絡 
約9時間 
メンテナンス作業 
約10分 
クラウドだってどこかで動いているサーバ 
そんなことより 
簡単なメンテナンス作業で済むことに感謝 
※も・・もちろん大部分フィクションです(震え声)
まとめ 
•Movable Type for AWS は超オススメ 
•これからドキュメントが整備されていくことを期待 しています! 
•プラグインは近日公開いたします (ドキュメント整備中デス…orz) 
•田島誠先生の次回作にご期待ください。
御清聴ありがとうございました 
お問い合わせはエムロジック株式会社田島まで
Upcoming SlideShare
Loading in …5
×

Movable Type for AWS を用いた環境構築のポイント

4,561 views

Published on

1.Movable Type for AWS の特徴
2.Movable Type for AWS の運用での注意点
3.Movable Type for AWS を活用する

Published in: Engineering
  • Be the first to comment

Movable Type for AWS を用いた環境構築のポイント

  1. 1. Movable Type for AWS を 用いた環境構築のポイント MTDDC Meetup Tokyo 2014 エムロジック 田島 2014/11/29
  2. 2. 自己紹介 たじま まこと 田島 誠 facebook.com/mtajima エムロジック株式会社 代表取締役・裏方 鹿児島県出身 4〇才 2児の父 Windows派少数民族 Movable Type担当
  3. 3. エムロジック株式会社 1998年創業 千代田区神保町でもうすぐ16年 エンジニア2名(1名は私)事務1名の3人 草食系 企業 当初はWindows、PalmOS方面であれこれ開発 Movable Type日本語化の頃よりこちらの世界 最近はiOSとMovable Typeの2本立て
  4. 4. この人の名前を出したほうが 話が早いことがあります・・・ 関根 元和(CHEEBOW)
  5. 5. 最近のMTのお仕事 設計・開発を担当しています By NetConcierge Co.,LTD. http://netconcierge.jp/mtcommerce/ ※ 今日はECの話はありません
  6. 6. 本日の傾向 分析しました!
  7. 7. 本日の状況 「見渡す限りその世界の大物ばかり」 「バッティングが怖い!(草食系)」 「すでにHPが足りない」 ウェブ界 MT界 クラウド界
  8. 8. 小物界の生存戦略 このへん ウェブ界 MT界 クラウド界
  9. 9. 本日のお品書き 1.Movable Type for AWS の特徴 2.Movable Type for AWS の運用での注意点 3.Movable Type for AWS を活用する
  10. 10. 本日のお品書き 1.Movable Type for AWS の特徴 2.Movable Type for AWS の運用での注意点 3.Movable Type for AWS を活用する 検討 入門 活用
  11. 11. 本日のお品書き 1.Movable Type for AWS の特徴 2.Movable Type for AWS の運用での注意点 3.Movable Type for AWS を活用する
  12. 12. Movable Type for AWS とは Movable Type for AWS は、Movable Type 6 がイ ンストールされた、OS込みの Amazon Machine Image(AMI)です。 OS、アプリケーション、ウェブサーバー、PSGI サーバー、PHP、データベースがすべて Movable Type にチューニングされた形で提供されるため、 数クリックで簡単に Amazon EC2 サーバー上に環 境を構築できます。 出典:http://www.sixapart.jp/movabletype/aws/
  13. 13. Movable Type for AWS とは 要は「すぐに使えるMT」です。 1.クリックしてから数分でMTが使える
  14. 14. Movable Type for AWS とは 要は「すぐに使えるMT」です。 1.クリックしてから数分でMTが使える http://www.sixapart.jp/movabletype/aws/ ここから!
  15. 15. Movable Type for AWS とは 要は「すぐに使えるMT」です。 1.クリックしてから数分でMTが使える http://www.sixapart.jp/movabletype/aws/ ここを決めて
  16. 16. Movable Type for AWS とは 要は「すぐに使えるMT」です。 1.クリックしてから数分でMTが使える http://www.sixapart.jp/movabletype/aws/ クリック
  17. 17. Movable Type for AWS とは 要は「すぐに使えるMT」です。 1.クリックしてから数分でMTが使える http://www.sixapart.jp/movabletype/aws/ これで完成
  18. 18. Movable Type for AWS とは 要は「お安く使えるMT」です。 2.初期コストをかけずにMTが使える
  19. 19. Movable Type for AWS とは 要は「お安く使えるMT」です。 2.初期コストをかけずにMTが使える ライセンス料金も含めて 「使った分だけ」月払い
  20. 20. Movable Type for AWS とは 要は「お安く使えるMT」です。 2.初期コストをかけずにMTが使える t2.mediumを「24時間30 日」使ったときのデータ転送 コストなどを省いた固定費用 ライセンス料金は2年間使い続 けるとパッケージライセンス と同じくらいになる感じ
  21. 21. Movable Type for AWS とは 要は「お安く使えるMT」です。 2.初期コストをかけずにMTが使える さらに
  22. 22. Movable Type for AWS とは 要は「お安く使えるMT」です。 2.初期コストをかけずにMTが使える 一番下のt2.microではなんと 「ライセンス料金無料」!! 1日使っても60円かからな い計算
  23. 23. Movable Type for AWS とは 要は「お安く使えるMT」です。 2.初期コストをかけずにMTが使える つまり・・・
  24. 24. 妄想 t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro Elastic Load Balancing
  25. 25. これでも60円x24で・・・ t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro Elastic Load Balancing Ψ(`∀´)Ψケケケ
  26. 26. 正直面倒です・・・ t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro t2.micro Elastic Load Balancing
  27. 27. Movable Type for AWS とは 要は「ずっと使えるMT」です。 3.さまざまな変化にインフラもMTも対応
  28. 28. Movable Type for AWS とは 要は「ずっと使えるMT」です。 3.さまざまな変化にインフラもMTも対応 現実問題1 MTのアップデート
  29. 29. Movable Type for AWS とは 要は「ずっと使えるMT」です。 3.さまざまな変化にインフラもMTも対応 現実問題1 MTのアップデート ソフトウェアですから 緊急性の高いセキュリティアップデートも 現実問題発生しますよね。
  30. 30. Movable Type for AWS とは 要は「ずっと使えるMT」です。 3.さまざまな変化にインフラもMTも対応 現実問題1 MTのアップデート 基本これでOK # yum update movabletype
  31. 31. Movable Type for AWS とは 要は「ずっと使えるMT」です。 3.さまざまな変化にインフラもMTも対応 現実問題2 ある日のYah○o砲・WBS砲
  32. 32. Movable Type for AWS とは 要は「ずっと使えるMT」です。 3.さまざまな変化にインフラもMTも対応 現実問題2 ある日のYah○o砲・WBS砲 できればちゃんとコンテンツを表示したいですよね。
  33. 33. Movable Type for AWS とは 要は「ずっと使えるMT」です。 3.さまざまな変化にインフラもMTも対応 現実問題2 ある日のYah○o砲・WBS砲 CloudFront(CDN)ありマス
  34. 34. Movable Type for AWS とは 要は「ずっと使えるMT」です。 3.さまざまな変化にインフラもMTも対応 現実問題3 システムの肥大化・速度低下
  35. 35. Movable Type for AWS とは 要は「ずっと使えるMT」です。 3.さまざまな変化にインフラもMTも対応 現実問題3 システムの肥大化・速度低下 まぁ、使い続けますからそうなりますよね。
  36. 36. Movable Type for AWS とは 要は「ずっと使えるMT」です。 3.さまざまな変化にインフラもMTも対応 現実問題3 システムの肥大化・速度低下 インスタンス変更すればいいですしおすし
  37. 37. Movable Type for AWS とは まとめ Movable Type for AWS は 「すぐに」「お安く」「ずっと」 使えるMT です。
  38. 38. Movable Type for AWS とは まとめ Movable Type for AWS は 「すぐに」「お安く」「ずっと」 使えるMT です。
  39. 39. 本日のお品書き 1.Movable Type for AWS の特徴 2.Movable Type for AWS の運用での注意点 3.Movable Type for AWS を活用する
  40. 40. Movable Type for AWS の運用での注意点 Movable Type for AWS いいですよね! 弊社の場合... 1.公開サーバとして S3に転送してStaticWebsiteHosting 2.新規開発時のテストサーバとして ぱっと立ち上げてテストして終わったらTerminate 3.案件用の開発サーバとして 納品後もしばらくはStop状態でインスタンスを持っておく
  41. 41. Movable Type for AWS の運用での注意点 MTAWS最初の壁 インスタンス起動したあと 何をすればいいのか?
  42. 42. おさらい 今日はココ ウェブ界 MT界 クラウド界
  43. 43. Movable Type for AWS の運用での注意点 Movable Type for AWS に特化した話
  44. 44. Movable Type for AWS の運用での注意点 基本構成(現時点) OS: AmazonLinux AMI 2014.09版 Webサーバ: nginx + starman(PSGI) PHP: php-fpm DBサーバ: MySQL メールサーバ: Postfix いたって一般的ですが
  45. 45. Movable Type for AWS の運用での注意点 使ってみてわかった Movable Type for AWS の注意点
  46. 46. Movable Type for AWS の運用での注意点 注意点1: 一部のパスが独自仕様
  47. 47. Movable Type for AWS の運用での注意点 注意点1: 一部のパスが独自仕様 Movable Type インストールディレクトリ: /app/movabletype/ なので・・・ プラグインディレクトリ: /app/movabletype/plugins/ アドオンディレクトリ: /app/movabletype/addons/ になります。
  48. 48. Movable Type for AWS の運用での注意点 注意点1: 一部のパスが独自仕様 ドキュメントルート: /data/file/static/ 起動時点で初期コンテンツがコピーされています。 もちろんこれは初期設定としてのパスなので変更可能です。
  49. 49. Movable Type for AWS の運用での注意点 注意点1: 一部のパスが独自仕様 nginx設定ファイル: /data/conf/nginx.conf MySQLデータディレクトリ: /data/database/ Starmanログ出力先: /data/logs/movabletype/ Starman設定ファイル: /data/conf/movabletype.conf AmazonLinux管理外のPerlモジュール: /app/local/
  50. 50. Movable Type for AWS の運用での注意点 注意点1: 一部のパスが独自仕様 /app/ ・・・ アプリケーション関連のファイル /data/ ・・・ 各種データファイル・設定ファイル を眺めてみましょう。
  51. 51. Movable Type for AWS の運用での注意点 注意点2: 管理画面へのアクセスは「/mt/admin」
  52. 52. Movable Type for AWS の運用での注意点 注意点2: 管理画面へのアクセスは「/mt/admin」 これはmt-config.cgiの環境変数「AdminScript」を 設定しているから。 /app/movabletype/mt-config.cgi から変更可。
  53. 53. Movable Type for AWS の運用での注意点 注意点3: タイムゾーンが「UTC」
  54. 54. Movable Type for AWS の運用での注意点 注意点3: タイムゾーンが「UTC」 日本から使う場合、cronなどで地味に不便です。
  55. 55. Movable Type for AWS の運用での注意点 注意点3: タイムゾーンが「UTC」 OSの設定変更: Movable Typeの設定変更(mt-config.cgi): 変更したらMovable Typeをリロード: $ sudo cp /usr/share/zoneinfo/Japan /etc/localtime DefaultLanguage ja DefaultTimezone 9 $ sudo kill –HUP `cat /app/run/movabletype.pid`
  56. 56. Movable Type for AWS の運用での注意点 注意点4: 設定がmicroインスタンス向け
  57. 57. Movable Type for AWS の運用での注意点 注意点4: 設定がmicroインスタンス向け このままではもったいない。
  58. 58. Movable Type for AWS の運用での注意点 注意点4: 設定がmicroインスタンス向け StarmanのWorker数変更: /data/conf/movabletype.conf MySQLのキャッシュ、バッファプールの設定変更: /etc/my.cnf php-fpmのサーバ数変更: /etc/php-fpm.conf
  59. 59. Movable Type for AWS の運用での注意点 注意点4: 設定がmicroインスタンス向け mt-search.cgiやmt-data-api.cgiなどのアプリケーションを 公開する場合はStarmanのWorker数重視 ダイナミックパブリッシング、DynamicMTMLを使う場合には php-fpmのサーバ数重視 ・・・のように、運用したいサーバのスタイルにあわせて 調整しましょう。
  60. 60. Movable Type for AWS の運用での注意点 動作が重く、設定でも改善しない場合 インスタンス増強の前に!
  61. 61. Movable Type for AWS の運用での注意点 動作が重く、設定でも改善しない場合 インスタンス増強の前に! •まずデータベースをRDSに分離する ことを検討しましょう。
  62. 62. Movable Type for AWS の運用での注意点 動作が重く、設定でも改善しない場合 インスタンス増強の前に! •まずデータベースをRDSに分離する ことを検討しましょう。 •ただしRDSはインスタンスの停止が できないので気をつけましょう。
  63. 63. Movable Type for AWS の運用での注意点 動作が重く、設定でも改善しない場合 インスタンス増強の前に! •まずデータベースをRDSに分離する ことを検討しましょう。 •ただしRDSはインスタンスの停止が できないので気をつけましょう。 •MTのDBはあまり大きくなりにくい のでdb.t2.microインスタンスでも 結構改善したりします。
  64. 64. Movable Type for AWS の運用での注意点 動作が重く、設定でも改善しない場合 インスタンス増強の前に! •まずデータベースをRDSに分離する ことを検討しましょう。 •ただしRDSはインスタンスの停止が できないので気をつけましょう。 •MTのDBはあまり大きくなりにくい のでdb.t2.microインスタンスでも 結構改善したりします。 •DBを独立させることで、MTの複数 インスタンス構成も容易になります。
  65. 65. Movable Type for AWS の運用での注意点 動作が重く、設定でも改善しない場合 インスタンス増強の前に! •まずデータベースをRDSに分離する ことを検討しましょう。 •ただしRDSはインスタンスの停止が できないので気をつけましょう。 •MTのDBはあまり大きくなりにくい のでdb.t2.microインスタンスでも 結構改善したりします。 •DBを独立させることで、MTの複数 インスタンス構成も容易になります。 •くれぐれもRDSでクエリキャッシュの有効化をお忘れなく。
  66. 66. 本日のお品書き 1.Movable Type for AWS の特徴 2.Movable Type for AWS の運用での注意点 3.Movable Type for AWS を活用する
  67. 67. Movable Type for AWS を活用する 活用の前に Movable Type と AWS の相性は?
  68. 68. Movable Type for AWS を活用する Movable Type と AWS の相性 1.静的ファイル出力 •フロントへのアクセスが負荷にならない •S3に転送してStaticWebsiteHosting •アクセス多いならCloudFront CPUのコストがあまりかからない つまりは 低コスト で運用できます!
  69. 69. Movable Type for AWS を活用する Movable Type と AWS の相性 2.再構築とT2インスタンス •T2インスタンスでは高負荷時に自動的に性能をアップす る機能(バースト)が実装されています。 •MTが重たいのはテンプレートビルドのとき、24時間管理 画面を使うわけではないですよね? 再構築時は高負荷になるので自動的にバーストしてくれます。 つまりt2.microインスタンスでも再構築がかなり速い。
  70. 70. Movable Type for AWS を活用する 結論 Movable Type と AWS の相性は 最高
  71. 71. Movable Type for AWS を活用する (補足)T2インスタンスの実力 10月18日開催の「JAWS-UG 沖縄 CMS 祭り!」で発表されたシックス・アパート高 山さんのスライドにて •インスタンス別再構築勝負 •記事数:約3,500件 •調査したインスタンス: t2.micro、t2.medium、c3.large、c3.xlarge
  72. 72. Movable Type for AWS を活用する 再構築勝負結果 バーストすごい! インスタンスタイプ 再構築時間 t2.micro 2分55秒 t2.medium 2分47秒 c3.large 2分51秒 c3.xlarge 2分48秒
  73. 73. Movable Type for AWS を活用する 勝負で得た教訓 •1プロセスでの再構築に限っては t2.micro で十分 •ただし DataAPI など複数のリクエストを同時に処理し たい場合には、t2.micro は不向き。 •コストを考えると DataAPI 使用サイトは t2.medium が有利。 DataAPI 勝負の結果など詳しい内容は高山さんのスライ ドをご参照ください!(ありがとうございました)
  74. 74. Movable Type for AWS を活用する 本題に戻ります
  75. 75. Movable Type for AWS を活用する 活用例1: S3でのStaticWebsiteHosting
  76. 76. Movable Type for AWS を活用する 活用例1: S3でのStaticWebsiteHosting 聞きますよね?「S3から配信」とか。 そうです、あれです。 アプリケー ションはEC2 静的ファイル はS3
  77. 77. Movable Type for AWS を活用する 活用例1: S3でのStaticWebsiteHosting S3 Management Consoleで設定 Route53でEndpointを登録すれば 独自ドメインのホスト名で使える
  78. 78. Movable Type for AWS を活用する 活用例1: S3でのStaticWebsiteHosting S3への転送方法: 1.Amazonプラグイン http://tec.toi-planning.net/mt/amazon/ 特定の拡張子であれば転送といった使い方もできる 素敵プラグイン
  79. 79. Movable Type for AWS を活用する 活用例1: S3でのStaticWebsiteHosting S3への転送方法: 2.AWS CLI s3 sync もしくは s3cmd sync •lsyncdでディレクトリを監視してS3と常に同期 便利だけどちょっと設定が面倒なことも。
  80. 80. Movable Type for AWS を活用する 活用例1: S3でのStaticWebsiteHosting S3への転送方法: 2.AWS CLI s3 sync もしくは s3cmd sync •シェルから都度実行 任意のタイミングで同期処理。 再構築時に余計なことをしないのでサーバにはやさしい。 それに・・・
  81. 81. Movable Type for AWS を活用する 活用例1: S3でのStaticWebsiteHosting EC2側をステージングサーバ、S3/CloudFrontを公開サーバにする リアルタイムに転送するのではなく、適切なタイミングで同期処理 を行うことで可能に EC2で確認 S3で公開
  82. 82. Movable Type for AWS を活用する 活用例1: S3でのStaticWebsiteHosting 弊社ではこんなプラグイン使ってます 近日公開します
  83. 83. Movable Type for AWS を活用する StaticWebsiteHostingとRoute53(DNS)の ステキな組み合わせ(正常時) mt-data-api.cgi等 静的ファイル+ エラードキュメント Route53で 名前解決と HealthCheck リダイレクトする 空のバケット
  84. 84. Movable Type for AWS を活用する StaticWebsiteHostingとRoute53(DNS)の ステキな組み合わせ(障害発生時) インスタンス停止! mt-data-api.cgiの代 わりにエラーファイル リダイレクト フェイルオーバー 名前解決の変更
  85. 85. Movable Type for AWS を活用する StaticWebsiteHostingとRoute53(DNS)の ステキな組み合わせ 切り替わりは決して早くはない でも、 アラートメール受けてマニュアルで対応するより 相当早いです
  86. 86. Movable Type for AWS を活用する 活用(?)例2: MTAssetThumbnailURL対策
  87. 87. Movable Type for AWS を活用する 活用(?)例2: MTAssetThumbnailURL対策 みなさんお気づきでしょうか?
  88. 88. Movable Type for AWS を活用する 活用(?)例2: MTAssetThumbnailURL対策 MTAssetThumbnailURLを 多用するほど再構築の コストが増えることに。
  89. 89. Movable Type for AWS を活用する 活用(?)例2: MTAssetThumbnailURL対策 何故か?
  90. 90. Movable Type for AWS を活用する 活用(?)例2: MTAssetThumbnailURL対策 何故か? 商用CMS故の厳格な処理でした 画像をMT以外からでも上書きできる環境では、 上書きされた結果突然サムネイルを作成できな くなるケースが想定されるため、毎回画像を開 いて確認している為。
  91. 91. Movable Type for AWS を活用する 活用(?)例2: MTAssetThumbnailURL対策 画像を開く=処理用メモリを確保 •画像が大きいとメモリを切り詰めている環境には 致命傷になりうる(t2.microとか) •そんな環境ではできるだけリサイズ済みの画像を 使うようにし(て、タグの使用を回避し)ましょう
  92. 92. Movable Type for AWS を活用する 活用(?)例2: MTAssetThumbnailURL対策 弊社ではこんなプラグイン使うことも 1.サムネイル生成可能であるかの確認処理方法を切り替え可能 にする機能 2.省メモリで高速にリサイズする機能 3.ただし、サーバに直接画像をアップロードしない、もしくは 誰が上書きアップロードするかが厳格に管理できる環境限定 4.黒魔術(?)系のプラグインなのでご了承ください 近日公開します
  93. 93. Movable Type for AWS を活用する 活用(?)例2: MTAssetThumbnailURL対策 計測(参考値): インスタンスタイプ: t2.micro 画像: 3648x2736程度のもの25枚 計測方法: /mt/admin?__mode=list&_type=assetに アクセスして3回実施中の最速のWait時間を記録
  94. 94. Movable Type for AWS を活用する 活用(?)例2: MTAssetThumbnailURL対策 結果: asset_c内のファイルが揃っている状態 asset_c内のファイルを消した状態(リサイズ発生) ノーマル 3.48sec プラグイン 165.7msec ノーマル 24.32sec プラグイン 3.68sec
  95. 95. (おまけ)直前の戦い 2日前・・・ アノヒジャネエカ(゚Д゚;) Dear Amazon EC2 Customer, One or more of your Amazon EC2 instances in the ap-northeast-1 region is scheduled for retirement. The following instance(s) will be shut down after 12:00 AM UTC on 2014-11-29.
  96. 96. 今回やるべきことは Stop→Startのみ、ただし冗長化なし 「EC2のメンテナンスのためサーバを 停止させてください!」 「クラウドなのになんで 止まるんですか?」 エッ(゚Д゚;)
  97. 97. 事務連絡 約9時間 メンテナンス作業 約10分 クラウドだってどこかで動いているサーバ そんなことより 簡単なメンテナンス作業で済むことに感謝 ※も・・もちろん大部分フィクションです(震え声)
  98. 98. まとめ •Movable Type for AWS は超オススメ •これからドキュメントが整備されていくことを期待 しています! •プラグインは近日公開いたします (ドキュメント整備中デス…orz) •田島誠先生の次回作にご期待ください。
  99. 99. 御清聴ありがとうございました お問い合わせはエムロジック株式会社田島まで

×