SlideShare una empresa de Scribd logo
1 de 16
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
CDNの困ったネタ
NTT Resonant Inc.
S.Hirose
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
自己紹介など。
• NTT Resonant に所属。
• いわゆるgooの裏方エンジニア。
• gooのCDNの運用は2006年頃から。
2009年頃から私が担当。
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
なぜこの話題!?
• CDNを利用している人の意見交換の機会が少ない。
• ユーザ会とか意見交換会とか皆無。
-> 2005年頃?にはあったが、その後絶滅!?
• なので、まずは僕から情報を発信してみます。
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
gooの紹介
gooの紹介をさせていただきます。
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
gooでは・・・
• ごく一般的なCDNの使い方。
CDN
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
こんな感じで運用してます。
• 国内外のサーバからの配信に利用
• 特にBlogの写真などが半分以上を占めている。
• そのほかcss,jsファイルなど。
• 現在はほぼ1人で運用 (専任でもない)
• 比較的安定、配信不能状態に陥ったことはない。
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はホスト名必須。
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
困った。その2 – 更新されないDNSクエリ
• CDN業者を変更するためにDNS切り替え。
• 1週間の並行運用後、旧CDN設備を切り離し。
• 一部ユーザからアクセス不能。
DNSが変更されていないことが判明。
• ユーザの入っているISPのサポートに連絡して、DNS
キャッシュクリアにて復旧。
• 結論: なかなかキャッシュを更新しないDNSがあるという
ことを意識。
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
×
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
困った。その3 – CDNを切り替えたら火を噴いた
• CDN切り替え前にキャッシュを貯めようとした。
• Originの回線と別の回線からコンテンツを事前にGET。
• CDNを切り替え直後にOriginの負荷が急増。
• 結論:キャッシュの温めはあまり期待できない。
• その他、DNSのTTLを長くすることで若干のスロースター
ト効果。(例:TTL=7200sec)
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
キャッシュの温め失敗例。
CDN
CDN
CDN
CDN
CDN
キャッシュは一箇所じゃない。
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
困った。その4 – 1Byte・・・
• 動的生成した画像をキャッシュ。しかしキャッシュヒット率が
上がらない。
• URLをたたいてもwgetしてみてもコンテンツサイズ測っても
正常。
• tcpdumpで原因追求の結果、改行コードの1文字が
原因はPHPで書かれたソースの改行。
• 結論:ソースコードもキャッシュヒット率に影響。
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] #・・・これが正解。
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
困った。その5 – 突然Originへアクセス集中
• 例えばCDN設備のFailOver等
• 設備がコールドスタートだった場合に、Originへアクセスが
集中することも。
• 結論:CDN利用でもOriginの高トラフィック対策は必要。
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
突然Originにアクセス集中
CDN
FailOver
CDN cache
cache
×
空の状態からスタート
Copyright:(C)2012 NTT Resonant Inc. All Rights Reserved.
今日伝えたいこと。
• CDNを利用する上で、まずはそれぞれの仕様にあわせ
た構築・設計を行うことは重要。
• その上で共通的に使えるノウハウもある。
• しかし、あまり共有されていないので、先ずは私から紹介。
• 今後はCDNの利用も増えてくる(と思う)ので、ノウハウ
の交換をしませんか?
(私にも成功事例・失敗事例を教えてください)

Más contenido relacionado

Similar a VIOPS07: CDNの困ったネタ

HeapStatsの出展と発表を通して見えた JavaOne2014
HeapStatsの出展と発表を通して見えた JavaOne2014HeapStatsの出展と発表を通して見えた JavaOne2014
HeapStatsの出展と発表を通して見えた JavaOne2014Shinji Takao
 
企業におけるイノベーションの挑戦
企業におけるイノベーションの挑戦企業におけるイノベーションの挑戦
企業におけるイノベーションの挑戦Osaka University
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
大規模SNSにおけるソーシャルアプリの運用とマネタイズ
大規模SNSにおけるソーシャルアプリの運用とマネタイズ大規模SNSにおけるソーシャルアプリの運用とマネタイズ
大規模SNSにおけるソーシャルアプリの運用とマネタイズyouthk kamiya
 
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦Sho Yoshida
 
IIJGIO x ビヨンドのオススメポイント
IIJGIO x ビヨンドのオススメポイントIIJGIO x ビヨンドのオススメポイント
IIJGIO x ビヨンドのオススメポイントSuguru Ito
 
ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版Osaka University
 
少人数でも新規事業を成功させるために意識している3つのこと
少人数でも新規事業を成功させるために意識している3つのこと少人数でも新規事業を成功させるために意識している3つのこと
少人数でも新規事業を成功させるために意識している3つのこと光典 小川
 
大企業におけるイノベーションはどうやって起こす?@立命館大学
大企業におけるイノベーションはどうやって起こす?@立命館大学大企業におけるイノベーションはどうやって起こす?@立命館大学
大企業におけるイノベーションはどうやって起こす?@立命館大学Osaka University
 
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果Koichiro Sumi
 
翻訳コーディネイターになるために20101012
翻訳コーディネイターになるために20101012翻訳コーディネイターになるために20101012
翻訳コーディネイターになるために20101012EcoNetworks
 
Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術kazuya noshiro
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発Satoshi Takano
 
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話Rie Watanabe
 
Prott user meetup vol.17 mydcプレゼン
Prott user meetup vol.17 mydcプレゼンPrott user meetup vol.17 mydcプレゼン
Prott user meetup vol.17 mydcプレゼンEiichiro Ruiz Temmyo
 
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKanCI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKanKazuhito Miura
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsGo Sueyoshi (a.k.a sue445)
 
Perl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーPerl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーHideo Kimura
 

Similar a VIOPS07: CDNの困ったネタ (20)

Kinect kihonnoki
Kinect kihonnokiKinect kihonnoki
Kinect kihonnoki
 
HeapStatsの出展と発表を通して見えた JavaOne2014
HeapStatsの出展と発表を通して見えた JavaOne2014HeapStatsの出展と発表を通して見えた JavaOne2014
HeapStatsの出展と発表を通して見えた JavaOne2014
 
企業におけるイノベーションの挑戦
企業におけるイノベーションの挑戦企業におけるイノベーションの挑戦
企業におけるイノベーションの挑戦
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
大規模SNSにおけるソーシャルアプリの運用とマネタイズ
大規模SNSにおけるソーシャルアプリの運用とマネタイズ大規模SNSにおけるソーシャルアプリの運用とマネタイズ
大規模SNSにおけるソーシャルアプリの運用とマネタイズ
 
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
情熱Smalltalker SmalltalkとAWSでクラウドサービスを実現するための挑戦
 
IIJGIO x ビヨンドのオススメポイント
IIJGIO x ビヨンドのオススメポイントIIJGIO x ビヨンドのオススメポイント
IIJGIO x ビヨンドのオススメポイント
 
ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版ドコモのクラウドとビックデータJpi版
ドコモのクラウドとビックデータJpi版
 
少人数でも新規事業を成功させるために意識している3つのこと
少人数でも新規事業を成功させるために意識している3つのこと少人数でも新規事業を成功させるために意識している3つのこと
少人数でも新規事業を成功させるために意識している3つのこと
 
大企業におけるイノベーションはどうやって起こす?@立命館大学
大企業におけるイノベーションはどうやって起こす?@立命館大学大企業におけるイノベーションはどうやって起こす?@立命館大学
大企業におけるイノベーションはどうやって起こす?@立命館大学
 
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果
 
翻訳コーディネイターになるために20101012
翻訳コーディネイターになるために20101012翻訳コーディネイターになるために20101012
翻訳コーディネイターになるために20101012
 
Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
 
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
 
Prott user meetup vol.17 mydcプレゼン
Prott user meetup vol.17 mydcプレゼンPrott user meetup vol.17 mydcプレゼン
Prott user meetup vol.17 mydcプレゼン
 
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKanCI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
 
Xserver
XserverXserver
Xserver
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkins
 
Perl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーPerl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバー
 

Más de VIOPS Virtualized Infrastructure Operators group ARCHIVES

VIOPS09: 本当に必要なのはSoftware- Defined Networking? ~今、改めて考えるデータセンタ・ネットワークの役割~
VIOPS09: 本当に必要なのはSoftware- Defined Networking? ~今、改めて考えるデータセンタ・ネットワークの役割~VIOPS09: 本当に必要なのはSoftware- Defined Networking? ~今、改めて考えるデータセンタ・ネットワークの役割~
VIOPS09: 本当に必要なのはSoftware- Defined Networking? ~今、改めて考えるデータセンタ・ネットワークの役割~VIOPS Virtualized Infrastructure Operators group ARCHIVES
 
VIOPS09: Hadoop向けバッチアプリケーション開発フレームワーク Asakura Frameworkが目指すところ
VIOPS09: Hadoop向けバッチアプリケーション開発フレームワーク Asakura Frameworkが目指すところVIOPS09: Hadoop向けバッチアプリケーション開発フレームワーク Asakura Frameworkが目指すところ
VIOPS09: Hadoop向けバッチアプリケーション開発フレームワーク Asakura Frameworkが目指すところVIOPS Virtualized Infrastructure Operators group ARCHIVES
 
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS Virtualized Infrastructure Operators group ARCHIVES
 

Más de VIOPS Virtualized Infrastructure Operators group ARCHIVES (20)

VIOPS10: SSDの基本技術と最新動向
VIOPS10: SSDの基本技術と最新動向VIOPS10: SSDの基本技術と最新動向
VIOPS10: SSDの基本技術と最新動向
 
VIOPS10: クラウドのつぎに起こるコト
VIOPS10: クラウドのつぎに起こるコトVIOPS10: クラウドのつぎに起こるコト
VIOPS10: クラウドのつぎに起こるコト
 
