AWSマイスターリターンズ ~CloudFront & Route53~
2012年3月3日
荒木 靖宏 (@ar1 ) ソリューションアーキテクト
CloudFront and Route53
Global Network
Ashburn, VA
Dallas, TX
Los Angeles, CA
Miami, FL
Newark, NJ
Palo Alto, CA
Seattle, WA
St. Louis, MO
….
Amsterdam
Dublin
Frankfurt
London
Paris
Stockholm
Milan
Hong Kong
Tokyo
Singapore
Osaka
26 のエッジロケーション
(2012年2末)
Sao Paulo
New! New!
CDNを使用しないときの動作
Web
サーバ
DNSとHTTP
www.example.comにどうアクセスする?
1. クライアントは使用しているDNS解決用サーバに、www.example.comのアドレスを問いあわせる
2. www.example.comがCNAMEレコードならば、さらにIPアドレス(Aレコード)が得られるまで問いあわせる
3. IPアドレスに向けてHTTPでアクセスする
ユーザ local DNS
1
2
3
example.com DNS
CloudFront使用時のHTTP配信
様々なIPアドレスが使用される
CloudFront
DNSとHTTP(CloudFront使用時)
1. クライアントは使用しているDNS解決用サーバに、cloudfront.example.comのアドレスを問いあわせる
2. cloudfront.example.comはXXXX.cloudfront.netのCNAME
3. XXXX.cloudfront.netのIPアドレスを問いあわせ。
4. cloudfront.netのDNSが地理情報に応じたCloudFrontのIPアドレスを返す
5. CloudFrontのIPアドレスに向けてHTTPでアクセスする
ユーザ
local DNS
1 2
3
example.com DNS
cloudfront.net DNS
地理情報
4
5
他社と比べたときのCloudFrontの特徴
コミットメントなし
バンド幅、転送量、 期間など
オリジナルコンテンツにはHTTPでアクセス
S3や、Webサーバ
FLVストリーミングも付加料金なし
FLV ファイルはS3上に配置
その他S3との密接な連携
ログやS3クライアント
CloudFrontの利用メリット
いつでも利用開始可能
価格
CloudFrontの転送課金はEC2向けのネットワーク課金より安価
実際の転送量とリクエスト数に応じた支払い
エッジロケーション毎に料金が異なる
•日本は0.201米ドル/GBから
コミットしていただければディスカウントあり
Reserved Capacity
オリジンサーバの使いわけ
EC2など、自分で運用しているサーバを使う場合
動的なコンテンツ
Ajaxなどクロスドメイン通信が必要なもの
S3を使う場合
FLVファイルの配信
• Adobe Flash Media Server 3.5相当
• rtmp://[domain_name]/cfx/st/[filename]
静的ファイル
• 画像、テキスト、CSSファイル等
ログファイル
全てのログファイルはS3に保存
クライアントからのアクセス記録は全エッジロケーションから24時間以内に収集
オリジンフェッチを使う場合は、S3のバケットを作成する
ログをとらないことも可能
ログの形式
1時間毎もしくは、50MB毎の分割
例:
• mylogs.s3.amazonaws.com/myprefix/EMLARXS99
3KSTG8.2009-03-17-20.RT4KCN4SGK9.gz
利用の注意点
課金はトラフィック量とリクエスト数にかかります
0.0095USD / 1万 HTTP request
0.0130USD / 1万 HTTPS request
特定のエッジロケーションだけ使うようにはできない。
エンドユーザの位置次第です
オリジンフェッチは、それぞれのエッジロケーションから個別にアクセスします
カスタムドメイン使用上の注意(1)
CNAMEはCloudFrontの設定時に設定したものと一致する必要がある
一致しない場合はinvalidとして処理される
カスタムドメイン使用上の注意(2)
HTTPSの場合はカスタムドメインを使用できない
無理に使うと警告されます
キャッシュの制御
Cache-Controlヘッダ、Expiresヘッダを使用
例
Cache-Control: max-age=3600
Expires: Tue, 05 Oct 2011 21:00:00 GMT
最小時間は1時間(3600秒)
頻繁に更新する場合には、URL(ファイル)名変更を推奨
ファイルの破棄リクエスト
同時に3リクエストまで
1リクエストで1000URLまで
動画配信
ストリーミング
エンドユーザが視聴後にファイルが残らない
部分再生をした場合には、再生部分のみ配送(=低料金)
HTTP配信
オフライン再生などのために、ローカルコピーを保存してもらいたいときに使用する
部分再生の場合であっても通常はファイル全体が配送される
ライブストリーミング
アドビでFMS on AWSを購入
http://www.adobe.com/go/learn_fms_aws_order_en.
https://s3.amazonaws.com/cloudfront-live-jp/live-http-streaming-using-cloudfront.txt
CloudFrontに関するまとめ
CloundFrontはContent Delivery Networkです
Web(HTTP,HTTPS), Flash streaming (RTMP)
使ったぶんだけの支払い
コミットメントなし
オンラインだけでいつでも始められます
オリジンサーバは選択可能
Amazon S3 (Flash streamingの場合は必須)
カスタマオリジンサーバはHTTP(S)が届けばどこでもよい
エッジロケーションの場所
北米 (14), ヨーロッパ(7), アジア(4), 南米(1)
まとめの続き
Amazon CloudFront EdgeLocation Survey実施中
http://aws.qualtrics.com/SE/?SID=SV_dg7jIZeOt4OQl1y
今後もさらなる機能追加、ロケーションの追加を予定しています!
AMAZON ROUTE 53
Route53を使用しないときの動作
DNS
サーバ
Route53使用時のDNS問い合わせ
Anycast IPアドレスが
使用され,同じIPアドレ
スでも近いサーバにつながる
Route53
DNS(Route53)
1. クライアントは使用しているDNS解決用サーバ(local DNS)に、h.example.comのアドレスを問いあわせる.→root DNSを案内
2. root DNSにh.example.comを問いあわせる→.com DNSを案内
3. .com DNSにh.example.comを問いあわせる→.example.com DNSを案内(通常4つのIPアドレスが登録され、IP anycastが割り当てられている)
4. local DNSから3で得たIPアドレスにh.example.comを問いあわせると、一番近いどこかのASにあるRoute53に接続→ IPアドレスを得る。
ユーザ
local DNS
1
4
example.com DNS
.com DNS
3
root DNS
2
AS1
AS2 AS1 AS3
IP1 IP2
IP3 IP4
Amazon ROUTE 53の提供するもの
SLA100%のDNSサービス
権威DNSサーバ、様々なレコードタイプ
高速な更新メカニズム
グローバルなIP Anycast
先払いのお金なし
つかった分だけの支払い
サポートするレコードタイプ
Record Types:
A (address record)
AAAA (IPv6 address record)
CNAME (canonical name record)
MX (mail exchange record)
NS (name server record)
PTR (pointer record)
SOA (start of authority
record)
SPF (sender policy
framework)
SRV (service locator)
TXT (text record)
ホストゾーンとレコード
「ホストゾーン」とは管理可能なレコードの集合
レコードは10,000個まで (上限緩和可能)
サブドメインも同一のホストゾーンにできる。
レコードは加重ラウンドロビンをサポート
0から255の間で設定可能。
例
• 加重3 : 加重1の場合、75%:25%の時間割合
ドメイン名のみの扱い
“エイリアス”タイプ
AWS独自のレコード。ELBのDNS名をドメインだけの形にして割り当てできる
ELBに対してエイリアスタイプを設定した場合のそのレコードに対するクエリは無料
PRICING
ホストゾーン数+クエリ数で課金
ホストゾーンあたり
25ホストゾーンまで $0.50 per hosted zone / month
25ホスゾーンを超える分は $0.10 per hosted zone / month
Queries
10億クエリまで $0.50 per million queries / month
10億クエリを超える分 $0.25 per million queries / month
11/1
値下げ!
R53fox
https://bitbucket.org/winebarrel/r53-fox/wiki/Home
Google Spreadsheets
http://webos-goodies.jp/archives/manage_amazon_route_53_using_google_apps_script.html
Route53利用のFAQ
IPv6対応
AAAA, PTRレコードはIPv6に対応していますが、Route53に対してIPv6で問いあわせても返答しません
プライベートIPアドレス目的の利用
可能ですが、誰からも参照可能です
デフォルトのTTL
全てのレコードに対して設定する必要あり
ROUTE 53のまとめ
SLA100%のDNSサービス
権威DNSサーバ、様々なレコードタイプ
高速な更新メカニズム
グローバルなIP Anycast
先払いのお金なし、つかった分だけの支払い、安価
APIを活用する様々なツールの存在
今後も機能追加が控えてます!
デモ
CloudFrontを設定してみる
CloudFrontを使ってみる
設定の確認が最後にあります
設定後
Enabledになるのを待つ
完成
オリジナルの速度
オリジナルの速度(2)
CloudFront化した速度
さらにRoute53を設定してみる
Route53の設定
http://webos-
goodies.jp/archives/manage_amazon_route_53_using_googl
e_apps_script.html
live streamingしてみる
Flash Media Serverの購入
http://www.adobe.com/go/learn_fms_aws_order_en で購入
Amazon Payments成功
購入成功のメール
ライブストリーム用のCloudFormation開始
パラメータ設定
作成するスタックのレビュー
スタック起動を待つ
スタック起動成功
15分から20分程度かかりますので気長に待ちましょう。
FlashLiveMediaEncorderにいれる情報の確認
FlashLiveMediaEncorderから接続
http://yasuarak-test-eu.s3.amazonaws.com/index.html
http://bit.ly/AWSmeisterR53CF
参考URL
R53Fox
https://bitbucket.org/winebarrel/r53-fox/wiki/Home
WebOS Goodies (Google Spreadsheets の Apps Script で Amazon Route 53 を管理する)
http://webos-goodies.jp/archives/manage_amazon_route_53_using_google_apps_script.html
just-ping.com
WATCHMOUSE
http://www.watchmouse.com/en/