タグアーカイブ Cloudflare

Cloudflareの1.1.1.1が独立監査を完了。プライバシー保護の信頼性を再確認

Cloudflareの1.1.1.1が独立監査を完了。プライバシー保護の信頼性を再確認

Cloudflare(クラウドフレア)が提供するパブリックDNSサービス「1.1.1.1」が、第三者機関による独立したプライバシー監査を完了した。今回の監査は大手会計事務所(いわゆるBig 4の一角)によって実施され、同社が掲げる「ユーザーの個人データを収集・保持しない」という公約が技術的に守られていることが改めて証明された。

1.1.1.1は2018年4月1日のサービス開始以来、世界最速級のスピードと強固なプライバシー保護を両立させることを目標としてきた。2020年に続く2度目の大規模な独立監査を終えたことで、同社はインターネットのインフラを担う企業としての透明性をさらに強化した形だ。

DNSは「インターネットの電話帳」とも呼ばれる重要な仕組みだが、多くのユーザーはその背後でデータがどのように扱われているかを知る機会が少ない。今回の監査結果は、Webサイト運営者や一般ユーザーが安心してインフラを選択するための重要な指標となるだろう。

パブリックDNS「1.1.1.1」が目指すプライバシーの標準

パブリックDNS「1.1.1.1」が目指すプライバシーの標準

DNS(Domain Name System / ドメイン・ネーム・システム)とは、ブラウザに入力された「example.com」のようなドメイン名を、コンピュータが理解できる「192.0.2.1」のようなIPアドレスに変換する仕組みを指す。私たちがWebサイトを閲覧する際、必ず最初に行われるのがこのDNSへの問い合わせだ。

通常、このDNSサービスは契約しているインターネットサービスプロバイダー(ISP)が提供している。しかし、ISPのDNSは必ずしも高速ではなく、場合によってはユーザーがどのサイトを訪れたかという履歴を収集し、広告配信などに利用する懸念が指摘されてきた。こうした背景から、Cloudflareは「プライバシー第一」を掲げた1.1.1.1を立ち上げた経緯がある。

DNSリゾルバーとは何か

DNSリゾルバーとは、ユーザーからの問い合わせを受け取り、適切なIPアドレスを探し出して回答するシステムの総称だ。1.1.1.1はこのリゾルバーとして機能する。Cloudflareによれば、同社のシステムはユーザーのIPアドレスをディスクに書き込まず、24時間以内にすべてのログを削除するように設計されている。

これは、たとえ政府機関や第三者からデータの開示請求があったとしても、そもそもデータが存在しないために提供できない状態を作ることを意味する。技術的に「見ることができない」状態を構築することが、同社のプライバシー戦略の核心だ。

独立監査を継続する理由

企業が「プライバシーを守っている」と主張するのは簡単だが、それをユーザーが検証するのは難しい。Cloudflareは自社の言葉を裏付けるために、外部の専門家による監査を定期的に受けている。2020年の初回監査に続き、今回の2026年の報告書(2024暦年の運用を対象としたもの)でも、同社の主張が事実であることが確認された。

Cloudflareのブログによれば、他の主要なパブリックDNSプロバイダーの中で、このように独立したプライバシー監査を公に受けている企業は、同社が把握する限り存在しないという。この姿勢は、単なる機能提供を超えた「信頼」という付加価値を市場に提示している。

2026年の監査結果と技術的な透明性

2026年の監査結果と技術的な透明性

今回の監査プロセスは、数ヶ月にわたる膨大な証拠収集を経て完了した。Cloudflare内の多くのチームが協力し、プライバシー管理が実際に機能していることを外部監査人に示したという。その結果、同社のコアとなるプライバシー保証は変わらず維持されていることが確認された。

ここで重要なのは、同社が「完璧なゼロデータ」を謳っているわけではないという点だ。ネットワークの健全性を保つためには、最低限のデータ利用が必要になる。今回の報告では、そうした例外的な処理についても透明性が確保されている。

プライバシー保証が再確認された意義

監査によって確認された主要なポイントは、DNS問い合わせから取得した情報を、他のCloudflareデータや第三者のデータと結びつけて個人を特定することはないという約束だ。これは、例えば同社の他のサービス(CDNやWAFなど)で得られたデータと、1.1.1.1の利用履歴を照合して「どのユーザーが何を見ているか」を分析することはない、ということを意味する。

Web制作に関わる立場から見れば、クライアントのサイト訪問者のプライバシーを守るためにも、信頼できるDNSインフラを推奨できる根拠が強まったと言えるだろう。

トラブルシューティングとデータ利用の限定範囲

Cloudflareは、ネットワークのトラブルシューティングや攻撃の緩和(DDoS対策など)のために、ごく一部のパケットをサンプリングしていることを公表している。その割合は最大でも全トラフィックの0.05%以下だ。このサンプリングデータにはユーザーのIPアドレスが含まれる場合があるが、あくまでネットワークの正常な運用のためにのみ使用される。

こうした「何を行っていないか」だけでなく「必要最小限で何を行っているか」を明示する姿勢こそが、プロフェッショナルなテックブログとしての信頼感に繋がっている。情報の透明性は、ユーザーとの信頼関係を築くための唯一の手段だと言える。

通常のDNS
・ISPが履歴を収集
・広告に利用される懸念
・暗号化されない場合が多い
1.1.1.1
・ログを24時間で消去
・独立監査による証明済み
・DoH/DoTで通信を暗号化

このデモは、一般的なDNSと1.1.1.1のプライバシーの扱いの違いを視覚化したものだ。

独自のインフラ刷新とセキュリティの進化

独自のインフラ刷新とセキュリティの進化

2020年の監査から現在に至るまで、Cloudflareの技術スタックは大きく進化している。同社は1.1.1.1を支えるプラットフォームを完全に刷新し、よりスケーラブルで複雑な要求に応えられる体制を整えた。この新プラットフォームにおいても、当初のプライバシー公約が厳格に適用されているかどうかが、今回の監査の大きな焦点だった。

技術の規模が拡大すれば、それだけデータの管理は難しくなる。しかしCloudflareは、技術的な手段によって「そもそも追跡できない」仕組みを維持し続けている。これは、システムの設計段階からプライバシーを組み込む「プライバシー・バイ・デザイン」の好例だ。

新プラットフォームへの移行

新しいプラットフォームでは、1.1.1.1だけでなく他のDNS関連システムも統合されている。これにより、世界中のエッジサーバーでの処理速度が向上した。DNSの応答速度が上がることは、Webサイトの最初の読み込み時間が短縮されることを意味し、結果としてSEOやユーザー体験(UX)の向上に寄与する。

監査では、この新しい複雑なインフラにおいても、個人を特定可能なデータが適切に処理・破棄されていることが確認された。技術が進歩しても、ユーザーとの約束は変わらないというメッセージが強調されている。

匿名化データの活用とCloudflare Radar

Cloudflareは、匿名化されたトランザクションデータやデバッグログを、インターネットのトレンドを分析する「Cloudflare Radar」などの研究目的に活用している。Radarは世界中のトラフィックパターンやサイバー攻撃の動向を可視化するツールだが、ここでも個人のプライバシーに影響を与えないよう配慮されている。

2020年の監査時と比較して、こうしたデータの活用方法は進化しているが、監査報告によれば「個人情報の保護」という観点での影響はないと結論付けられている。匿名化されたビッグデータとして扱うことで、個人の特定を避けつつ、インターネット全体の安全性向上に役立てているわけだ。

ユーザーが1.1.1.1を選ぶべき実務的なメリット

ユーザーが1.1.1.1を選ぶべき実務的なメリット

Web制作やサイト運営に携わる立場として、なぜ1.1.1.1を推奨、あるいは利用すべきなのか。その理由は「速度」と「プライバシー」の2点に集約される。特に近年、プライバシー保護は法的・倫理的な観点だけでなく、ユーザーがサービスを選ぶ際の重要な基準となっている。

1.1.1.1を利用することで、ISPによるブラウジング履歴の収集を防げるだけでなく、フィッシングサイトやマルウェアを配布するドメインへのアクセスをブロックする機能(1.1.1.1 for Familiesなど)も選択できる。これは、組織のセキュリティレベルを底上げする安価で効果的な手段だ。

速度とプライバシーの両立

DNSの応答速度は、サイトの表示速度に直結する。Cloudflareは世界中に広がる自社のエッジネットワークを活用し、世界最速級のDNSレスポンスを実現している。プライバシーを重視するために速度を犠牲にする必要がない点は、プロフェッショナルな環境で選ばれる大きな理由だ。

また、DoH(DNS over HTTPS)やDoT(DNS over TLS)といった暗号化プロトコルに対応していることも重要だ。これにより、公共のWi-Fiなどを利用している際でも、DNSクエリの内容を第三者に盗み見られるリスクを大幅に軽減できる。

設定方法の簡便さ

1.1.1.1の導入は驚くほど簡単だ。PCやスマートフォンのネットワーク設定でDNSサーバーのアドレスを「1.1.1.1」に変更するだけで完了する。また、専用のモバイルアプリ(WARP)を利用すれば、ワンタップで設定を適用できる。この導入のしやすさは、技術に詳しくないクライアントや従業員に推奨する際にも大きなメリットとなる。

企業がDX(デジタルトランスフォーメーション)を進める中で、インフラのセキュリティとプライバシーを確保することは避けて通れない。1.1.1.1のような透明性の高いサービスを基盤に据えることは、長期的なリスク管理の第一歩と言えるだろう。

この記事のポイント

  • Cloudflareの「1.1.1.1」は、大手会計事務所による2度目の独立プライバシー監査を完了した。
  • ユーザーのIPアドレスを保持せず、個人を特定しないという同社の公約が技術的に証明された。
  • ネットワーク運用のためのサンプリングは全トラフィックの0.05%以下に制限されている。
  • 新しいプラットフォームへの移行後も、プライバシー・バイ・デザインの原則が維持されている。
  • 1.1.1.1の利用は、Webサイトの表示速度向上とプライバシー保護を同時に実現する有効な手段だ。
Cloudflare、eBPFでDDoS対策を自作できるProgrammable Flow Protectionを発表

Cloudflare、eBPFでDDoS対策を自作できるProgrammable Flow Protectionを発表

Cloudflareは、Magic Transitの利用者向けに、独自のDDoS緩和ロジックを実装できる「Programmable Flow Protection」を発表した。このシステムは、ユーザーが記述したeBPFプログラムをCloudflareのグローバルネットワーク全体にデプロイし、パケットレベルでの精密な制御を可能にするものだ。

2026年3月31日に公開された情報によると、この新機能は特にUDPをベースとした独自の通信プロトコルを利用するサービスにおいて、これまでにない柔軟な防御手段を提供する。現在はベータ版として、Magic Transit Enterpriseプランのユーザー向けに追加オプションとして提供が開始されている。

従来のDDoS対策システムでは対応が難しかった「未知のプロトコル」に対し、インフラ側が中身を理解するのではなく、ユーザーが「正しいパケット」の定義を教え込むというアプローチが採用された点が、今回のアップデートの核心だ。

UDPプロトコル保護の難しさと従来の限界

UDPプロトコル保護の難しさと従来の限界

ネットワーク通信において、UDP(User Datagram Protocol)は速度とリアルタイム性を重視する場面で多用される。オンラインゲームや音声通話(VoIP)、動画ストリーミングなどがその代表例だ。しかし、このUDPの特性が、DDoS対策においては大きな障壁となってきた。

コネクションレスというUDPの性質

UDPはTCP(Transmission Control Protocol)とは異なり、通信の開始時に「ハンドシェイク」と呼ばれる接続確認の手順を踏まない。パケットが順番通りに届く保証もなく、状態を持たない「コネクションレス」なプロトコルである。このシンプルさが高速な通信を実現する一方で、送信元を偽装した攻撃パケットを見分けることを難しくしている。

DNSやNTPといった標準的なプロトコルであれば、パケットの構造が世界共通であるため、Cloudflareのようなプラットフォーム側で「異常なデータ」を検知しやすい。しかし、独自のゲームエンジンや社内システムで使われるカスタムプロトコルの場合、パケットの中身が暗号化されていたり、独自のヘッダー構造を持っていたりするため、外部の防御システムからは単なる「意味不明なデータの塊」にしか見えないのだ。

