• Save
VIOPS07: CDNの困ったネタ
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

VIOPS07: CDNの困ったネタ

on

  • 396 views

VIOPS07: CDNの困ったネタ ...

VIOPS07: CDNの困ったネタ

NTT Resonant Inc.
S.Hirose

2012年7月20日(金曜日)10:00-18:00
VIOPS07 WORKSHOP
Virtualized Infrastructures Workshop [07]

Statistics

Views

Total Views
396
Views on SlideShare
396
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

VIOPS07: CDNの困ったネタ Presentation Transcript

  • 1. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. CDNの困ったネタ NTT Resonant Inc. S.Hirose
  • 2. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. 自己紹介など。 • NTT Resonant に所属。 • いわゆるgooの裏方エンジニア。 • gooのCDNの運用は2006年頃から。 2009年頃から私が担当。
  • 3. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. なぜこの話題!? • CDNを利用している人の意見交換の機会が少ない。 • ユーザ会とか意見交換会とか皆無。 -> 2005年頃?にはあったが、その後絶滅!? • なので、まずは僕から情報を発信してみます。
  • 4. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. gooの紹介 gooの紹介をさせていただきます。
  • 5. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. gooでは・・・ • ごく一般的なCDNの使い方。 CDN
  • 6. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. こんな感じで運用してます。 • 国内外のサーバからの配信に利用 • 特にBlogの写真などが半分以上を占めている。 • そのほかcss,jsファイルなど。 • 現在はほぼ1人で運用 (専任でもない) • 比較的安定、配信不能状態に陥ったことはない。
  • 7. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. 困った。その1 – CNAMEの罠。 ホスト名の記述のないFQDNをCDNに乗せようとした。 zoneファイル - goo.ne.jp.zone: ~省略~ IN CNAME cdn.example.net. •ホスト名のないFQDNのCNAMEを書くことはRFC違反。 ※RFC1034 3.6.2 Aliases and canonical names 厳密にはちょっと違いますが… •この件、RFC1912でも間違いとして指摘。 ※RFC1912 2.4 CNAME records の他、Livedoor Tech Blogでも紹介されている。 http://blog.livedoor.jp/techblog/archives/65340720.html •結論:CNAMEを利用する仕様のCDNはホスト名必須。
  • 8. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. 困った。その2 – 更新されないDNSクエリ • CDN業者を変更するためにDNS切り替え。 • 1週間の並行運用後、旧CDN設備を切り離し。 • 一部ユーザからアクセス不能。 DNSが変更されていないことが判明。 • ユーザの入っているISPのサポートに連絡して、DNS キャッシュクリアにて復旧。 • 結論: なかなかキャッシュを更新しないDNSがあるという ことを意識。
  • 9. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. CDN-AからCDN-Bへ切り替え ISP-α DNS: ISP-β DNS: 192.0.2.200 goo.ne.jp CDN-A 192.0.2.100 CDN-B 192.0.2.200 DNS: 192.0.2.200 goo.ne.jp TTL 60 ??192.0.2.100 goo.ne.jp ×
  • 10. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. 困った。その3 – CDNを切り替えたら火を噴いた • CDN切り替え前にキャッシュを貯めようとした。 • Originの回線と別の回線からコンテンツを事前にGET。 • CDNを切り替え直後にOriginの負荷が急増。 • 結論:キャッシュの温めはあまり期待できない。 • その他、DNSのTTLを長くすることで若干のスロースター ト効果。(例:TTL=7200sec)
  • 11. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. キャッシュの温め失敗例。 CDN CDN CDN CDN CDN キャッシュは一箇所じゃない。
  • 12. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. 困った。その4 – 1Byte・・・ • 動的生成した画像をキャッシュ。しかしキャッシュヒット率が 上がらない。 • URLをたたいてもwgetしてみてもコンテンツサイズ測っても 正常。 • tcpdumpで原因追求の結果、改行コードの1文字が 原因はPHPで書かれたソースの改行。 • 結論:ソースコードもキャッシュヒット率に影響。
  • 13. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. 1 Byte増えた理由。 <img src=“resize.php?f=hoge.jpg”> resize.php : <? php ~省略~ $resize_img = resize(org_img); print $resize_img; ?> [EOF] この改行が問題。 ?>[EOF] #・・・これが正解。
  • 14. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. 困った。その5 – 突然Originへアクセス集中 • 例えばCDN設備のFailOver等 • 設備がコールドスタートだった場合に、Originへアクセスが 集中することも。 • 結論:CDN利用でもOriginの高トラフィック対策は必要。
  • 15. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. 突然Originにアクセス集中 CDN FailOver CDN cache cache × 空の状態からスタート
  • 16. Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved. 今日伝えたいこと。 • CDNを利用する上で、まずはそれぞれの仕様にあわせ た構築・設計を行うことは重要。 • その上で共通的に使えるノウハウもある。 • しかし、あまり共有されていないので、先ずは私から紹介。 • 今後はCDNの利用も増えてくる(と思う)ので、ノウハウ の交換をしませんか? (私にも成功事例・失敗事例を教えてください)