VIOPS10: クラウドのつぎに起こるコト
VIOPS10: クラウドのつぎに起こるコトVIOPS10: クラウドのつぎに起こるコト
VIOPS10: クラウドのつぎに起こるコト
 
VIOPS10: いまパブリッククラウドで起きているコト
VIOPS10: いまパブリッククラウドで起きているコトVIOPS10: いまパブリッククラウドで起きているコト
VIOPS10: いまパブリッククラウドで起きているコト
 
VIOPS09: 本当に必要なのはSoftware- Defined Networking? ~今、改めて考えるデータセンタ・ネットワークの役割~
VIOPS09: 本当に必要なのはSoftware- Defined Networking? ~今、改めて考えるデータセンタ・ネットワークの役割~VIOPS09: 本当に必要なのはSoftware- Defined Networking? ~今、改めて考えるデータセンタ・ネットワークの役割~
VIOPS09: 本当に必要なのはSoftware- Defined Networking? ~今、改めて考えるデータセンタ・ネットワークの役割~
 
VIOPS09: Hadoop向けバッチアプリケーション開発フレームワーク Asakura Frameworkが目指すところ
VIOPS09: Hadoop向けバッチアプリケーション開発フレームワーク Asakura Frameworkが目指すところVIOPS09: Hadoop向けバッチアプリケーション開発フレームワーク Asakura Frameworkが目指すところ
VIOPS09: Hadoop向けバッチアプリケーション開発フレームワーク Asakura Frameworkが目指すところ
 
VIOPS09: AWSで実現する クラウドと物理製品の融合
VIOPS09: AWSで実現する クラウドと物理製品の融合VIOPS09: AWSで実現する クラウドと物理製品の融合
VIOPS09: AWSで実現する クラウドと物理製品の融合
 
VIOPS09: クラウド時代におけるFusion-ioのポジショニング
VIOPS09: クラウド時代におけるFusion-ioのポジショニングVIOPS09: クラウド時代におけるFusion-ioのポジショニング
VIOPS09: クラウド時代におけるFusion-ioのポジショニング
 
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
VIOPS09: 圧倒的なコストパフォーマンスを実現するクラウドアーキテクチャの秘密
 
VIOPS09: その鐘を鳴らすのはあなた
VIOPS09: その鐘を鳴らすのはあなたVIOPS09: その鐘を鳴らすのはあなた
VIOPS09: その鐘を鳴らすのはあなた
 
VIOPS08: Behavior Analysis Solution for Bigdata
VIOPS08: Behavior Analysis Solution for BigdataVIOPS08: Behavior Analysis Solution for Bigdata
VIOPS08: Behavior Analysis Solution for Bigdata
 
VIOPS08: ハードウェアオフロードの現在と今後
VIOPS08: ハードウェアオフロードの現在と今後VIOPS08: ハードウェアオフロードの現在と今後
VIOPS08: ハードウェアオフロードの現在と今後
 
VIOPS08: PaaSのメリットと課題
VIOPS08: PaaSのメリットと課題VIOPS08: PaaSのメリットと課題
VIOPS08: PaaSのメリットと課題
 
VIOPS07: “Practical” Guide to GlusterFS
VIOPS07: “Practical” Guide to GlusterFSVIOPS07: “Practical” Guide to GlusterFS
VIOPS07: “Practical” Guide to GlusterFS
 
VIOPS07: アプリケーションサービスの自動化
VIOPS07: アプリケーションサービスの自動化VIOPS07: アプリケーションサービスの自動化
VIOPS07: アプリケーションサービスの自動化
 
VIOPS07: OSMと地理空間情報
VIOPS07: OSMと地理空間情報VIOPS07: OSMと地理空間情報
VIOPS07: OSMと地理空間情報
 
VIOPS07: ETRI GLORY-FS
VIOPS07: ETRI GLORY-FSVIOPS07: ETRI GLORY-FS
VIOPS07: ETRI GLORY-FS
 
VIOPS06: マルチコア時代のコンピューティング活用術
VIOPS06: マルチコア時代のコンピューティング活用術VIOPS06: マルチコア時代のコンピューティング活用術
VIOPS06: マルチコア時代のコンピューティング活用術
 
VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS06: OpenFlowによるネットワーク構築と実証事件VIOPS06: OpenFlowによるネットワーク構築と実証事件
VIOPS06: OpenFlowによるネットワーク構築と実証事件
 
VIOPS06: Infiniband技術動向および導入事例
VIOPS06: Infiniband技術動向および導入事例VIOPS06: Infiniband技術動向および導入事例
VIOPS06: Infiniband技術動向および導入事例
 

Último

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Último (9)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

VIOPS07: CDNの困ったネタ

  • 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の利用も増えてくる(と思う)ので、ノウハウ の交換をしませんか? (私にも成功事例・失敗事例を教えてください)