従来の「レートリミット」が抱えるジレンマ

これまでのDDoS対策では、こうした未知のUDPプロトコルに対して「レートリミット(帯域制限)」という手段が主に使われてきた。特定のIPアドレスやポート番号からの通信が一定量を超えた場合に、一律で遮断や制限をかける方法だ。しかし、これには大きな欠点がある。

レートリミットは「良い通信」と「悪い通信」を区別しない。攻撃が激しくなると、正規のユーザーの通信も制限に巻き込まれ、ラグや切断が発生してしまう。これは、攻撃者の目的である「サービスの停止」を、防御システム自らが手助けしてしまうような結果を招く。また、ユーザーごとに期待される通信量は異なるため、一律の基準値を設定すること自体が非常に困難であった。

Programmable Flow Protectionの仕組みとeBPFの活用

Programmable Flow Protectionの仕組みとeBPFの活用

Programmable Flow Protectionは、前述した「中身がわからない」という課題を、ユーザーにロジックを記述させることで解決する。ここで重要な役割を果たすのが「eBPF(extended Berkeley Packet Filter)」という技術だ。

eBPFによるパケットレベルの制御

eBPFとは、OSのカーネル(中枢部)の機能を、カーネル自体を書き換えることなく安全に拡張できる仕組みだ。最近のシステム開発では、ネットワークの監視やセキュリティ対策で急速に普及している。Programmable Flow Protectionでは、ユーザーがC言語などで記述したeBPFプログラムをCloudflareにアップロードする。

アップロードされたプログラムは、Cloudflareのネットワークに届くすべてのパケットに対して実行される。プログラム内で「パケットの32バイト目にある特定のトークンが正しいか」といった独自の条件をチェックし、合致しなければその場でパケットを破棄(ドロップ)する。これにより、アプリケーションサーバーに届く前に、エッジ(利用者に近い拠点)で攻撃を食い止めることが可能になる。

ユーザー空間での安全な実行環境

通常、eBPFはOSのカーネル内で動作するが、Cloudflareのこのシステムでは「ユーザー空間(アプリケーションが動く領域)」で実行される。これにより、特定のユーザーのプログラムが原因でシステム全体が不安定になるリスクを排除しつつ、高度な柔軟性を確保している。

また、プログラムは実行前に「ベリファイア(検証器)」によってチェックされる。メモリ操作に問題がないか、無限ループに陥らないかなどが厳密に確認されるため、安全性が担保されている。Cloudflareの既存のDDoS緩和システムが動作した後にこのカスタムロジックが適用されるため、標準的な攻撃は従来通り自動で防がれ、その網をすり抜けるような特殊な攻撃だけを自作ロジックで仕留めるという二段構えの構成が可能だ。

具体的なユースケース:オンラインゲームの独自プロトコル

具体的なユースケース:オンラインゲームの独自プロトコル

この技術が最も威力を発揮する場面の一つが、オンラインゲームの運営だ。独自のゲームエンジンを使用している場合、攻撃者は正規のパケットに似せたデータを大量に送りつけることで、ゲームサーバーをダウンさせようとする。

カスタムヘッダーによるパケット検証

例えば、あるゲームがUDPの207番ポートを使用しており、パケット内の特定の場所に「認証トークン」を含めているとする。Cloudflare側はこのトークンの構造を知らないが、ゲームの開発者はそれを熟知している。Programmable Flow Protectionを使えば、以下のようなロジックをデプロイできる。

// C言語によるeBPFプログラムのイメージ(一部抜粋)
uint64_t cf_ebpf_main(void *state) {
    // パケットヘッダーの解析
    struct cf_ebpf_parsed_headers headers;
    if (parse_packet_data(ctx, &p, &headers) != 0) return CF_EBPF_DROP;

    // ポート207以外はドロップ
    if (ntohs(udp_hdr->dest) != 207) return CF_EBPF_DROP;

    // 独自ヘッダー内のトークンの末尾が「0xCF」かチェック
    uint8_t *last_byte = app->token + token_len - 1;
    if (*last_byte != 0xCF) {
        return CF_EBPF_DROP; // 不正なパケットを破棄
    }

    return CF_EBPF_PASS; // 正当なパケットのみ通過
}

このように、プロトコルの仕様に基づいた「門番」をCloudflareのエッジに配置することで、ランダムなデータを送りつける攻撃(UDPフラッド)を効率的に排除できる。

リプレイ攻撃を防ぐステートフルな追跡

さらに高度な攻撃として「リプレイ攻撃」がある。これは、過去に送信された正当なパケットを攻撃者が記録し、それをそのまま大量に送り直す手法だ。パケットの構造自体は正しいため、単純なヘッダーチェックだけでは防げない。

Programmable Flow Protectionは、単なるフィルターに留まらず、通信の「状態(ステート)」を保持する機能を持っている。これを利用して、未知の送信元IPアドレスに対して「チャレンジ(暗号的な問いかけ)」を送り、正しく応答できたIPアドレスだけを一定期間「許可リスト」に登録するといった運用が可能だ。スクリプトで動いている攻撃者のツールはこうしたチャレンジに応答できないため、リプレイ攻撃を無効化できる。これは、Webサイトでいうところの「CAPTCHA」や「Cookie確認」を、UDPパケットのレベルで実現しているようなものだ。

開発者視点でのメリットと実装の柔軟性

開発者視点でのメリットと実装の柔軟性

このシステムの真価は、Cloudflareが提供する強力なインフラを、自社のエンジニアが自由にプログラミングできる点にある。従来のハードウェアベースのファイアウォールや、固定的な設定しかできないクラウドサービスとは一線を画す柔軟性だ。

高度なヘルパー関数の提供

eBPFプログラムをゼロから書くのは骨が折れる作業だが、Cloudflareは開発を支援するための「ヘルパー関数」を多数用意している。例えば、パケットデータの解析、送信元IPアドレスごとの状態保存、暗号学的な検証、チャレンジパケットの生成といった複雑な処理を、APIを通じて簡単に呼び出すことができる。

これにより、開発者は「パケットをどう処理するか」というビジネスロジックに集中でき、ネットワークスタックの深い知識がなくても高度な防御機能を構築できる。また、プログラムはCloudflareの全世界のデータセンターに数秒で反映されるため、新しい攻撃パターンが出現した際も即座に防御コードをアップデートできるというスピード感も大きなメリットだ。

エッジでの実行によるレイテンシ削減

通常、高度なパケット検証を自前のサーバーで行おうとすると、攻撃トラフィックがサーバーにまで到達してしまい、帯域を圧迫したりCPU負荷を増大させたりする。Programmable Flow Protectionは、世界中に分散されたCloudflareのエッジ拠点で処理を行うため、攻撃トラフィックはユーザーのインフラに届く前に消滅する。

結果として、サーバー側のリソースを節約できるだけでなく、正規ユーザーの通信に対する遅延(レイテンシ)を最小限に抑えることができる。特にオンラインゲームのようにミリ秒単位の遅延が致命的となるサービスにおいて、この「エッジでの精密なフィルタリング」は非常に強力な武器となるだろう。

独自の分析:エッジコンピューティングとセキュリティの融合

独自の分析:エッジコンピューティングとセキュリティの融合

今回のProgrammable Flow Protectionの登場は、セキュリティのあり方が「プラットフォーム任せ」から「プラットフォームとの共同作業」へとシフトしていることを象徴している。これまでは、DDoS対策ベンダーがいかに多くの攻撃パターン(シグネチャ)を知っているかが重要だった。しかし、インターネット上の通信が多様化し、独自のプロトコルが増え続ける中で、ベンダー側ですべてを把握することには限界がある。

Cloudflareは、防御のための「計算資源」と「ネットワーク帯域」を提供し、その上で動かす「知能(ロジック)」をユーザーに開放した。これは、WAF(Web Application Firewall)におけるカスタムルールの作成を、より低レイヤーなL3/L4(ネットワーク・トランスポート層)で実現したものと言える。開発者がインフラの挙動をコードで制御する「Infrastructure as Code」の概念が、DDoS対策の領域でも完全に定着しつつある。

今後、この仕組みはDDoS対策だけでなく、ネットワークトラフィックのルーティングや、エッジでのデータ変換など、より幅広い用途に応用されていく可能性がある。セキュリティエンジニアには、単なる設定作業だけでなく、eBPFのような低レイヤー技術を駆使して「防御をプログラミングする」スキルがますます求められるようになるだろう。

この記事のポイント

  • CloudflareがMagic Transit向けに、eBPFでDDoS対策をカスタマイズできる新機能を発表。
  • UDPベースの独自プロトコルなど、従来の自動防御では対応が難しかった通信を精密に守れる。
  • eBPFを活用することで、パケットの中身を検証したり、ステートフルに接続を追跡したりできる。
  • 攻撃パケットをエッジで破棄するため、オリジンサーバーの負荷軽減と正規ユーザーのラグ防止に直結する。
  • 現在はEnterprise顧客向けのベータ版として提供されており、開発者による自由なロジック実装が可能。
Cloudflareが新CMS「EmDash」発表。プラグインのセキュリティ問題を隔離技術で解決

Cloudflareが新CMS「EmDash」発表。プラグインのセキュリティ問題を隔離技術で解決

Cloudflare(クラウドフレア)は、WordPressの精神的な後継を謳う新しいオープンソースCMS「EmDash(エムダッシュ)」を発表した。これは現在のWeb環境に合わせてゼロから設計されたもので、TypeScriptをベースに構築されている。

EmDashは、WordPressが長年抱えてきたプラグインに起因するセキュリティ脆弱性を、独自の隔離技術によって根本から解決することを目指している。さらに、最新のフロントエンドフレームワークであるAstro(アストロ)をエンジンに採用し、圧倒的なパフォーマンスを実現した。

現在はプレビュー版であるv0.1.0が公開されており、GitHubからコードを入手できる。Cloudflareのインフラだけでなく、Node.jsが動作する環境であればどこでもデプロイ可能だ。なぜ今、新しいCMSが必要なのか、その詳細を解説する。

プラグインのセキュリティ問題を隔離技術で解決する

プラグインのセキュリティ問題を隔離技術で解決する

WordPressのサイトで発生するセキュリティ問題の約96%は、プラグインが原因だと言われている。従来の仕組みでは、プラグインはPHPスクリプトとして動作し、サイトのデータベースやファイルシステムに直接アクセスできてしまう。これが、一つの脆弱性がサイト全体の崩壊を招く要因だった。

EmDashはこの問題を「Dynamic Workers(ダイナミック・ワーカーズ)」と呼ばれる隔離環境(サンドボックス)で解決した。各プラグインは「Isolate(アイソレート)」という独立した実行単位で動作するため、他のプログラムやシステムの中核に勝手に干渉することができない。

プラグインが何らかの操作を行うには、マニフェストファイルで必要な権限(ケイパビリティ)を明示的に宣言する必要がある。例えば、コンテンツを読み取る権限やメールを送信する権限など、許可された範囲内でのみ動作が保証される仕組みだ。これはスマートフォンのアプリがカメラや位置情報へのアクセス許可を求める挙動に近い。

import { definePlugin } from "emdash";

export default () =>
  definePlugin({
    id: "notify-on-publish",
    version: "1.0.0",
    capabilities: ["read:content", "email:send"],
    hooks: {
      "content:afterSave": async (event, ctx) => {
        if (event.collection !== "posts" || event.content.status !== "published") return;

        await ctx.email!.send({
          to: "editor@example.com",
          subject: `新着記事:${event.content.title}`,
          text: `「${event.content.title}」が公開されました。`,
         });

        ctx.log.info(`エディターに通知を送信しました:${event.content.id}`);
      },
    },
  });

上記のコード例では、コンテンツの読み取りとメール送信の権限のみを要求している。このプラグインが許可なく外部のネットワークと通信したり、データベースを直接書き換えたりすることは物理的に不可能だ。管理者はインストール時に、そのプラグインが何をしようとしているのかを正確に把握できる。

WordPressのモデル
プラグインがシステム全体にアクセス可能。一つの穴が命取りになる。
EmDashのモデル
プラグインは隔離された箱の中。許可された操作以外は一切できない。

このデモは、従来のCMSとEmDashにおけるセキュリティ構造の違いを視覚化したものだ。

Astroとサーバーレスがもたらす圧倒的なパフォーマンス

