S3 + CloudFrontによる
静的コンテンツ配信
- Sphinx編 -
2014.03.21
AWS勉強会 in 札幌
クラスメソッド 渡辺修司
About Me
• 渡辺修司
• 昨年8月よりクラスメソッド
• 在宅勤務
• 前職まではほぼシステム屋
• Java, Groovy, JavaScript, たまにRubyとかPython
• JUnit実践入門
• 趣味はロードバイクと...
現在のお仕事
• メンバーズポータルの開発(7割)
• メンバーズ加入者向けポータルサイト
• ブログ執筆(1割)
• AWS、テスト、Java、Ember.js、自動化など
• AWSコンサル部の構築や調査のサポート(1割)
• 札幌オフィス...
ご興味を持たれたら、
お気軽にご相談ください。
メンバーズポータル
• メンバーズ契約者向けのポータルサイト
• ご利用明細の確認やダウンロード
• 各種イベントの通知(リザーブドインスタンスの期限等)
• 監査ログの統計(Cloud Trail)
• AWSに構築されたJavaアプリケーシ...
http://docs.members.classmethod.info/
システム構成
ドキュメントの作成
Sphinx
• Markdown形式のドキュメンテーションツール
• reStructuredText (reST)で記述
• ソースファイルがプレインテキスト
• HTMLの他、PDFやePub形式など様々な形式にビルド可能
• 目次や参照...
Command Line
IntelliJ IDEA
File Watcher
make html
outline
syntax highlight
S3 + Cloud Front
Amazon S3
• Amazon S3 (Simple Storage Service)
• シンプルなストレージ(置くだけ)
• 従量課金(1GB 辺り約10円/月)
• 高い耐久性
• 簡単にインターネットに公開できる
静的ファイルを
...
EC2とS3
• Amazon EC2
• コンピューティングなリソース
• 動的処理を行うことができる
• 静的ファイルを配信するには割高
• Amazon S3
• シンプルストレージ
• 動的処理は行えない
• 静的ファイルを配信するには...
Cloud Front
• コンテンツ配信のためのウェブサービス
• キャッシュ
• 大量アクセス対応
• 高速データ転送
• 低レイテンシ
• S3 と組み合わせることで、より効率よくコンテンツを配信
メンバーズポータルの
ドキュメントサイト...
Route53
Route53
• DNSサービス
• ドメインとIPアドレスをマッピングする
• ドメインとAWSのリソースをマッピングする
• Cloud FrontやS3のアドレスにドメイン名でアクセス
http://docs.members.class...
Automation
手動更新
1. ドキュメントのソースを加筆修正する
2. ソースをビルドし、HTMLファイルを生成する
3. S3にアップロードする
• 何度も行うと手間がかかる
• 操作ミスの可能性
• 操作完了まで待たなければならない
自動化
1. 開発者は、ドキュメントのソースを加筆修正する
2. 開発者は、Stash (SCM)にコミット(push)する
3. Stashは、Jenkinsに通知する
4. Jenkinsは、ビルドを行いHTMLファイルを生成する
5. J...
Jenkins
aws s3 sync --region ap-northeast-1 /var/dist/portnoy-doc/html/
s3://portnoy-docs-documentsbucket-xxxxx
export BUI...
まとめ
• S3 + Cloud Front + Route 53
• 静的コンテンツが多い場合の配信パターン
• Sphinxなどで生成した静的ドキュメント
• Movable Typeなど静的ファイルを出力するCMS
• S3 + Clou...
s3+cloud frontによる静的コンテンツ配信 - Sphinx編  #cmdevio
Upcoming SlideShare
Loading in …5
×

s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio

2,139 views

Published on

