日本を拠点とするZennは、エンジニアが書く技術ブログをホストする情報共有プラットフォームです。「知見を共有するエンジニアが対価を得られる場の提供」を使命とするZennは、エンジニアが独自のインサイトを簡単に共有し、ITコミュニティに貢献できるようにしています。
Zennを運営するのは、日本有数のクラウドインテグレーターでサービスプロバイダーのクラスメソッド(Classmethod)です。「当社が最優先するのは、パフォーマンスで妥協せず、サービスの継続性を維持しながら、一貫したブログ記事執筆体験を提供することです」と、クラスメソッドのエンジニア和田祐介氏は述べています。
残念ながら、サイバー攻撃の増加によってその一貫した体験が脅かされてきました。クラスメソッドは現在、セキュリティを強化してプラットフォームの信頼性を高めることに注力し ており、最新の脅威にすばやく対応してアプリケーションパフォーマンスを維持するのに役立つ適応型プラットフォームを必要としています。
「技術記事の執筆は極めてクリエイティブなタスクです。アプリケーションパフォーマンスの確かさは執筆体験を左右し、閲読体験でも極めて重要です。アウトプットの最中にパフォーマンスの問題が起きて執筆体験が損なわれれば、リピートビジネスに直接影響します。負荷の急増やDDoS攻撃は当社にとってパフォーマンスへの脅威なのです。(和田氏)」
2024年2月、ZennプラットフォームのサービスがDDoS攻撃による妨害を受けました。「パフォーマンスが低下し、執筆体験と閲読体験の両方に悪影響を及ぼしました。また、この攻撃でクラウドインフラストラクチャのコストも大幅に増大しました。」
クラスメソッドチームには、クラウドプロバイダーから提供されるツールに代わるものが必要でした。「クラウドインフラストラクチャのDDoS防御機能は利用可能でしたが、高コストで、当社サービスの規模を考えると実用的ではありませんでした」と和田氏は語っています。
クラスメソッドチームは他のソリューションを検討し、Cloudflareに的を絞りました。ネットワークセキュリティといって第一に想起したのがCloudflareでした。「Cloudflareを選んだのは、セットアップの簡単さと手頃な定額料金、低リスクでロールアウト可能なことが理由です。(和田氏)」
日本に複数のCloudflareデータセンターがあるのも魅力の一つでした。クラスメソッドはそれらのデータセンターで稼働するセキュリティ機能を使えるため、遅延の増大はありません。
クラスメソッドは、DDoS攻撃対策とCloudflare Web Application Firewall(WAF)をすばやく実装しました。「WAFは当社で中心的な役割を果たしています。マネージドルールでたいていの脅威は軽減できています。また、同じIPアドレスからのトラフィックにレート制限を一貫して適用し、極端な負荷増大を抑制しています。(和田氏)」
Zennプラットフォームは日本のエンジニア向けであるため、クラスメソッドチームは日本への全トラフィックに制限をかけることにしました。「DDoS攻撃に対する安全策として、日本国外からのアクセスをブロックするカスタムルールを作成しました。(和田氏)」
もちろん、日本国内のトラフィックも保護しています。Cloudflare Tunnelで、オリジンWebサーバーと最寄りのCloudflareデータセンターとの間に暗号化されたトンネルを作成しています。
さらに、Cloudflareの機能はZennプラットフォームにスパムを寄せ付けないようにするのにも役立っています。「スパム投稿は問題でした。Cloudflareのノーコード機能を使い、アクセスをブロックするルールをエディターですばやく作成してスパムを減らすことができました。」
脅威の阻止は、クラスメソッドITチームの運用ワークロードが過剰になることも避ける上でも役立っています。「通常のアクセススパイク以外では、アプリケーションパフォーマンスの問題はほとんど起きていません。おかげ で、オンコールのチームメンバーも以前より少なくなっています」と和田氏は言います。
また、自動機能も通常業務の合理化に役立っています。「遅延アラートはたいてい1か月に3件ほどです。Cloudflareをロールアウトする前は、アラートのたびに誰かが30分かけて問題がないことを確認しなければなりませんでした。CloudflareのDDoS攻撃対策は問題に自動的に対応してくれるため、誰もチェックする必要がなく、毎月の運用業務時間を約90分節約できます。(和田氏)」
クラスメソッドチームはCloudflareへの移行に伴い、レスポンシブな低遅延パフォーマンスをユーザーに提供するためにCloudflareのコンテンツ配信ネットワーク(CDN)を利用することにしました。CloudflareをCDNとして使うことで、コスト削減にもなっています。
「以前は、クラウドプロバイダーのロードバランサーとバンドルしたCDNサービスを使っていました。CDNのコストは月々10万円ほどでした。Cloudflareにしてからはわずか数千円で済んでいます。当社にとっては大幅なコスト削減です。」
現在、クラスメソッドチームは、Zennプラットフォームで信頼性の高いレスポンシブなユーザーエクスペリエンスを維持できるようになっています。Cloudflareのドキュメントは広範囲にわたるため、既存機能を最大限に活かしつつ最新機能を利用するのに必要な情報も得られます。
技術情報共有のためのプラットフォームであるZennをサポートするという役割上、クラスメソッドチームがCloudflareの網羅性の高いドキュメントを重宝するのも不思議ではありません。「Cloudflareは包括的なドキュメントを定期的にアップデートしてくれますので、大変助かっています。標準的なマニュアルや手順書と違って、セキュリティに関するインサイトや業界トレンドまで含まれており、開発が楽になるだけでなく、開発者が意思決定者に主要概念を説明する際にも非常に有用です。(和田氏)」
サービスを中断するDDoS攻撃その他の脅威を軽減
アプリケーションパフォーマンスのインシデント発生件数を削減
ブログプラットフォームでのスパム投稿を排除
DDoS攻撃対策の自動化により毎月の運用業務時間を削減
Cloudflare CDNへの切り換えにより大幅なコスト削減を達成
“Cloudflareを選んだのは、セットアップの簡単さと手頃な定額料金、低リスクでロールアウト可能なことが理由です。”
和田祐介氏
エンジニア
“以前使っていたCDNは月々10万円ほどかかりました。Cloudflareにしてからはわずか数千円で済んでいます。当社にとっては大幅なコスト削減です。”
和田祐介氏
エンジニア