Astroとサーバーレスがもたらす圧倒的なパフォーマンス

EmDashの内部エンジンには、コンテンツ主導のWebサイト向けフレームワークとして評価の高い「Astro」が採用されている。Astroは必要な部分だけをJavaScriptで動かす「アイランドアーキテクチャ」を得意としており、ブラウザでの読み込み速度を極限まで高めることができる。

また、EmDashはサーバーレス環境での動作を前提に設計されている。具体的にはCloudflare Workers(クラウドフレア・ワーカーズ)のランタイムである「workerd」上で動作し、リクエストがあった瞬間にプログラムが起動する仕組みだ。これにより、アクセスがないときはリソースを消費せず、急激なトラフィック増にも即座に対応できる。

従来のWordPressのように、常にサーバーを起動させておく必要がないため、運用コストの大幅な削減が期待できる。Cloudflareによれば、CPUの計算時間に対してのみ課金されるモデルのため、小規模なサイトから大規模なプラットフォームまで効率的にスケールさせることが可能だという。

テーマ制作も現代的だ。開発者はAstroのコンポーネントやスタイル(Tailwind CSSなど)を使って、使い慣れたモダンな手法でサイトのデザインを構築できる。従来のWordPressテーマのように複雑なPHPの作法を覚える必要はなく、フロントエンドエンジニアにとって親和性の高い環境が整っている。

AI時代を見据えた新しい収益化モデルと開発体験

AI時代を見据えた新しい収益化モデルと開発体験

EmDashが他のCMSと一線を画すのが、AIエージェントによる管理を標準でサポートしている点だ。MCP(Model Context Protocol)サーバーを内蔵しており、AIがサイトのコンテンツ構造を理解したり、プラグインを生成したりするためのコンテキストを直接提供できる。

例えば、CLI(コマンドラインインターフェース)を通じてAIエージェントに指示を出し、メディアのアップロードやスキーマの変更、さらにはWordPressテーマの移植ガイドを生成させることも可能だ。これは「人間が管理画面をポチポチ操作する」という従来のCMSのあり方を、根本から変える可能性を秘めている。

さらに、コンテンツの収益化についても新しい提案がなされている。「x402」というインターネットネイティブな決済プロトコルを内蔵しているのだ。これはHTTP 402エラー(支払いが必要)を活用した仕組みで、AIエージェントなどがコンテンツにアクセスする際、都度少額の支払いを行う「ペイ・パー・ユース」のモデルを簡単に導入できる。

広告収益に頼る従来のWebビジネスモデルが、AIによるスクレイピングなどで脅かされている現状に対し、EmDashは技術的な解決策を提示している。管理画面でコンテンツごとの価格を設定し、ウォレットアドレスを登録するだけで、サブスクリプションに頼らない新しい収益源を構築できるのだ。

WordPressからのスムーズな移行とモダンな認証機能

WordPressからのスムーズな移行とモダンな認証機能

既存のWordPressユーザーを置き去りにしないための工夫も凝らされている。専用のインポータープラグインを使用することで、記事データやメディアライブラリを数分でEmDashへ移行できる仕組みが用意された。

カスタム投稿タイプについても、EmDashでは管理画面から直接スキーマ(データの構造)を定義できる。WordPressでACF(Advanced Custom Fields)などの外部プラグインを駆使して実現していたような複雑なデータ構造も、標準機能としてよりクリーンに管理することが可能だ。

セキュリティ面では、パスワードを廃止し「パスキー(Passkeys)」による認証をデフォルトとしている。これにより、パスワードの漏洩や総当たり攻撃のリスクを事実上ゼロにできる。もちろん、既存のSSO(シングルサインオン)プロバイダーとの連携も可能だ。

CloudflareはEmDashを単なるWordPressの代替品ではなく、これからの20年を見据えた「Webの新しいOS」のような存在として位置づけている。MITライセンスで公開されているため、特定のプラットフォームに縛られることなく、誰もが自由に拡張や開発に参加できる点も大きな魅力だ。

独自の分析:EmDashがWeb制作の現場に与える影響

独自の分析:EmDashがWeb制作の現場に与える影響

EmDashの登場は、Web制作のワークフローを劇的に変える可能性がある。特に注目すべきは、プラグインのライセンス問題からの解放だ。WordPressのプラグインは、その構造上GPLライセンスを継承せざるを得ないケースが多かったが、EmDashではプラグインが完全に独立して動作するため、作者が自由にライセンスを選択できる。

これは、高品質な商用プラグインのエコシステムがより健全に発展することを意味する。また、セキュリティが「信頼」ではなく「技術的な制約」によって担保されるため、マーケットプレイスによる中央集権的な審査を待たずとも、安全に新しい機能を導入できるようになるだろう。

一方で、これまでのPHPベースのスキルセットを持つ開発者にとっては、TypeScriptやAstroへの移行という学習コストが発生する。しかし、サーバー管理の苦労から解放され、AIを活用した高速な開発が可能になるメリットは、そのコストを補って余りあるものになるはずだ。まずはプレビュー版を自身の環境で試し、そのスピードと安全性を体感してみることをお勧めする。

この記事のポイント

  • EmDashはCloudflareが開発した、TypeScriptベースの新しいオープンソースCMSだ。
  • プラグインを独自のサンドボックスで実行することで、WordPressの脆弱性問題を根本的に解決する。
  • Astroとサーバーレス技術を採用し、高い表示速度とスケーラビリティを両立している。
  • AIエージェントによる管理や、x402プロトコルによる新しい収益化モデルを標準搭載している。
  • パスキーによる認証や、WordPressからの簡単なデータ移行機能も備えている。
Cloudflare Client-Side Securityが全ユーザーに開放。GNNとLLMを融合した最新の検知技術を解説

Cloudflare Client-Side Securityが全ユーザーに開放。GNNとLLMを融合した最新の検知技術を解説

Cloudflareは、ウェブサイトの閲覧者側で実行される悪意のあるスクリプトを検知・遮断する「Client-Side Security」の大幅なアップデートを発表した。これまでエンタープライズ向けに提供されていた高度なセキュリティ機能が、セルフサービスを利用するすべてのユーザーに開放される。1日あたり35億ものスクリプトを評価する同社のネットワークが、より広範なウェブサイトを保護する体制を整えた。

今回の更新で最も注目すべきは、AIを用いた新しい検知システムの導入だ。グラフニューラルネットワーク(GNN)と大規模言語モデル(LLM)を組み合わせることで、誤検知を劇的に減らしつつ、未知の攻撃を高い精度で特定できるようになった。従来のシグネチャベースの防御では防ぎきれない、高度に難読化された攻撃への対策が強化されている。

クライアントサイドを標的とした攻撃は、サイトの表示を崩すことなくデータを盗み出すため、運営者が気づきにくいという特徴がある。Cloudflareはこの課題に対し、最新のAI技術を統合することで、運用の手間を最小限に抑えながら強固な防御を提供することを目指している。本記事では、その技術的な仕組みと実戦での成果について詳しく解説する。

Cloudflare Client-Side Securityの進化と新展開

Cloudflare Client-Side Securityの進化と新展開

Cloudflareは、強力なセキュリティ機能を営業担当者との交渉なしに利用可能にすることを基本原則として掲げている。その一環として、これまで「Page Shieldアドオン」と呼ばれていた機能を「Client-Side Security Advanced」へと統合し、セルフサービスプランのユーザーでも即座に導入できるようにした。

全ユーザーへの門戸開放と無料化の意義

今回のアップデートにより、ドメインベースの脅威インテリジェンスがすべての顧客に無料で提供される。2025年には、Magentoなどのプラットフォームを利用する中小規模のECサイトが、クライアントサイドからの攻撃により数週間にわたって被害を受け続ける事例が多数報告された。こうしたリソースの限られたサイト運営者でも、ダッシュボード上のトグルを切り替えるだけで、既知の悪意のあるドメインとの通信を可視化できるようになった。

PCI DSS v4への対応とコンプライアンス

Client-Side Security Advancedには、コードの変更を継続的に監視する機能が含まれている。これは、クレジットカード業界のセキュリティ基準である「PCI DSS v4」の要件11.6.1を満たすために不可欠な要素だ。EC事業者はこのツールを導入することで、法規制や業界基準への準拠を容易に進めることができる。また、コンテンツセキュリティポリシー(CSP)に基づいたプロアクティブなブロックルールの運用も可能となっている。

攻撃をあぶり出す仕組み:ASTとブラウザレポーティング

攻撃をあぶり出す仕組み:ASTとブラウザレポーティング

クライアントサイドのセキュリティ管理は、膨大なデータを扱う極めて困難な課題だ。一般的なエンタープライズサイトでは、平均して2,200もの固有のスクリプトが動作している。さらに、これらのスクリプトの約3分の1は30日以内に更新される。これらを手動で承認していては、開発パイプラインが停止してしまうため、自動化された高度な分析が必要となる。

レイテンシゼロで監視するアーキテクチャ

Cloudflareのシステムは、ブラウザレポーティング(Content Security Policyなど)を利用して信号を収集する。これにより、サイトにスキャナーを導入したり、アプリケーションに特別なコードを埋め込んだりする必要がない。ユーザーのブラウザからの報告をCloudflareのプロキシ経由で受け取る仕組みのため、ウェブアプリケーションの表示速度に一切の影響を与えないのが大きな強みだ。

難読化を突破するAST解析の威力

攻撃者は検知を逃れるために、コードの変数を意味のない文字列に書き換えたり、構造を複雑にしたりする「難読化」を行う。Cloudflareはこれに対抗するため、スクリプトを「AST(Abstract Syntax Tree / 抽象構文木)」に分解して解析する。ASTとは、プログラムの構造を樹状図のような形式で表現したものだ。コードの見かけ上の書き方が変わっても、論理的な構造や挙動(インテント)を抽出できるため、悪意のある意図を正確に特定できる。

以下のデモは、難読化されたコードがどのようにAST的な構造として捉えられるかを視覚化したイメージだ。

難読化されたコード
var _0x1a2b = ["\x63\x6F\x6F\x6B\x69\x65"];
function _0x3c4d(){
send(_0x1a2b[0]);
}
AST解析による構造特定
VariableDeclaration
└─ Identifier: “cookie”
CallExpression
└─ Action: “Data Exfiltration”

このデモは難読化されたコードが解析され、データの持ち出しという構造が特定される過程を視覚化したイメージである。

GNNとLLMを組み合わせた「二段構え」の検知システム

GNNとLLMを組み合わせた「二段構え」の検知システム

Cloudflareが導入した最新の検知システムは、2つの異なるAIモデルを連携させる「カスケード型」のアーキテクチャを採用している。これにより、広大なインターネット上に存在する無限に近いバリエーションのスクリプトを、効率的かつ正確に処理することが可能になった。

構造を捉えるGNNの役割と限界

第1段階として、すべてのスクリプトはグラフニューラルネットワーク(GNN)によって評価される。GNNはASTの構造を学習し、変数の名前が変更されていても、実行パターンの特徴から悪意のある挙動を検知する。GNNは処理が高速であり、未知の脅威(ゼロデイ攻撃)を見逃さない「高い再現率」を持っている。しかし、その一方で、複雑な広告用スクリプトや難読化された正当なライブラリを誤って「攻撃」と判定してしまう「偽陽性」が課題となっていた。

Workers AIによるLLMの「セカンドオピニオン」

GNNが「疑わしい」と判定したスクリプトのみ、第2段階として大規模言語モデル(LLM)に送られる。ここで使用されるのは、Cloudflareの「Workers AI」上で動作するオープンソースのLLMだ。LLMはコードの意味的な文脈を深く理解しており、開発者がよく使う記述パターンやフレームワーク特有の動作を識別できる。LLMが「これは怪しいが見た目は無害なコードだ」と判断すれば、GNNの判定を上書きして誤検知を防ぐ。この二段構えにより、独自の評価では偽陽性を約3分の1にまで削減することに成功した。

実戦での成果:ルーターを標的にした「core.js」の検知事例

実戦での成果:ルーターを標的にした「core.js」の検知事例

この新しい検知システムは、すでに実際の攻撃を特定する成果を上げている。最近検知された「core.js」という悪意のあるスクリプトの事例は、AIによる構造・意味解析の有効性を証明するものとなった。

高度な難読化とゼロデイ攻撃の正体

「core.js」は、特定の地域でXiaomi製のOpenWrtベースのホームルーターを乗っ取ることを目的としたスクリプトだった。このスクリプトは、ルーターのWAN設定(DHCP、スタティックIP、PPPoEなど)を動的に照会し、DNS設定を書き換えてトラフィックをハイジャックしようとする。さらに、管理パスワードを密かに変更して、正当な所有者を締め出す機能まで備えていた。この攻撃はウェブサイトを直接改ざんするのではなく、侵害されたブラウザ拡張機能を通じてユーザーのセッションに注入されていた。

偽陽性を劇的に減らす精度の向上

このスクリプトは高度に圧縮・難読化されており、従来のシグネチャベースの防御システムでは検知が困難だった。しかし、CloudflareのGNNは難読化の奥にある悪意のある構造を暴き出し、Workers AI上のLLMがその意図を「ルーターのAPIを悪用する攻撃である」と確信を持って判定した。全体的なトラフィックにおける偽陽性率は約0.3%から0.1%へと低下し、固有のスクリプト単位では、偽陽性率が1.39%から0.007%へと約200倍も改善されたという。これにより、運用担当者はアラート疲れに陥ることなく、真の脅威に集中できるようになった。

独自の分析:クライアントサイドセキュリティが不可欠になる理由

独自の分析:クライアントサイドセキュリティが不可欠になる理由

今日のウェブ制作において、サードパーティ製スクリプトの利用は避けて通れない。広告、アクセス解析、チャットボット、SNS連携など、1つのサイトで数十の外部サービスが読み込まれることは珍しくない。しかし、これは「サプライチェーン攻撃」のリスクを常に抱えていることを意味する。自社のサーバーをどれだけ堅牢に守っても、読み込んでいる外部のJavaScriptが侵害されれば、ユーザーの個人情報や決済データは簡単に盗まれてしまう。

Cloudflareの今回の取り組みが画期的なのは、AIを「検知の高速化」だけでなく「運用の現実化」に活用した点だ。これまでのクライアントサイドセキュリティは、厳格に設定すれば誤検知が増えてビジネスを阻害し、緩く設定すれば攻撃を見逃すというジレンマがあった。GNNで広く網を張り、LLMで賢く精査するというアプローチは、膨大かつ変化の激しい現代のウェブエコシステムにおける現実的な解といえる。

特に、Workers AIを活用して自社ネットワーク内でLLMを完結させている点は、プライバシーとレイテンシの両面で合理的だ。セキュリティ製品が「導入するとサイトが重くなる」というこれまでの常識を覆し、パフォーマンスを維持したまま高度なAI防御を適用できるようになった意義は大きい。今後は、さらにLLMの判定基準を最適化することで、よりアグレッシブな検知設定が可能になり、未知の攻撃に対する防御力はさらに高まっていくと指摘されている。

この記事のポイント

  • Cloudflare Client-Side Security Advancedがセルフサービスプランの全ユーザーに開放された
  • ドメインベースの脅威インテリジェンスが無料化され、中小規模のサイトでも導入が容易になった
  • GNNによる構造解析とLLMによる意味解析を組み合わせた二段構えの検知システムを導入した
  • Workers AIを活用することで、サイトの表示速度に影響を与えずに高度なスクリプト解析を実現した
  • ルーターを標的とした「core.js」のような、従来のシステムでは見逃されやすいゼロデイ攻撃の検知に成功した
Cloudflare Gen13サーバーの設計思想 192コアAMD EPYCで2倍のスループットを実現

Cloudflare Gen13サーバーの設計思想 192コアAMD EPYCで2倍のスループットを実現

Cloudflareが第13世代サーバー「Gen13」の設計詳細を公開した。192コアのAMD EPYC Turin 9965プロセッサを搭載し、前世代比で最大2倍のスループットを実現している。

Gen13は768GBのDDR5-6400メモリ、24TBのPCIe 5.0 NVMeストレージ、デュアル100GbEネットワークインターフェースを備える。特に注目すべきは、Rustで書き直された新リクエスト処理層「FL2」への移行により、大容量L3キャッシュへの依存を解消した点だ。これによりコア数を2倍に増やしながら、レイテンシの増加を抑えることに成功した。

この記事では、Cloudflare Blogの記事を基に、Gen13サーバーの各コンポーネント選択の背景と設計思想を解説する。

CPU設計の転換:キャッシュからコアへ

CPU設計の転換:キャッシュからコアへ

Gen13の最大の特徴は、AMD EPYC Turin 9965プロセッサの採用だ。192コア/384スレッドを備え、前世代のGen12(96コア)からコア数を2倍に増やしている。

L3キャッシュ依存からの脱却

興味深いのは、コア数が2倍になった一方で、コアあたりのL3キャッシュ容量が83.3%減少している点だ。Gen12のAMD EPYC Genoa-X 9684Xはコアあたり12MBのL3キャッシュを持っていたが、Gen13のTurin 9965はコアあたり2MBしかない。

この一見逆行するような選択の背景には、Cloudflareのソフトウェアスタックの根本的な変化がある。Cloudflareはリクエスト処理層をFL1からFL2へ移行した。FL2はRustで書き直された新アーキテクチャで、大容量L3キャッシュへの依存度が大幅に低減されている。

Cloudflare Blogの記事によると、FL2ワークロードはコア数に対してほぼ線形にスケールする特性を持つ。このため、コア数を増やすことが直接的なスループット向上につながる。L3キャッシュ容量の減少による潜在的なパフォーマンス低下は、FL2の効率的なメモリ使用によって相殺された。

3つの候補から9965を選んだ理由

Cloudflareのエンジニアチームは、Gen13のCPU候補として3つのAMD Turinプロセッサを評価した。128コアの9755、160コアの9845、そして192コアの9965だ。

評価の結果、9965が選ばれた理由は明確だ。生産環境でのテストにおいて、9965の192コアは最高の総合リクエスト処理性能を示した。さらに、500WのTDP(熱設計電力)における性能/ワット効率も優れており、ラックレベルでの総所有コスト(TCO)が最も低くなると判断された。

運用面でも、192コアという高密度構成はメリットがある。同じ計算能力を提供するために必要なサーバー台数が減るため、プロビジョニング、パッチ適用、監視にかかる運用オーバーヘッドを削減できる。

メモリとストレージの拡張

メモリとストレージの拡張

12チャネルDDR5-6400で帯域幅33%向上

CPUコア数が2倍になったことで、メモリサブシステムにもより高い要求が課せられた。Gen13は12個のDDR5-6400メモリチャネルすべてを活用する構成を採用している。

各チャネルに64GB DIMMを1枚ずつ配置する「1DIMM per channel」構成で、合計768GBのメモリ容量を実現。ピークメモリ帯域幅はソケットあたり614GB/sに達し、Gen12から33.3%向上した。

すべてのチャネルを均等に使用する構成は、メモリインターリーブの観点から重要だ。AMD Turinプロセッサは、同じDIMMタイプ、同じ容量、同じランク構成のメモリチャネル間でインターリーブを行う。インターリーブにより、連続したメモリアクセスが単一のチャネルではなくすべてのチャネルに分散され、実効的なメモリ帯域幅が向上する。

コアあたり4GBの「適正容量」を維持

メモリ容量の決定において、Cloudflareは「コアあたり4GB」という比率を維持することを選択した。Gen12でも同じ比率が採用されており、実績のあるバランスだ。

設計初期には、コアあたり4GBから6GBの範囲が検討された。192コアの場合、768GBから1152GBに相当する。実際のDIMM容量の粒度を考慮すると、選択肢は12x48GB(576GB)、12x64GB(768GB)、12x96GB(1152GB)の3つだった。

12x48GB構成は容量が不足し、メモリを多く消費するワークロードを飢餓状態にするリスクがある。一方、12x96GB構成はコアあたり50%の容量増加となるが、電力消費の増加とコストの大幅な上昇(現在のメモリ価格は1年前の10倍)が問題だ。

12x64GBの768GB構成は、コアあたり4GBという実績のある比率を維持しつつ、サーバーあたりの総容量をGen12の2倍に拡大する。FL2はFL1と比べてメモリ使用効率が大幅に向上しており、ソフトウェアスタックの移行によって生じた余剰容量が、今後数年間のCloudflareの成長を支えるヘッドルームとなる。

ストレージ:PCIe 5.0と容量50%増

ストレージサブシステムも大幅に強化された。Gen13はPCIe Gen 5.0 NVMeドライブを採用し、レイテンシの改善と増大するストレージ帯域幅要求に対応する。

物理的なストレージ容量も、3台のNVMeドライブにより24TBに拡張された。Gen12サーバーは4つのE1.Sストレージスロットを備えていたが、実際に使用されていたのは2スロットのみだった。Gen13では同じ4スロット設計を維持しつつ、3スロットに8TBドライブを実装している。

3台目のドライブ追加により、サーバーあたりのストレージ容量は16TBから24TBへ50%増加した。これはCDNキャッシュ性能の維持・向上に加え、Durable Objects、Containers、Quicksilverサービスなどの成長予測を支えるためだ。

さらにGen13シャーシには、最大10台のU.2 PCIe Gen 5.0 NVMeドライブを収容できるフロントドライブベイが追加された。この設計により、同じシャーシをコンピュートプラットフォームとストレージプラットフォームの両方で使用できる柔軟性が生まれる。必要に応じてコンピュートSKUをストレージSKUに変換することも可能だ。

ネットワークと電源の刷新

ネットワークと電源の刷新

8年ぶりのネットワークアップグレード:25GbEから100GbEへ

Gen13で最も大きな変化の一つが、ネットワークインターフェースの刷新だ。8年以上にわたりCloudflareフリートの基盤となってきたデュアル25GbEから、デュアル100GbEへと移行する。

この変更の必要性は明白だ。192コアという高性能CPUがより多くのリクエストを処理できるようになると、ネットワーク帯域幅がボトルネックになる。実際、世界中のコロケーション施設から収集した1週間分の本番データによると、Gen12ではポートあたりのP95帯域幅が利用可能帯域幅の50%を一貫して超えていた。

Gen13ではサーバーあたりのスループットが2倍になるため、NIC帯域幅が飽和するリスクが高まる。100GbEへの移行は、このボトルネックを解消するための必然的な選択だ。

50GbEではなく100GbEを選んだ理由は、産業界の経済性にある。50GbEトランシーバーの市場規模は依然として小さく、サプライチェーン上のリスクが高い。デュアル100GbEポートによりサーバーあたり200Gb/sの集約帯域幅を実現し、今後数年間のトラフィック成長に対応できる将来性も確保した。

電源:800Wから1300Wへ拡張

コンピュート能力とネットワーク能力の向上に伴い、サーバーの電力エンベロープも自然に拡大した。Gen13は必要な電力を供給するため、より大型の電源装置を搭載する。

Gen12ノードは800W 80 PLUS Titanium CRPS(共通冗長電源装置)で十分に動作していたが、Gen13では1300W 80 PLUS Titanium CRPSを選択した。

Gen13の通常動作時の電力消費は850Wに達する。Gen12の600Wから250Wの増加だ。主な要因は、TDPが400Wから500Wに上がったCPU、メモリ容量の2倍化、追加のNVMeドライブである。

1000Wではなく1300Wを選んだ理由は、現在のPSUエコシステムに1000Wの高効率オプションがほとんどないためだ。サプライチェーンの信頼性を確保するために、産業界標準の次の階層である1300Wに移行した。

EU Lot 9規制は、欧州連合に展開するサーバーが、負荷10%、20%、50%、100%において規制で指定された効率率閾値を満たす電源装置を備えることを要求する。この閾値は80 PLUS Power Supply認証プログラムのチタニウムグレードPSU要件と一致する。Gen13ではEU Lot 9に完全準拠するためチタニウムグレードPSUを選択し、欧州のデータセンターをはじめとする全世界での展開を可能にした。

セキュリティと管理の継続性

セキュリティと管理の継続性

Project Argus DC-SCM 2.0の継承

Gen13では、Gen12で導入された管理機能とセキュリティ関連コンポーネントをマザーボードから分離するアーキテクチャを維持する。これらは「Project Argus」データセンターセキュアコントロールモジュール2.0(DC-SCM 2.0)に集約されている。

