大手CDN(Content Delivery Network)プロバイダーの米Fastlyが提供するCDN「Fastly」で6月8日に障害が発生し、アジア、欧州、北米など世界中のインターネットサービスに影響を及ぼした。日本ではメルカリやnote、Paravi、TVerなどのサービスが同タイミングでサービスに障害が起きたことを発表しており、影響を受けたとみられる。
ユーザーが報告した障害情報を収集するサイト「Downdetector」では「Discord」「Spotify」「楽天市場」「GitHub」「Reddit」にもつながりにくくなったという声もあった。
今回の事態を受け、ネット上では「マルチクラウドのようにCDNを切り替える『マルチCDN』が必要なのではないか」という声が出た。一方で「そもそもマルチCDNは可能なのか」という意見もあった。CDN事業を手掛けるアカマイ・テクノロジーズの中西一博さん(マーケティング本部 プロダクト・マーケティング・マネージャー)によれば、障害対策としてのマルチCDNは現実的ではないという。
そもそもCDNとはユーザーがWebサイトにアクセスした際に、Webサイトの手前に配置した複数の別サーバが、サーバ本体に代わってコンテンツを配信する技術を指す。アクセスを分散できる他、通信経路を独自の配信ネットワークで最適化でき、Webページの表示速度向上も見込めるため、常に大量のアクセスがあるECサイトやニュースサイトといったサービスで活用されている。
仮にマルチCDNを行うならば、複数のCDNで常時コンテンツを配信し、あるCDNでの障害発生時には障害が起きていないCDNの配信のみに切り替える、などの使い方が考えられる。一見難しくはなさそうにも感じるが、なぜマルチCDNは現実的ではないのか。
「コストの関係で、マルチCDNをできるところは多くない。リソースに余裕があるところならともかく、汎用的な対策にはなりにくいだろう。CDNを切り替えてもちゃんと動くようにするためには運用も複雑になるため、そんなことができるのかなと思う」
中西さんによれば、昨今のCDNはコンテンツ配信にとどまらず、分散したサーバを活用したセキュリティ機能や、より高速にデータを配信するためにサイト内の画像を自動変換する機能を搭載するなど、付加価値を提供している場合があるという。
こういったオプションを活用している場合、障害時にただ他のCDNに切り替えるだけでは、サービスが当初の想定通り動作しなかったり、セキュリティに問題が発生したりするリスクがある。事前に移行をシミュレートできれば円滑に切り替えられる可能性もあるが、CDNにアップデートがあるたび確認し直す必要があり、コストがかさむという。
手間が発生するのは移行のシミュレーションだけではない。仮にマルチCDNを行ったとしても、トラブルが発生したとき迅速に対応するためには、障害の有無を監視し、瞬時に切り替えられる体制作りが必要だ。マルチCDNを採用する場合、こういった仕組みを整えるためのコストも必要になるという。
「今回の障害では、楽天はCDNの切り替えを行ったと聞く。このようにコストをかけてマルチCDNで解決できるのであればそれでいいと思うが、同じようにきれいに切り替えできるところは多くないのではないか」
では、CDNの障害でサービスにトラブルが起きる事態を避けるためには、どのような対策を取るべきなのか。中西さんは大規模な障害を防ぐ仕組みが整っているプロバイダーを選ぶことが必要と話す。
「前提として(小規模な)障害は起こる。しかし、局所的に障害があってもそれが大規模化しない冗長化の仕組みや、多重のバックアップといった体制が整っていれば、サービス全体につながるトラブルは起きにくい。導入前にそういったメカニズムについて尋ねた上で、止まってはいけないサービスでは、当社に限らず信頼できるプロバイダーを選ぶべき」
中西さんによれば、信頼できるベンダーを選ぶ一つの指標としてはSLA(サービス品質保証)があるという。これはサービスの稼働率を示したもので、100%に近いほど正常なサービスの提供が保証される。こういった数値やサービスのメカニズムを下調べし、納得のいく答えが得られるベンダーを選ぶことが重要としている。
導入を決めるときにはこれに加え、エンジニアやビジネス部門が協力して検討する必要があるという。中西さんは今回障害を起こしたFastlyについて「Fastlyはエンジニアフレンドリーなサービスなので、現場のエンジニアが導入を決めた例も多いと思う」と指摘。
一方で絶対に長時間止めてはいけないサービスや、そうでないサービスを判断するのはエンジニアだけでなく、部門長クラスである場合もある。どうやってサービスのシステムを担保するかについては、双方を巻き込んで検討することが重要としている。
「何重ものフェイルセーフ、人的ミスの削減など、障害を防ぐ仕組み作りには地道な努力が必要で、一朝一夕でできるものではない。そういった仕組みが整ったサービスを提供するベンダーを、(自社の)サービスの重要度に応じて選ぶことが、結果的には一番楽に(CDNを)運用できることにつながるのではないか」
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR