Zenn
Gemcook Tech Blog
🗞️

週刊Cloudflare - 2025/03/09週

2025/03/20に公開

こんにちは、あさひです 🙋‍♂️ 今週の Cloudflare のアップデートをまとめていきます!

この記事の主旨

この記事では、Cloudflare のサービスにどんな変更があったかをざっくりと理解してもらい、サービスに興味を持ってもらうことを目的としています。そのため、変更点を網羅することを優先します。

2025/03/09 ~ 2025/03/15 の変更

Wrangler

4.0.0

メジャーバージョンwrangler@4.0.0をリリースされました。このバージョンでは、内部システムや依存関係の更新を行い、より一貫性のある CLI 体験を提供します。

変更点

  • いくつかのコマンドが見直しにより、使いやすさが向上。
  • Wrangler v3 のサポートは以下のスケジュールで終了予定。
    • 2026 年第 1 四半期まで: バグ修正とセキュリティアップデートを提供
    • 2027 年第 1 四半期まで: 重大なセキュリティアップデートのみ提供
    • その後: サポート終了

Workers

Workers でのprocess.envサポートの拡大

Workers におけるprocess.envのサポートを強化しました。これにより、nodejs_compat互換性フラグを使用する際、環境変数やシークレットをprocess.envオブジェクトから直接取得できるようになりました。従来、Workers ではprocess.envオブジェクトは空のままとなり、環境変数を参照する Node.js のコードを移行する際に互換性の問題が発生することがありました。今回のアップデートにより、Workers 内で実行されるコードでも環境変数を直接参照できるようになり、Node.js アプリケーションをよりスムーズに移植できるようになりました。

この機能を利用するには、wrangler.jsonまたはwrangler.tomlに特定の互換性フラグを追加する必要があります。また、2025 年 4 月 1 日以降は、nodejs_compatが有効で、Worker のcompatibility_dateが"2025-04-01"以降の場合、process.envの自動設定がデフォルトの動作となります。

wrangler 設定例
wrangler.json
{
  "compatibility_flags": ["nodejs_compat", "nodejs_compat_populate_process_env"]
}
wrangler.toml
compatibility_flags = ["nodejs_compat", "nodejs_compat_populate_process_env"]

Vitest を使用したブレークポイントデバッグのサポート

以下のコマンドを実行することで、Vitest integration を使って Workers のテストをデバッグできるようになりました

vitest --inspect --no-file-parallelism

ポート 9229 にデバッガーをアタッチして Workers テストをステップ実行可能になりました。 @cloudflare/vitest-pool-workers v0.7.5 以降で利用可能です。

https://developers.cloudflare.com/workers/testing/vitest-integration/

Stream

Stream Live の WHIP/WHEP が Cloudflare Realtime(Calls) を基盤とした新しい実装へと段階的に移行されるようです。今回のアップグレードにより、再生体験の向上が期待される ほか、一部のエラーハンドリングやステータス報告の挙動が変更される可能性があるみたいですね。

https://developers.cloudflare.com/stream/webrtc-beta/

Load Balancing

2025 年 3 月 13 日 9:00 より、Cloudflare のインフラ改善に伴い、一部のユーザーで ロードバランシングのリクエスト率が分析データ上で低下する可能性があったようです。(記事公開時点で実施済み)

Email Routing

Email Workers でのスレッド返信対応と制限緩和

Email Routing の制限を一部緩和し、AI エージェントやタスク自動化がメールワークフローをより適切に処理できるようになりました。これにより、Workers スクリプトが受信メールに返信し、スレッド形式の会話を維持することが可能となりました。

  • 変更点

    • Email Worker スクリプトが受信メールに返信し、スレッド形式の会話を維持できます。
  • 制限事項

    • 受信メールには有効な DMARC が必要。
    • 同じEmailMessageイベント内での返信は 1 回のみ許可。
    • 返信の受信者は、元の送信者と一致する必要。
    • 送信者のドメインは、受信したドメインと同一である必要あり。
    • Email Routing や他の MTA を経由するたびに、Referencesリストにエントリが追加されます。100 を超えるReferencesエントリがあるメールへの返信は誤ったループや濫用を防ぐため不可。
AI モデルを使用した Email Worker の返信例
import PostalMime from "postal-mime";
import { createMimeMessage } from "mimetext";
import { EmailMessage } from "cloudflare:email";

export default {
  async email(message, env, ctx) {
    const email = await PostalMime.parse(message.raw);
    const res = await env.AI.run('@cf/meta/llama-2-7b-chat-fp16', {
      messages: [{
        role: "user",
        content: email.text ?? ''
      }]
    });

    const response = createMimeMessage();
    response.setHeader("In-Reply-To", message.headers.get("Message-ID")!);
    response.setSender("agent@example.com");
    response.setRecipient(message.from);
    response.setSubject("Llama response");
    response.addMessage({
      contentType: 'text/plain',
      data: res instanceof ReadableStream ? await new Response(res).text() : res.response!
    });

    const replyMessage = new EmailMessage("<email>", message.from, response.asRaw());
    await message.reply(replyMessage);
  }
} satisfies ExportedHandler<Env>;

Zero Trust WARP Client

WARP client for Windows (version 2025.2.460.1)

主な更新内容:

  • キャプティブポータル(公衆 Wi-Fi)の検出機能を改善し、より多くのネットワークでの互換性向上と検出速度の向上を実現。
  • アプリに表示されるエラーメッセージを改善。
  • WARP インターフェースの IP アドレスが DNS サーバーに登録されるかどうかを制御可能に。
  • Windows クライアント GUI から DNS ログの表示機能を削除。
    • DNS ログは warp-diag またはローカルディレクトリのログファイルから確認可能。
  • スリープ復帰時に複数回の再認証要求が発生する問題を修正。
  • warp-cli tunnel stats コマンドで WARP トンネルプロトコルの詳細を表示可能に。
  • Windows マルチユーザー環境の改善(高速ユーザー切り替えのサポートを追加)。
    • この機能をテストしたい場合は Cloudflare アカウントチームへお問い合わせください。
  • デバイスの取り消し・再登録時の設定切り替えに関する問題を修正。
  • 特定のスリープ状態で DEX テストが実行され、無視されるエラーが発生する問題を修正。

既知の問題:

  • 以下の条件がすべて当てはまる場合、DNS 解決が機能しない可能性があります。
    • WARP が Secure Web Gateway の DNS フィルタリングなし(トンネルのみ)モードで動作している
    • プライマリネットワークアダプターにカスタム DNS サーバーアドレスが設定されている
    • WARP 接続中に、カスタム DNS サーバーアドレスが変更される
  • この問題を回避するには、WARP クライアントを一度オフにし、再度オンにしてください。

WARP client for macOS (version 2025.2.460.1)

主な更新内容:

  • キャプティブポータル(公衆 Wi-Fi)の検出機能を改善し、より多くのネットワークでの互換性向上と検出速度の向上を実現。
  • エラーメッセージを改善し、アプリ内でのエラー表示がより分かりやすくなりました。
  • warp-cli tunnel stats コマンドで WARP トンネルプロトコルの詳細を表示可能に。
  • デバイスの取り消し・再登録時の設定切り替えに関する問題を修正。

既知の問題:

  • macOS Sequoia(macOS 15.0.x)では、Apple の仕様変更により WARP クライアントが正常に動作しない可能性があります。
    • Cloudflare は macOS 15.3 以降へのアップグレードを推奨しています。

筆者の感想

みなさん MCP サーバーって触ってますか?実は Cloudfalre は MCP サーバーをパブリックに公開してくれてます。ちょっと前は Workers くらいでしたが、今は割といろんな機能が使えるみたいですね 🙌 ユースケースを考えるためにも Claude Desktop で設定してみようかな 🤔

https://x.com/ritakozlov_/status/1902011293449552351

Gemcook Tech Blog
Gemcook Tech Blog

Discussion

ログインするとコメントできます