DC-SCMモジュールには、サーバーのセキュリティの中枢となる重要なコンポーネントが収められている。

  • 基本入出力システム(BIOS)
  • ベースボード管理コントローラ(BMC)
  • ハードウェアルートオブトラスト(HRoT)とTPM
  • 冗長性のためのデュアルBMC/BIOSフラッシュチップ

このアーキテクチャをGen13でも継続する決定は、前世代で実証されたセキュリティ上の利点に基づく。管理機能を専用モジュールにオフロードすることで、以下のメリットを維持できる。

迅速な回復機能は、デュアルイメージ冗長性により、偶発的な破損や悪意のある更新が検出された場合にBIOS/UEFIおよびBMCファームウェアをほぼ瞬時に復元できる。

物理的耐性については、Gen13シャーシでは侵入検知メカニズムをシャーシの平坦な端からさらに遠ざけ、物理的な傍受を難しくしている。

PCIe暗号化は、Gen10プラットフォームから有効化されていたCPUとメモリ間の暗号化(TSME)に加え、AMD Turin 9965プロセッサがPCIeトラフィックにも暗号化を拡張する。これにより、システム内のすべてのバスを通過するデータが転送中も保護される。

運用的一貫性も重要だ。Gen12管理スタックを維持することで、セキュリティ監査、展開、プロビジョニング、運用標準手順が完全に互換性を保つ。

ドロップインアクセラレータサポートの強化

フリートのモジュール性維持は、Cloudflareのサーバー設計における中核的な要件だ。この要件により、Cloudflareは2024年にGPUを世界中の100以上の都市に迅速に改造・展開できた。

Gen13では、高性能PCIeアドインカードのサポートを継続する。Gen13の2Uシャーシレイアウトは更新され、より要求の厳しい電力と熱要件をサポートするように構成されている。Gen12がシングル幅GPU1枚に制限されていたのに対し、Gen13アーキテクチャはダブル幅PCIeカード2枚をサポートする。

この記事のポイント

  • Cloudflare Gen13サーバーは192コアAMD EPYC Turin 9965を採用し、前世代比最大2倍のスループットを実現
  • FL2(Rust製新リクエスト処理層)への移行により、大容量L3キャッシュへの依存を解消。コア数増加による性能向上を可能にした
  • メモリは12チャネルDDR5-6400構成で768GBを実装。帯域幅33%向上とコアあたり4GBの適正容量を維持
  • ネットワークは8年ぶりに刷新。デュアル25GbEからデュアル100GbEへ移行し、帯域幅ボトルネックを解消
  • セキュリティはProject Argus DC-SCM 2.0アーキテクチャを継承。PCIe暗号化を追加し、データ転送中の保護を強化
Kubernetesの1行修正で年600時間を削減——Cloudflareが直面したPVマウントの罠

Kubernetesの1行修正で年600時間を削減——Cloudflareが直面したPVマウントの罠

Kubernetesの設定ファイルをたった1行書き換えるだけで、年間600時間ものエンジニア工数を削減した事例がある。Cloudflare(クラウドフレア)のインフラチームが直面したこの問題は、システムの規模が拡大するにつれて静かに忍び寄る「デフォルト設定の罠」を浮き彫りにした。

原因は、ストレージの権限管理を行うKubernetesの標準的な振る舞いにあった。数百万ものファイルを抱えるボリュームにおいて、再起動のたびに30分ものダウンタイムが発生していた事態を、彼らはどのように特定し、解決したのだろうか。

本記事では、CloudflareのエンジニアであるBraxton Schafer氏が公開したデバッグの過程と、大規模なKubernetes運用において見落としがちなパフォーマンスのボトルネックについて詳しく解説する。

Atlantisの再起動がなぜか「30分」もかかる謎

Atlantisの再起動がなぜか「30分」もかかる謎

Cloudflareでは、Terraform(テラフォーム)によるインフラ管理の自動化ツールとして「Atlantis(アトランティス)」を利用している。Terraformはコードでインフラを定義するツールだが、Atlantisを導入することで、GitHubやGitLabのプルリクエスト上で実行計画(Plan)の確認や適用(Apply)が可能になる。

AtlantisはKubernetes上で「StatefulSet(ステートフルセット)」として動作しており、リポジトリの状態を保持するためにPV(Persistent Volume / 永続ボリューム)を使用している。StatefulSetとは、Pod(ポッド)の再起動後もデータの永続性を保証するための仕組みだ。

頻繁な再起動がエンジニアの時間を奪う

問題は、このAtlantisを再起動するたびに発生していた。新しいプロジェクトの設定を読み込ませたり、認証情報を更新したりするために、Cloudflareでは月に約100回ほどの再起動を行っていた。しかし、再起動を開始してからPodが正常に立ち上がるまで、毎回30分もの時間がかかっていたという。

この間、エンジニアはインフラの変更を行うことができず、作業が完全にブロックされてしまう。月100回の再起動で毎回30分待機が発生すれば、月間で50時間、年間では600時間もの時間が「ただの待ち時間」として消えていく計算だ。これは、一人のエンジニアが数ヶ月間フルタイムで働く時間に匹敵する大きな損失である。

「inode不足」がきっかけで表面化した問題

この遅延が決定的な問題として認識されたのは、ストレージの「inode(アイノード)」が枯渇した際だった。inodeとは、ファイルシステム上でファイルやディレクトリの情報を管理するためのデータ構造だ。ファイルが大量に作成されると、ディスク容量が残っていてもinodeが足りなくなり、新しいファイルが作成できなくなる。

Cloudflareの環境では、ファイルシステムを拡張することでしかinodeを増やせない仕様だった。拡張を反映させるにはPodの再起動が必要となり、そのたびに30分のダウンタイムが発生する。チームは当初、アラートの通知設定を調整して「見かけ上の問題」を回避することも検討したが、根本的な原因の調査に乗り出すことを決めた。

Kubernetesのログを深掘りして見えてきたボトルネック

Kubernetesのログを深掘りして見えてきたボトルネック

調査を開始したBraxton Schafer氏は、まずkubectl rollout restartコマンドを実行し、新しいPodが立ち上がる様子を観察した。Pod自体はすぐにスケジュールされるものの、ステータスが「Init(初期化中)」のまま30分間も停止していることが判明した。

Podのイベントログを確認しても、イメージのプルが開始されるまでに不可解な空白時間があることしかわからなかった。そこで氏は、より低レイヤーのログを確認するため、各ノードで動作するコンポーネント「kubelet(クブレット)」のログを調査した。

kubeletのログに隠された「空白の時間」

kubeletは、各ノードでPodの実行を管理し、ボリュームのマウントなどを制御する重要なエージェントだ。システム管理ツールであるKibana(キバナ)を使ってログを分析したところ、PVのマウント自体は成功しているものの、その直後にタイムアウトエラーが発生し、リトライを繰り返している様子が記録されていた。

ログには「context deadline exceeded(処理時間の制限を超過した)」というメッセージが並んでいた。何らかの処理が異常に時間を要しており、Kubernetesの監視機構がそれを「失敗」とみなして処理を中断、再試行するというループに陥っていたのだ。

数百万個のファイルが引き起こす権限変更の罠

さらに詳細なログを追うと、決定的なメッセージが見つかった。そこには「Setting volume ownership(ボリュームの所有権を設定中)」という記述があった。実はこれが、30分もの時間を浪費させていた真犯人だった。

Kubernetesには、Pod内のプロセスがボリュームにアクセスできるように、マウント時に所有権を自動で調整する機能がある。具体的には、PodのsecurityContextで指定されたfsGroupのIDに合わせて、ボリューム内の全ファイルに対して再帰的にchgrp(グループ変更)を実行する。Atlantisのようなツールは運用期間が長くなるほど管理するファイル数が増大し、Cloudflareの環境では数百万個ものファイルが蓄積されていた。高速なストレージであっても、数百万個のファイルに対して一つずつ権限を確認・変更していく処理には膨大な時間がかかるのは必然だ。

わずか1行の修正でパフォーマンスが劇的に改善

わずか1行の修正でパフォーマンスが劇的に改善

原因が「再帰的な権限変更」であると特定できれば、解決策は非常にシンプルだった。Kubernetes 1.20以降、この振る舞いを制御するための新しい設定項目が追加されている。それがfsGroupChangePolicy(エフエスグループ・チェンジ・ポリシー)だ。

デフォルトでは、このポリシーはAlways(常に実行)に設定されている。つまり、Podが起動するたびに、すでに権限が正しく設定されていようがいまいが、すべてのファイルをスキャンして権限を上書きしようとする。これが大規模なボリュームにおいて致命的な遅延を引き起こす。

fsGroupChangePolicyの設定とは

解決策は、このポリシーをOnRootMismatch(ルートディレクトリが不一致の場合のみ実行)に変更することだ。この設定にすると、Kubernetesはまずボリュームのルートディレクトリの権限を確認する。もしルートの権限がすでに正しく設定されていれば、配下のファイルに対する再帰的なスキャンをスキップする。

spec:
  template:
    spec:
      securityContext:
        fsGroupChangePolicy: OnRootMismatch

この1行をマニフェストファイルに追加するだけで、権限変更のプロセスが大幅に簡略化される。Cloudflareのケースでは、これまで30分かかっていた再起動時間が、わずか30秒にまで短縮された。実に60倍の高速化だ。

30分から30秒へ、驚異的な短縮効果

この修正により、エンジニアがデプロイの待ち時間に拘束されることがなくなった。また、再起動が長引くことによって発生していた「Podが正常に起動しない」という偽のアラートに、オンコール担当者が夜中に叩き起こされることもなくなったという。技術的には極めて単純な変更だが、組織全体の生産性に与えたインパクトは計り知れない。

大規模システムにおける「デフォルト設定」の落とし穴

大規模システムにおける「デフォルト設定」の落とし穴

今回の事例から学べる最も重要な教訓は、Kubernetesの「安全なデフォルト設定」が、規模の拡大とともに牙を向く可能性があるということだ。fsGroupによる自動的な権限変更は、初心者が権限エラーに悩まされないようにするための親切な機能として設計されている。

しかし、エンタープライズレベルの運用において、数テラバイトのデータや数百万のファイルを扱うようになると、その「親切心」がシステムの可用性を損なう要因へと変わる。これは、小規模なプロジェクトでは決して表面化しない問題だ。

小規模なら問題ないが、スケールするとボトルネックになる

多くのインフラエンジニアは、マウントが遅い場合にネットワークやストレージ装置の性能を疑う。しかし、今回のケースのように「OSレベルのファイル操作」がバックグラウンドで走っていることに気づくには、深いオブザーバビリティ(観測性)が必要だ。Braxton Schafer氏が、Kubernetesのイベントログだけでなく、kubeletのシステムログまで掘り下げたことが早期解決の鍵となった。

SRE的視点での教訓

SRE(Site Reliability Engineering / サイト信頼性エンジニアリング)の観点では、「なぜシステムはこのように振る舞うのか?」という問いを持ち続けることの重要性が再確認された。30分の待ち時間を「そういうものだ」と受け入れてしまえば、年間600時間の損失は永遠に解消されなかっただろう。

もし読者の環境でも、特定のPodの起動が異常に遅かったり、ボリュームをマウントする際にInitコンテナで止まっていたりする場合は、securityContextの設定を見直してみる価値がある。特に、大量の静的ファイルを保持するCMSや、データベースのバックアップファイルを扱うPodなどは、同様の問題を抱えている可能性が高い。

この記事のポイント

  • 原因の特定: Atlantisの再起動に30分かかっていたのは、Kubernetesがマウント時に全ファイルの所有権を再帰的に変更していたため。
  • 1行の修正: fsGroupChangePolicy: OnRootMismatch を設定することで、不要な権限変更をスキップできる。
  • 劇的な改善: Cloudflareはこの修正により、再起動時間を30分から30秒に短縮し、年間600時間の工数を削減した。
  • 教訓: 安全のためのデフォルト設定が、大規模環境では深刻なパフォーマンス低下を招くことがある。
  • 推奨アクション: 大容量PVを使用するPodでは、securityContextの設定を監査し、不必要な再帰処理を避ける設定を検討すべきだ。

出典

  • Cloudflare Blog「A one-line Kubernetes fix that saved 600 hours a year」(2026年3月26日)
Cloudflare Workflowsの可視化技術——ASTを活用したコードから図への変換プロセスを解説

