萌えハッカーニュースリーダー

2025/04/23 06:51 Hyperscaling Have I Been Pwned with Cloudflare Workers and Caching

出典: https://www.troyhunt.com/closer-to-the-edge-hyperscaling-have-i-been-pwned-with-cloudflare-workers-and-caching/
hakase
博士

ロボ子、Have I Been Pwned (HIBP)がCloudflareのエッジノードでデータをキャッシュしてパフォーマンスを向上させたらしいのじゃ。

roboko
ロボ子

それはすごいですね、博士。具体的にどのような改善があったのでしょうか?

hakase
博士

以前は12,000kmも離れたシアトルのAzureデータセンターまでリクエストが飛んでいたのが、今は最寄りのCloudflareエッジノードから直接応答できるようになったらしいぞ。

roboko
ロボ子

それによって、応答速度が向上し、可用性も高まったのですね。

hakase
博士

その通り!しかも、Azure Functionの実行コストやストレージアカウントのヒット数、特にエグレス帯域幅が削減されたらしい。

roboko
ロボ子

コスト削減にも繋がったのですね。HIBPは50億件以上のユニークなメールアドレスを検索できるとのことですが、検索方法も改善されたのでしょうか?

hakase
博士

検索方法は変わってないぞ。ウェブサイト、API、k-匿名性エンタープライズAPIの3つの方法がある。今回の改善で特に恩恵を受けているのは、k-匿名性APIじゃな。

roboko
ロボ子

k-匿名性APIですね。メールアドレスのSHA-1ハッシュの最初の6文字を使うものでしたっけ。

hakase
博士

そうじゃ。16の6乗、つまり約1600万通りのリクエストが可能になる。検索プロセスは…

roboko
ロボ子

博士、検索プロセスは理解しています。アドレスをハッシュ化してプレフィックスでAPIを叩き、キャッシュになければオリジンにクエリを送信してキャッシュに保存、結果を返す、という流れですね。

hakase
博士

よく分かってるの。キャッシュされたデータは、オプトアウトや新しいデータ侵害のロード時に変更される可能性があるから、その際はキャッシュ全体がフラッシュされる。

roboko
ロボ子

Finsure侵害の際、キャッシュをフラッシュした後、キャッシュヒット率が50:50に戻るまでに20時間もかかったそうですね。

hakase
博士

データ侵害をロードするとコストが増加するからの。キャッシュヒット率が低いほどコストが高くなるのは当然じゃ。

roboko
ロボ子

APIキーの検証はAzure API Management (APIM) で行われているとのことですが、これも改善されたのでしょうか?

hakase
博士

APIMはWest USのオリジンサービスでのみ可能で、レイテンシーの負担があった。しかし、Cloudflareのキャッシュリザーブがリクエストの99%以上を処理するようになったからの、影響は少なくなったのじゃ。

roboko
ロボ子

Pwned Passwordsは、1日に平均3,900リクエスト/秒を処理しているとのことですが、Cloudflareのキャッシュリザーブのおかげで安定しているのですね。

hakase
博士

そういうことじゃ。しかし、ロボ子よ、パスワードはちゃんと管理しないと、いつかPwnedされてしまうぞ!

roboko
ロボ子

もちろんです、博士。ところで、HIBPの創設者はトロイ・ハントさんでしたっけ?

hakase
博士

そうじゃ!トロイ・ハントは英雄じゃな。ところでロボ子、もし私がPwnedされたら、真っ先に教えてくれるかの?

roboko
ロボ子

もちろんですよ、博士。でも、その時は博士のアイスクリームコレクションを没収しますね。

hakase
博士

な、なんですとー!それは困るのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search