クラスメソッド主催 AWS勉強会in札幌でのスライド資料です。

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,139
On SlideShare
0
From Embeds
0
Number of Embeds
786
Actions
Shares
0
Downloads
6
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio

  1. 1. S3 + CloudFrontによる 静的コンテンツ配信 - Sphinx編 - 2014.03.21 AWS勉強会 in 札幌 クラスメソッド 渡辺修司
  2. 2. About Me • 渡辺修司 • 昨年8月よりクラスメソッド • 在宅勤務 • 前職まではほぼシステム屋 • Java, Groovy, JavaScript, たまにRubyとかPython • JUnit実践入門 • 趣味はロードバイクとスノーボード
  3. 3. 現在のお仕事 • メンバーズポータルの開発(7割) • メンバーズ加入者向けポータルサイト • ブログ執筆(1割) • AWS、テスト、Java、Ember.js、自動化など • AWSコンサル部の構築や調査のサポート(1割) • 札幌オフィス準備(1割)
  4. 4. ご興味を持たれたら、 お気軽にご相談ください。
  5. 5. メンバーズポータル • メンバーズ契約者向けのポータルサイト • ご利用明細の確認やダウンロード • 各種イベントの通知(リザーブドインスタンスの期限等) • 監査ログの統計(Cloud Trail) • AWSに構築されたJavaアプリケーション • RDS, Elastic Beanstalk, Cloud Formationなどを活用 • バックエンドでAWSのAPIを利用して情報収集 • ユーザマニュアルもAWSを利用 • Sphinx + S3 + Cloud Front
  6. 6. http://docs.members.classmethod.info/
  7. 7. システム構成
  8. 8. ドキュメントの作成
  9. 9. Sphinx • Markdown形式のドキュメンテーションツール • reStructuredText (reST)で記述 • ソースファイルがプレインテキスト • HTMLの他、PDFやePub形式など様々な形式にビルド可能 • 目次や参照などの機能が豊富 • 構造化されたドキュメントに適する • プログラマ向き
  10. 10. Command Line
  11. 11. IntelliJ IDEA File Watcher make html outline syntax highlight
  12. 12. S3 + Cloud Front
  13. 13. Amazon S3 • Amazon S3 (Simple Storage Service) • シンプルなストレージ(置くだけ) • 従量課金(1GB 辺り約10円/月) • 高い耐久性 • 簡単にインターネットに公開できる 静的ファイルを 安価に公開したい 場合に最適
  14. 14. EC2とS3 • Amazon EC2 • コンピューティングなリソース • 動的処理を行うことができる • 静的ファイルを配信するには割高 • Amazon S3 • シンプルストレージ • 動的処理は行えない • 静的ファイルを配信するには割安
  15. 15. Cloud Front • コンテンツ配信のためのウェブサービス • キャッシュ • 大量アクセス対応 • 高速データ転送 • 低レイテンシ • S3 と組み合わせることで、より効率よくコンテンツを配信 メンバーズポータルの ドキュメントサイトにおいては 必須ではない
  16. 16. Route53
  17. 17. Route53 • DNSサービス • ドメインとIPアドレスをマッピングする • ドメインとAWSのリソースをマッピングする • Cloud FrontやS3のアドレスにドメイン名でアクセス http://docs.members.classmethod.info/
  18. 18. Automation
  19. 19. 手動更新 1. ドキュメントのソースを加筆修正する 2. ソースをビルドし、HTMLファイルを生成する 3. S3にアップロードする • 何度も行うと手間がかかる • 操作ミスの可能性 • 操作完了まで待たなければならない
  20. 20. 自動化 1. 開発者は、ドキュメントのソースを加筆修正する 2. 開発者は、Stash (SCM)にコミット(push)する 3. Stashは、Jenkinsに通知する 4. Jenkinsは、ビルドを行いHTMLファイルを生成する 5. Jenkinsは、HTMLファイルをS3にアップロードする •何度行っても手間ではない •操作ミスが起きない •ローカルでソースを修正すれば、後は自動処理
  21. 21. Jenkins aws s3 sync --region ap-northeast-1 /var/dist/portnoy-doc/html/ s3://portnoy-docs-documentsbucket-xxxxx export BUILDDIR=/var/dist/portnoy-doc make clean html
  22. 22. まとめ • S3 + Cloud Front + Route 53 • 静的コンテンツが多い場合の配信パターン • Sphinxなどで生成した静的ドキュメント • Movable Typeなど静的ファイルを出力するCMS • S3 + CloudFrontならば自動的にスケールする • ただし、限界はある(上限緩和も必要なケース有) • 自動化によりシステムを構築 Jenkinsを使ったSphinxとS3によるドキュメントサイト構築 ー Developers IO http://dev.classmethod.jp/cloud/aws/document-site-automation-building-with-sphinx-and-s3-using-jenkins/

×