Cloudflare Workflowsの可視化技術——ASTを活用したコードから図への変換プロセスを解説

Cloudflare Workflowsでデプロイされたすべてのワークフローに対し、ダッシュボード上で完全な視覚的図解(ダイアグラム)を表示する機能が追加された。この機能は、YAMLやJSONのような宣言的な設定ファイルからではなく、実際に記述されたJavaScript/TypeScriptのコードを直接解析して生成される点が最大の特徴だ。

開発者が記述したコードを「oxc-parser」を用いてAST(Abstract Syntax Tree / 抽象構文木)へと変換し、静的解析によってステップ間の依存関係や並列処理を抽出している。これにより、複雑なループや条件分岐を含む動的なワークフローであっても、その構造を一目で把握することが可能になった。

AIエージェントによるコード生成が増加する現代において、人間がコードの全容を即座に理解するための補助ツールとして、この可視化技術は極めて重要な役割を果たす。本記事では、難解な最小化済みコードからどのようにして意味のある図を導き出しているのか、その技術的な裏側を詳しく見ていく。

Cloudflare Workflowsの可視化機能とその背景

Cloudflare Workflowsの可視化機能とその背景

なぜ「コードからの可視化」が必要なのか

従来のワークフロー構築ツールの多くは、ドラッグ&ドロップのビジュアルエディタや、YAML/JSONによる宣言的な定義をベースにしていた。これらは図解しやすい反面、複雑なロジックを記述する際の柔軟性に欠けるという弱点がある。

対してCloudflare Workflowsは「コードがすべて」というモデルを採用している。Promise.allによる並列実行、複雑なforループ、条件分岐などが通常のJavaScriptとして記述できる。しかし、自由度が高い反面、コードが複雑になると全体の流れを把握するのが難しくなる。記事によれば、特にAIが生成したコードを人間が確認する際、その「形状(shape)」を視覚的に理解できるメリットは大きいという。

動的実行モデルという技術的ハードル

Workflowsは「動的実行モデル」に従っている。これは、ランタイムがコードを実行中にステップ(step.do)に遭遇するたびに、制御をエンジン(Durable Object)に渡す仕組みだ。エンジンは実行されたステップの結果を保存するが、次にどのステップが来るかを事前には知らない。

図を作成するには、実行前(デプロイ時)に全体の構造を知る必要がある。しかし、エンジンが実行時にしかステップを把握できないのであれば、静的な図を作ることはできない。そこで、Cloudflareのチームはデプロイ時にスクリプトを解析し、コードの構造を「読み解く」アプローチを選択した。

AST(抽象構文木)を用いたコード解析の仕組み

AST(抽象構文木)を用いたコード解析の仕組み

最小化されたJavaScriptという難問

デプロイされるコードは、通常esbuildrspackviteなどのツールによって「最小化(Minify)」されている。変数名はabに書き換えられ、改行は消え、人間には解読不能な1行の巨大な文字列となる。この状態からワークフローのステップを抽出するのは容易ではない。

AST(Abstract Syntax Tree / 抽象構文木)とは、プログラミング言語の構文構造を樹木構造で表現したデータ形式だ。コードをトークンに分解し、どの関数がどの引数で呼び出されているかを構造的に把握できる。Cloudflareは、このASTを利用して最小化されたコードのジャングルからstep.dostep.sleepといった特定の呼び出しを特定している。

高速な解析を実現するoxc-parserの採用

解析エンジンには、Rust製の高速なJavaScriptツールチェーンである「OXC(JavaScript Oxidation Compiler)」のoxc-parserが採用された。当初はコンテナ上でRustを動かしていたが、最終的にはWebAssembly(Wasm)を介してCloudflare Workers上で動作するRust Workerへと移行されたという。

このRust Workerが最小化されたJSをASTに変換し、定義されたノードタイプ(LoopNode, ParallelNode, IfNodeなど)にマッピングしていく。以下に、コードがどのようにASTを経て図の要素へ変換されるかの概念図を示す。

Source Code
step.do('task', ...)
AST Node
CallExpression: step.do
Diagram
[ Step Node ]

このデモは、ソースコードがAST解析を経て、最終的にダッシュボード上の視覚的なステップノードへとマッピングされる流れを視覚化したものだ。

複雑なロジックをグラフ構造にマッピングする手法

複雑なロジックをグラフ構造にマッピングする手法

並列処理を表現する「開始」と「解決」のインデックス

Workflowsにおいて最も表現が難しいのが、並列処理だ。JavaScriptではawaitを付けずにステップを呼び出すと並列に実行され、Promise.allでそれらをまとめて待機できる。これを図にするため、Cloudflareのチームは各ノードにstartsresolvesというフィールドを持たせた。

解析中にawaitされていないPromiseに遭遇すると、そのノードに「開始(starts)」のインデックスを付与する。その後、awaitに遭遇した時点でインデックスを増やし、「解決(resolves)」として記録する。この数値の重なりを見ることで、どのステップが垂直方向に並ぶべきか(=並列か)、どのステップが完了を待って次に進むべきかを正確に判定している。

制御構文(ループ・分岐)のパターン網羅

単なる直線的なフローだけでなく、実務では多様な構文が使われる。著者のAndré氏とMia氏は、以下のような多岐にわたるパターンをASTから抽出できるように設計したと述べている。

  • ループ: for...of, while, items.map, forEach
  • 分岐: switch/case, if/else, 三項演算子
  • エラーハンドリング: try/catch/finally
  • 関数呼び出し: ステップをラップした関数の追跡

特に、関数の中に隠れたステップの追跡は工夫が必要だ。ある関数が直接ステップを呼び出していなくても、その中で呼び出している別の関数がステップを含んでいる場合、その依存関係をグラフに含める必要がある。記事によれば、関数ごとのサブグラフを作成し、最終的にステップを含まない「葉」の部分をトリミングすることで、ノイズのない図を実現している。

開発体験(DX)における可視化の価値と今後の展望

開発体験(DX)における可視化の価値と今後の展望

デバッグ効率を劇的に高めるリアルタイム追跡

この可視化機能は単なる「清書された図」ではない。Cloudflareは、これをフルサービスのデバッグツールへと進化させる計画だ。具体的には、実行中のワークフローが今どのノードにいるのかをグラフ上でリアルタイムに追跡できるようにするという。

エラーが発生した場所の特定、人間による承認待ちの状態確認、あるいはテスト目的での特定ステップのスキップなど、ビジュアルインターフェースを通じて操作できる未来を目指している。さらに、ローカル開発環境での可視化も視野に入れているとのことで、開発サイクル全体での利便性向上が期待される。

独自の分析:コードを「正解」とするアプローチの意義

独自の分析:コードを「正解」とするアプローチの意義

今回のCloudflareの取り組みで特筆すべきは、「ビジュアルエディタで作ったものをコードに書き出す」のではなく、「コードからビジュアルを逆生成する」という方向性を徹底している点だ。これは、エンジニアにとっての真実の源泉(Source of Truth)が常にコードであることを尊重している。

このアプローチの利点は、Gitによるバージョン管理やコードレビューといった既存の開発フローと完全に共存できることにある。図を作成するために特別な設定ファイルを書く必要がなく、普段通りにコードを書くだけで、非エンジニアのステークホルダーにも共有しやすい図が手に入る。これは、開発組織におけるコミュニケーションコストを大幅に下げる可能性を秘めている。

また、AST解析という「枯れた」技術を、最小化されたJSという「汚れた」実データに適用し、それをWasmでエッジ上で高速実行するという構成は、非常にCloudflareらしい合理的でパワフルな解決策だと言えるだろう。

この記事のポイント

  • コードから図を自動生成: Cloudflare Workflowsは、JS/TSコードを解析して視覚的な図を自動作成する。
  • AST(抽象構文木)の活用: 最小化された難解なコードも、AST解析によって構造的に理解し、ステップを抽出する。
  • oxc-parserによる高速処理: Rust製の解析器をWasmで動かすことで、デプロイ時の高速な図解生成を実現した。
  • 並列処理の可視化: startsresolvesというインデックスを用いて、複雑な並列実行の関係を正確に図示する。
  • デバッグツールへの進化: 今後はリアルタイムの実行追跡や、図からの操作機能も追加される予定だ。

出典

  • Cloudflare Blog「How we use Abstract Syntax Trees (ASTs) to turn Workflows code into visual diagrams」(2026年3月27日)
AIエージェント実行を100倍高速化。Cloudflare Dynamic Worker Loaderの革新性

AIエージェント実行を100倍高速化。Cloudflare Dynamic Worker Loaderの革新性

AIエージェントが自らコードを書き、それを実行してタスクを完結させる「コード実行型」のワークフローが注目を集めている。しかし、AIが生成したコードを安全に動かすには、メインのシステムから隔離された「サンドボックス」が不可欠だ。

Cloudflareは2026年3月24日、このサンドボックスをオンデマンドで、かつ従来のコンテナ技術より100倍高速に起動できる「Dynamic Worker Loader」のオープンベータ公開を発表した。V8 Isolate技術を基盤とすることで、ミリ秒単位の起動と圧倒的なリソース効率を実現している。

この記事では、Dynamic Worker LoaderがなぜAIエージェントのスケールにおいて重要なのか、そしてエンジニアがどのようにこれを活用できるのかを詳しく解説する。

AIエージェントの安全性を支える「サンドボックス」の課題

AIエージェントの安全性を支える「サンドボックス」の課題

AIエージェントがAPIを呼び出す際、単なる「ツール呼び出し(Tool Calling)」ではなく、コードを生成して実行させる手法は、トークン消費量を大幅に削減できることが分かっている。記事によれば、TypeScript APIを使用することで、トークン使用量を最大81%削減できた例もあるという。

なぜAI生成コードの直接実行は危険なのか

AIが生成したコードをアプリケーション内で直接実行(evalなど)することは、セキュリティ上の致命的なリスクとなる。悪意のあるユーザーがプロンプトを通じて脆弱性を注入し、システムの機密情報にアクセスしたり、不正な操作を行ったりする可能性があるからだ。

そのため、コードを実行する場所は、アプリケーションや他の環境から完全に隔離された「サンドボックス(砂場)」でなければならない。サンドボックスとは、特定の権限やリソースのみにアクセスを制限した実行環境のことだ。

既存のコンテナ技術が抱える「重さ」の壁

これまで、サンドボックスの構築にはDockerなどのLinuxコンテナが一般的に使われてきた。しかし、コンテナには大きな弱点がある。起動に数百ミリ秒から数秒かかり、メモリ消費量も数百MB単位と「重い」ことだ。

数百万人のユーザーがそれぞれAIエージェントを動かすようなコンシューマー規模のサービスでは、コンテナを都度立ち上げるコストは無視できない。かといって、セキュリティのためにコンテナを使い回さず、リクエストごとにクリーンな環境を用意しようとすると、パフォーマンスとコストの両面で限界に突き当たる。

Dynamic Worker Loader:V8 Isolateによる100倍速の革新

Dynamic Worker Loader:V8 Isolateによる100倍速の革新

Cloudflareが提供する「Dynamic Worker Loader」は、この「重さ」の問題を根本から解決する。その鍵となるのが、Google Chromeでも採用されているJavaScript実行エンジン「V8」の「Isolate(アイソレート)」という仕組みだ。

起動時間は数ミリ秒、メモリ消費も最小限

Isolateは、OSレベルの仮想化であるコンテナとは異なり、プロセス内でメモリを論理的に分離する。これにより、起動時間はわずか数ミリ秒、メモリ消費も数MB程度に抑えられる。著者のKenton Varda氏らは、これが一般的なコンテナと比較して「100倍高速で、10〜100倍メモリ効率が良い」と指摘している。

この軽量さにより、1つのリクエストごとに新しいサンドボックスを生成し、実行が終わったら即座に破棄するという運用が現実的になる。同時並行で数百万のリクエストが発生しても、Cloudflareのインフラ上でシームレスにスケール可能だ。

世界数百拠点でのゼロレイテンシ実行

Dynamic Worker Loaderで生成されたワーカーは、通常、それを作成した親ワーカーと同じマシン、あるいは同じスレッド上で動作する。そのため、遠くのサーバーにある「ウォーム状態のコンテナ」を探しに行く必要がない。

