CDP Night #1 静的コンテンツ配信編

Preview:

DESCRIPTION

2012年4月13日に行なったCDP Night #1の資料です。MovableTypeを使用した静的コンテンツの配信パターンです。

Citation preview

AWS Cloud Design Pattern

-コンテンツ配信編-

Twitterタグ: #jawsug #awscdp

自己紹介

名前

片山暁雄

所属

アマゾンデータサービスジャパン

ID

@c9katayama

好きなAWSサービス

Amazon Simple Workflow

好きなAWSクラウドデザインパターン

Cloud DI

Cloud DI

タグ情報を使って、インスタンスへパラメータをインジェクト

ec2-describe-tagsでインスタンス内から取得

タグなのでコンソールから容易に変更可能

コンソールから確認しやすい

#!/bin/bash AWS_PRIVATE_KEY=/home/ec2-user/my-pk.pem AWS_CERTIFICATE=/home/ec2-user/my-cert.pem #EIP Tag name EIP_KEYNAME=EIP AWS_REGION=`curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone | sed -e 's/[a-z]$//'` INSTANCE_ID=`curl http://169.254.169.254/latest/meta-data/instance-id` ENDPOINT=https://ec2.${AWS_REGION}.amazonaws.com #get EIP from TAG EIP=`ec2-describe-tags -U ${ENDPOINT} -K ${AWS_PRIVATE_KEY} -C ${AWS_CERTIFICATE} -F "key=${EIP_KEYNAME}" -F "resource-id=${INSTANCE_ID}" | sed -e "s/.*${EIP_KEYNAME}//" | sed -e "s/[^.0-9]//g"` #associate EIP ec2assocaddr -U ${ENDPOINT} -K ${AWS_PRIVATE_KEY} -C ${AWS_CERTIFICATE} -i ${INSTANCE_ID} ${EIP}

CDPシナリオ[画像動画配信サイト]

このシナリオ

雲の写真を載せるブログサイト開始

はじめは個人的に開始

次第にサイトが大きく・・・

利用環境・ソフトウェア

Amazon Linux (64bit)

Movable Type 5.12 (MTOS)

Apache HTTP Server 2.2.21

MySQL 5.1.52

Perl 5.10.1

S3FS 1.61

雲の写真を載せるブログサイト開始

MovableType on EC2

Route53でDNSレコードを管理

スタティック

パブリッシング

インスタンス1台

動画、過去画像集を公開

過去画像集Zipや動画を公開 コメント欄経由ののユーザー要望

サイズが大きく、ダウンロード負荷の高いコンテンツの配信

必要なディスク容量は未知数

Web Storageパターン

容量の大きいデータを、S3に逃がすパターン

S3のDNS名をCNAME登録して利用

S3のWebサーバ機能

EC2に比べて安価

動画、過去画像集を公開

動画・過去画像集をS3へ

メインサイトから

リンクを作成

まさかの大人気サイト化

雲マニア御用達のサイトへ

Facebookから火がつく

アクセス増により、アクセス出来ない状況に

イワシ雲!

イワシ雲!

イワシ雲!

Direct Hostingパターン

HTML、画像、CSSなど静的コンテンツをすべてS3でホスティング

EC2はコンテンツ更新と、コメント投稿や動的なページだけで使用

ちなみに・・・

静的コンテンツだけしかないサイトであれば、S3+Route53でホスティングすると

データ保管料:1Gbyteあたり月約10円 データ転送料:1Gbyteあたり約16円 DNSサーバ:1ドメインあたり約50円 ->例えばデータ量1Gbyte、月間転送料10Gbyteのサイトなら約220円でホスティング可能 (1ページ100Kで10万PV)

しかもシステム管理不要

S3メインのシステムへ

配信のメインサイトとしてS3を使用

スタティックパブリッシング利用

S3FSでMTからファイルを配置

S3マウントソリューション

S3FS http://code.google.com/p/s3fs/

S3FS-C,S3FS-C(Cloudpack special) https://github.com/memorycraft/s3fs-cloudpack

S3Backer http://code.google.com/p/s3backer/

S3QL http://code.google.com/p/s3ql/

TntDriver(Windows) http://tntdrive.com/

Gladinet(Windows) http://gladinet.com/

まさかの海外展開

海外の雲マニアがサイトを発見

海外有名ニュースサイトへの掲載が決定

掲載までに海外からのアクセスへの対応が必要

Cache Distributionパターン

ユーザーに近い場所からの配信

世界各地のエッジサーバを利用し、オリジンサーバのコンテンツをキャッシング

Amazon CloudFrontを使用

よりよいレスポンスと負荷分散を実現

CloudFrontを利用した配信

3つのサブドメインを使用

www,data,mt

S3から配信するデータは、Contents Distributionパターンを適用

ブログコンテンツ

動画・画像集

コンテンツ管理・コメント投稿

デザイン推移

動画 人気 海外

CDPでAWSをもっと楽しく

ご清聴ありがとうございました @c9katayama

Recommended