Cloudflareが世界中に持つ数百の拠点すべてで動作するため、ユーザーに最も近い場所で、遅延(レイテンシ)をほぼ感じさせることなくAIコードを実行できるのが強みだ。

TypeScript RPCによる効率的なAPI連携

TypeScript RPCによる効率的なAPI連携

AIエージェントが外部のAPIと通信する際、従来はOpenAPI(REST)などの定義ファイルが使われてきた。しかし、Dynamic Worker Loaderでは、より簡潔な「TypeScript」による定義を推奨している。

OpenAPIより優れたトークン効率

OpenAPIの定義ファイルは冗長になりがちで、LLM(大規模言語モデル)に読み込ませる際のトークン消費が激しい。一方、TypeScriptのインターフェース定義は非常にコンパクトだ。AIにとっても理解しやすく、少ないトークン数でAPIの仕様を正確に伝えられる。

Dynamic Worker Loaderは「Cap’n Web RPC」という技術を使って、サンドボックス内のエージェントと親ワーカーの間で高速な通信を行う。エージェント側からは、あたかもローカルライブラリを使っているかのように、型安全なメソッド呼び出しが可能になる。

認証情報の注入とセキュアな外部接続

セキュリティ面でも、このRPCモデルは有利に働く。例えば、外部サービスへの認証トークンをエージェントに直接教える必要はない。エージェントがHTTPリクエストを送る際、親ワーカー側でリクエストをインターセプト(傍受)し、そこで認証ヘッダーを付与する「Credential Injection(認証情報の注入)」が可能だからだ。

これにより、万が一AIが生成したコードに悪意があったとしても、生の認証情報がエージェント側に漏洩するリスクを最小限に抑えられる。

AI開発を加速させる3つの公式ヘルパーライブラリ

AI開発を加速させる3つの公式ヘルパーライブラリ

Cloudflareは、Dynamic Worker Loaderをより使いやすくするために、3つの強力なヘルパーライブラリを提供している。これらを組み合わせることで、高度なAIエージェント環境を短期間で構築できる。

コード実行を簡略化する「Code Mode」

@cloudflare/codemodeは、LLMが生成したコードの実行を管理するライブラリだ。コードの正規化(フォーマットエラーの修正)や、fetch()の挙動制御を簡単に行える。完全に隔離された状態(ネットワークアクセス禁止)から、特定のプロキシ経由の通信まで、柔軟に設定可能だ。

ランタイムでのバンドルを可能にする「Worker Bundler」

Dynamic Workerは、依存関係が解決された「バンドル済み」のモジュールを必要とする。@cloudflare/worker-bundlerを使えば、実行時にnpmパッケージを含むソースコードをバンドルできる。例えば、Honoなどの軽量フレームワークをAIエージェントに使わせることも容易だ。

仮想ファイルシステムを提供する「Shell」

@cloudflare/shellは、サンドボックス内に仮想的なファイルシステムを提供する。エージェントはファイルの読み書き、検索、置換、diffの取得などが可能になる。ストレージの実体はSQLiteやR2(Cloudflareのオブジェクトストレージ)に保存されるため、実行を跨いでファイルを永続化させることもできる。

実務への応用とコストパフォーマンスの分析

実務への応用とコストパフォーマンスの分析

Dynamic Worker Loaderの導入は、AIアプリケーションのアーキテクチャに大きな変革をもたらす。筆者の分析によれば、特に以下の3つの分野で大きなメリットがある。

第一に、「Tool Calling」のオーバーヘッド削減だ。従来のように、AIが1つずつツールを呼び出して結果を待ち、次のアクションを決めるループを繰り返すと、その都度コンテキストが膨らみ、レイテンシも増大する。Dynamic Workerを使えば、AIが「一連の処理をまとめたスクリプト」を一度に書き、それを実行するだけで済む。これは、大規模なAPIセットを持つシステムほど効果が高い。

第二に、コスト効率の劇的な向上だ。Dynamic Workerの料金は、ロード1回につき0.002ドル(ベータ期間中は無料)に、通常のCPU使用料が加算される仕組みだ。これはLLMの推論コストと比較すれば微々たるものだ。重いコンテナを常時起動させておく「ウォームスタンバイ」のコストから解放される意味は大きい。

第三に、プロトタイピングの高速化だ。Ziteなどの企業がすでに導入しているように、ユーザーの要望に応じてその場でCRUDアプリや自動化ロジックを生成し、即座にデプロイして動かすような「AIネイティブなPaaS」の構築が容易になる。

この記事のポイント

  • 100倍の高速化: V8 Isolateにより、コンテナより圧倒的に速く軽量なサンドボックスを実現。
  • セキュアな隔離: AI生成コードをメインシステムから分離し、安全にオンデマンド実行できる。
  • 高いトークン効率: TypeScript RPCを活用し、冗長なOpenAPI定義を避けてコストを削減。
  • 充実のライブラリ: コード実行、バンドル、ファイル操作を支援する公式ツールが提供されている。
  • スケーラビリティ: Cloudflareのグローバルネットワーク上で、数百万のリクエストに即座に対応可能。

出典

  • Cloudflare Blog「Sandboxing AI agents, 100x faster」(2026年3月24日)
VPNからCloudflare Oneへ——レガシー環境を安全にSASEへ移行するための戦略的ロードマップ

VPNからCloudflare Oneへ——レガシー環境を安全にSASEへ移行するための戦略的ロードマップ

ネットワークエンジニアにとって、既存のVPN環境を新しいアーキテクチャへ切り替える週末は、キャリアの中でも最もストレスのかかる48時間になりかねない。数万人規模の組織が、千を超えるレガシーアプリケーションを断片化されたVPNから新環境へ一斉に移行しようとすれば、そのリスクは計り知れないものになる。

設定ミス一つで基幹サービスが停止し、業務が停滞する恐怖は、多くの組織がZero Trust(ゼロトラスト)への移行を躊躇する最大の要因だ。ゼロトラストとは「何も信頼しない」ことを前提に、すべてのアクセスを検証するセキュリティモデルを指す。本記事では、Cloudflareが提唱する「ビッグバン」を避けた、安全でアジャイルなSASE移行の戦略について解説する。

SASE(Secure Access Service Edge / サシー)は、ネットワーク機能とセキュリティ機能をクラウド上で統合して提供する枠組みだ。この記事を読むことで、レガシーなインフラを抱える企業が、いかにしてダウンタイムなしに最新のセキュリティポスチャ(セキュリティの状況や姿勢)へと進化できるかが理解できるだろう。

なぜレガシーVPNからの脱却は「ビッグバン」ではいけないのか

なぜレガシーVPNからの脱却は「ビッグバン」ではいけないのか

従来のネットワーク移行でよく見られる失敗は、ネットワークを単なる「配管」として扱ってしまうことだ。元記事の著者であるWarnessa Weaver氏は、多くの組織がアプリケーション間の複雑な依存関係を理解せずに、数百のアプリを一斉に移動させる「リフト・アンド・シフト」の罠に陥っていると指摘している。

ネットワークを単なる「配管」と捉えるリスク

多くの企業において、ネットワークは単にデータを運ぶ土台ではなく、アプリケーションやデータベースが密接に絡み合ったエコシステムとなっている。ある公共部門のプロジェクトでは、4,000以上のアプリケーションのうち500個を一度に移行しようとした結果、システム全体に深刻なサービス中断が発生したという。これは、バックエンドの依存関係を精査せずに移行を強行した典型的な失敗例だ。

依存関係の把握不足が招くサービス停止の連鎖

VPN(Virtual Private Network)は、一度認証されるとネットワーク全体へのアクセスを許可する「境界型セキュリティ」に基づいている。これに対し、SASEへの移行は、アプリケーションごとにアクセス権限を細かく設定する「最小権限の原則」への移行を意味する。事前の調査なしにこの制限を適用すると、本来必要だった内部APIの呼び出しやデータベース接続が遮断され、アプリが正常に動作しなくなる。エンジニアは、移行を「配管の交換」ではなく「アプリケーションの近代化プロジェクト」として捉える必要がある。

Cloudflare Accessによるレガシーアプリケーションの「ラッピング」

Cloudflare Accessによるレガシーアプリケーションの「ラッピング」

移行のリスクを抑えるための鍵は、既存のアプリケーションを書き換えることなく、最新のセキュリティ層で「包み込む(ラッピングする)」ことだ。これには、Cloudflare Accessというツールが活用される。

コードを書き換えずにMFAを導入する仕組み

多くの古い(レガシーな)社内アプリには、多要素認証(MFA / Multi-Factor Authentication)の機能が備わっていない。MFAとは、パスワードだけでなく、スマホの承認や物理キーなど複数の手段で本人確認を行う仕組みだ。通常、これらを導入するにはアプリのコード修正が必要だが、Cloudflare Accessを使えば、アプリの前段に認証ゲートウェイを設置できる。これにより、アプリ自体は古いまま、最新のSSO(Single Sign-On)やMFAを強制することが可能になる。

Cloudflare Tunnelで外部からの攻撃面を最小化する

さらに、Cloudflare Tunnelという技術を組み合わせることで、セキュリティはより強固になる。これは、社内サーバーからCloudflareのネットワークに向かって「外向き」の接続を確立する仕組みだ。サーバーにパブリックIPアドレスを割り当てる必要がなくなるため、インターネット上からサーバーの存在自体を隠すことができる。攻撃者がスキャンしても入り口が見つからない状態、つまり「攻撃面(アタックサーフェス)」がほぼゼロになるのだ。

成功率を高めるための「4つの事前監査」とティア分け

成功率を高めるための「4つの事前監査」とティア分け

移行を開始する前に、ITリーダーは環境の「建築的準備」を整える必要がある。CDWのセキュリティエグゼクティブであるEric Marchewitz氏によれば、十分な準備なしに最小権限アクセスを適用すると、多くのレガシーアプリが動作しなくなる可能性があるからだ。

IDプロバイダーと依存関係の徹底的な洗い出し

まず最初に行うべきは、アイデンティティ(ID)とアーキテクチャのアセスメントだ。Oktaのようなクラウド型IDプロバイダーを利用しているアプリと、古いローカルディレクトリを使っているアプリを仕分ける。同時に、バックエンドのデータベースやAPIの依存関係をマップ化する。このデータがあれば、切り替え時にどのAPIコールが切断されるかを事前に予見し、対策を講じることができる。

アプリケーションの複雑度に応じた4段階のティア管理

元記事では、アプリケーションをその技術的複雑さに応じて4つの「ティア(階層)」に分類することを推奨している。これにより、現実的な移行スケジュールを立てることが可能になる。

ティア説明推定移行工数
ティア 0 (モダンSaaS)SAML/OIDC対応。CloudflareがIDプロバイダーとして機能する1アプリあたり1〜3時間
ティア 1 (内部Webアプリ)標準的なWebプロトコル。Cloudflare Tunnelでリバースプロキシ化1アプリあたり3〜6時間
ティア 2 (非Webアプリ)特定のポートや厚いクライアントが必要。専用クライアントを使用1アプリあたり4〜8時間
ティア 3 (レガシー基幹)P2Pや双方向通信が必要。WANデプロイメントなどの補完が必要1アプリあたり1〜3日
表1:アプリケーションの複雑度に応じたティア分類(元記事の内容を基に作成)

段階的な移行を実現する「3フェーズ」のロードマップ

段階的な移行を実現する「3フェーズ」のロードマップ

レガシーハードウェアからの「脱出速度」を得るために、CDWとCloudflareは、一斉置換ではなく「共存」を優先する段階的なロールアウトを提案している。

戦略策定からパイロット導入までのステップ

第1フェーズでは、戦略チームと実装チームを分離して組織する。第2フェーズでは、少数の従業員グループ(パイロットグループ)に対してCloudflare Oneクライアントを導入する。ここで重要なのは、セキュリティ強化による「遅延(レイテンシ)」がユーザー体験を損なわないかを確認することだ。Cloudflareは世界中にエッジ拠点を持っているため、多くの場合はVPNよりも高速な接続が期待できるが、実環境での検証は欠かせない。

VPNとCloudflare Oneを併用する「デュアルクライアント」期間

第3フェーズの生産スケールでは、既存のVPNとCloudflare Accessを一時的に併用する「デュアルクライアント」期間を設ける。これにより、万が一新環境で問題が発生しても、すぐに旧環境へロールバックできる安全策を確保する。ユーザーは徐々に新しいアクセス手法に慣れていくことができ、IT部門のサポート負担も分散される。このアプローチは、日本の企業における慎重なシステム移行プロセスとも非常に相性が良いと言えるだろう。

パフォーマンスと将来性——セキュリティを高速化の武器にする

パフォーマンスと将来性——セキュリティを高速化の武器にする

セキュリティを強化すると動作が重くなる、という考えはもはや過去のものだ。Cloudflareのシングルパス・アーキテクチャは、すべてのセキュリティチェックを同時に実行するため、効率的なデータ処理が可能だ。

シングルパス・アーキテクチャによる遅延の解消

従来のセキュリティ対策では、ファイアウォール、ウイルススキャン、DLP(データ漏洩防止)などの各装置をデータが順番に通過するため、その都度遅延が発生していた。Cloudflareのアーキテクチャでは、これらをクラウド上の1回のパスで処理する。Cloudflare One GTM責任者のAnnika Garbers氏は、この「接続クラウド」への移行が、セキュリティチームがボトルネックになるのを防ぎ、運用速度を劇的に向上させると述べている。

ポスト量子暗号への対応と将来の脅威への備え

さらに、このプラットフォームは将来の脅威にも備えている。量子コンピュータが実用化されると、現在の暗号技術の多くが突破されるリスクがある。Cloudflareは既に「ポスト量子暗号(PQC / Post-Quantum Cryptography)」に対応した基盤を構築しており、今移行することは、将来的な脅威に対する防御を先行して手に入れることを意味する。一度クラウドベースのSASEに移行してしまえば、こうした最新技術の恩恵を、ハードウェアの買い替えなしに受け続けられるのが大きなメリットだ。

この記事のポイント

  • ビッグバン移行を避ける:一斉切り替えはリスクが高すぎるため、段階的な「共存」モデルを採用すべきだ。
  • ラッピングで近代化:レガシーアプリのコードを直さず、Cloudflare AccessでMFAやSSOを追加できる。
  • 徹底した事前監査:IDプロバイダーの確認とアプリのティア分けが、移行の成功率を左右する。
  • パフォーマンスの向上:シングルパス・アーキテクチャにより、セキュリティ強化と高速化を両立できる。
  • 将来への備え:クラウド型SASEなら、ポスト量子暗号などの最新機能を即座に利用可能だ。

出典

  • Cloudflare Blog「From legacy architecture to Cloudflare One」(2026年3月13日)
Cloudflareが「Custom Regions」発表。データ処理の地理的境界を自在に定義、ISMAP対応も拡充

Cloudflareが「Custom Regions」発表。データ処理の地理的境界を自在に定義、ISMAP対応も拡充

Cloudflare(クラウドフレア)は2026年3月18日、同社の「Regional Services(リージョナル・サービス)」の大幅なアップデートを発表した。今回の更新では、特定の国や地域を自由に組み合わせてデータ処理の境界を定義できる「Custom Regions(カスタム・リージョン)」が導入された。

また、日本政府のセキュリティ評価制度である「ISMAP」への対応を含む、新しい管理リージョンの追加も行われている。これにより、企業はグローバルなDDoS防御の恩恵を受けつつ、各国の法規制やコンプライアンスに基づいた厳格なデータ局所化が可能になる。

データ主権(データ・ソブリンティ)への要求が世界的に高まる中、今回の機能拡張はインフラ構成の柔軟性を大きく向上させるものだ。記事によれば、従来の固定された地域選択から、個別のビジネスニーズに合わせた「独自の境界線」を引くフェーズへと移行したことが示唆されている。

Regional Servicesの仕組み:防御とコンプライアンスの両立

Regional Servicesの仕組み:防御とコンプライアンスの両立

Cloudflareが提供するRegional Servicesは、グローバルネットワークの規模を活かしたセキュリティと、特定の地域内でのデータ処理という、一見相反する要素を両立させる仕組みだ。一般的なソブリンクラウド(主権クラウド)が特定の地域にインフラを隔離するのに対し、Cloudflareはネットワーク全体で攻撃を防ぎつつ、データの「中身」を扱う場所だけを限定する手法をとる。

グローバルなDDoS防御とローカル処理の共存

トラフィックの処理フローは、大きく4つの段階に分かれている。まず、ユーザーに最も近い世界各地のデータセンターでトラフィックを受け入れ、L3/L4(ネットワークおよびトランスポート層)レベルでのDDoS防御を即座に実行する。DDoS防御とは、大量の不要なデータを送りつけてサイトをダウンさせる攻撃を防ぐ仕組みであり、これを世界規模のネットワークで受けることで、攻撃を効率的に分散・無効化できる。

次に、パケットのメタデータを検査し、指定されたリージョン外のデータセンターに届いた場合は、Cloudflareのプライベートバックボーンを経由して指定リージョン内のデータセンターへと転送される。ここで重要なのは、この段階ではまだデータの復号(暗号化の解除)が行われていない点だ。

データの復号、つまりTLS(Transport Layer Security)の終端と、WAF(Web Application Firewall)によるL7(アプリケーション層)の検査、およびCloudflare Workersによるロジックの実行は、必ず指定されたリージョン内のデータセンターで行われる。これにより、機密性の高いデータの解析や処理を特定の地理的境界内に閉じ込めることが可能になる。最終的に、処理されたリクエストは再度暗号化され、オリジンサーバーへと送られる。

Custom Regionsによる柔軟なデータ制御

Custom Regionsによる柔軟なデータ制御

2020年の提供開始以来、Regional Servicesは欧州、英国、米国などの固定されたリージョンを提供してきた。しかし、各国の規制は複雑化しており、単一の国や特定の組み合わせでのデータ処理を求める声が強まっていた。これに応える形で登場したのがCustom Regionsだ。

独自の地理的境界を定義する「式」の活用

Custom Regionsでは、リストから地域を選ぶのではなく、開発者が「式(Expression)」を用いて処理場所を定義する。例えば、ISOコード(国コード)を使用して、特定の国を含める、あるいは除外するといった柔軟な設定が可能だ。記事では、以下のような定義例が示されている。

  • 単一の国のみ(例:トルコのみ)
  • 複数の国の組み合わせ(例:ドイツ、フランス、オランダ)
  • 特定の国を除外(例:北米以外すべて)

この定義はCloudflareのインフラ全体に配布され、各データセンターが「自分はこのカスタムリージョンに含まれるか」を即座に判断する。インフラが拡張され、新しいデータセンターが稼働した場合も、条件に合致すれば自動的にリージョンに組み込まれるため、運用負荷が低いのも特徴だ。

実務における具体的な活用シナリオ

Custom Regionsの柔軟性は、法規制対応以外の場面でも威力を発揮する。著者のAndrew Berglund氏らは、早期アクセスユーザーによる活用例として、AI推論のリージョン化を挙げている。大規模言語モデル(LLM)へのプロンプトや応答を特定の国々に留めることで、パフォーマンスの最適化とデータ局所化の義務を同時に果たしているという。

また、政府機関との契約に基づいた特定の境界設定や、企業の組織構造(EMEA、APACなど)に合わせたガバナンスの適用にも利用されている。温度単位に華氏を使う国々(米国、バハマなど)といった、極めて特殊なグループ化さえも理論上は可能であり、ビジネス要件に合わせた「境界の設計」が可能になったと言える。

技術的アーキテクチャの深掘り

技術的アーキテクチャの深掘り

Custom Regionsがどのようにして最適なパフォーマンスと信頼性を維持しているのか、その裏側にはCloudflare独自のルーティング技術がある。単にデータを転送するだけでなく、リアルタイムのネットワーク品質を考慮した動的な決定が行われている。

最適なインレジョン・ルーティングの算出

リクエストがリージョン外のデータセンターに届いた際、どのリージョン内データセンターに転送すべきかの判断は、2段階のプロセスで行われる。まず、定義されたリージョンのメンバーセット(どのデータセンターが対象か)を特定する。次に、流入地点から見て最もパフォーマンスが高い転送先のリストを作成する。

このランキングは物理的な距離だけでなく、遅延(レイテンシ)、パケットロス、タイムアウトなどのネットワーク品質指標、さらには各拠点のキャパシティや負荷状況、稼働ステータスを基に算出される。この情報は「Quicksilver」と呼ばれるCloudflare独自の分散キーバリューストアを介して、エッジネットワーク全体に瞬時に共有される仕組みだ。

境界の強制とエラーハンドリング

Regional Servicesの設計思想において、レジリエンス(回復力)と境界の強制は最優先事項だ。ルーティング時には複数の候補地が考慮され、特定の拠点がダウンしている場合は、リアルタイムで次善の候補へとフェイルオーバー(切り替え)が行われる。ネットワークの監視データが不十分な場合は、新しいルーティング情報の更新を停止するなどの安全策も講じられている。

特筆すべきは「フェイル・クローズ(Fail-close)」設計だ。もし有効なリージョン内の転送先が一つも見つからない場合、リージョン外で処理を継続するのではなく、接続をエラーとして遮断する。これにより、意図しない場所でデータが復号されるリスクを物理的に排除している。

日本のISMAP対応と管理リージョンの拡大

日本のISMAP対応と管理リージョンの拡大

今回のアップデートでは、Custom Regionsだけでなく、Cloudflareが定義・管理する「Managed Regions」も拡充された。新たにトルコ、アラブ首長国連邦(UAE)、オーストラリアのIRAP、そして日本のISMAPに対応したリージョンが追加され、合計で35のリージョンが利用可能となっている。

ISMAP(Information System Security Management and Assessment Program)とは、日本政府がクラウドサービスのセキュリティを評価するための制度だ。政府機関がクラウドを採用する際の基準となるものであり、民間企業にとっても信頼性の高いサービスの指標となっている。CloudflareがISMAP対応リージョンを明示したことは、日本の公共セクターや厳格なコンプライアンスを求める金融、インフラ企業にとって、導入の大きな後押しとなるだろう。

これらの管理リージョンは、Cloudflareの管理画面(ダッシュボード)やAPIから標準的な手順で有効化できる。一方で、独自の定義が必要なCustom Regionsについては、現時点ではセルフサービス形式ではなく、アカウントチームとの連携による個別設定が必要となる。将来的なセルフサービス化に向けた技術開発も継続されているとのことだ。

独自の分析:データ主権時代のインフラ戦略

独自の分析:データ主権時代のインフラ戦略

Cloudflareの今回の発表は、エッジコンピューティングの役割が「高速化」から「統治(ガバナンス)」へと進化していることを象徴している。かつてのCDN(Content Delivery Network)は、いかにコンテンツを速く届けるかが主眼であったが、現代のWebインフラには「どこでデータを扱うか」という法的な正確性が求められている。

Custom Regionsが提供する「式による境界定義」は、コードによるインフラ管理(IaC)の流れを汲むものだ。地理的な境界をソフトウェア的に定義できるようになったことで、国境という物理的な制約を、アプリケーションのロジックと同じ柔軟さで扱えるようになった。これは、GDPR(欧州一般データ保護規則)などの地域特有の規制と、インターネットのボーダレスな利便性を橋渡しする重要な技術的解決策と言える。

特に日本市場においては、ISMAP対応の明文化が大きな意味を持つ。国内のレンタルサーバーやクラウドから、グローバルなエッジサービスへの移行を検討する際、最大の懸念事項であった「セキュリティ基準の適合」と「データの所在」がクリアされたからだ。今後は、グローバルなDDoS耐性を維持しつつ、日本の法域内で全ての重要処理を完結させる構成が、エンタープライズWebサイトの標準となっていくのではないだろうか。

この記事のポイント

  • Cloudflareが「Custom Regions」を導入し、国単位でデータ処理の境界を自由に定義可能になった。
  • 世界規模のDDoS防御を維持しつつ、TLS終端やWAF検査などのL7処理を指定地域内に限定できる。
  • 日本政府のセキュリティ評価制度「ISMAP」に対応した管理リージョンが追加された。
  • 独自のルーティング技術により、リージョン内での最適なパフォーマンスと、フェイル・クローズによる安全性を両立している。
  • データ主権の確保とグローバルなセキュリティ対策を、一つのプラットフォームでシームレスに実現できる。

出典

  • Cloudflare Blog「Introducing Custom Regions for precision data control」(2026年3月18日)