Subscribe to receive notifications of new posts:

Subscription confirmed. Thank you for subscribing!

Cloudflare Snippetsはアルファ版で提供を開始

Loading...

5 min read

本日、Cloudflare Snippetsのアルファ版が利用可能となりました。ウェイティングリストの方々も数週間以内にご利用いただける予定です。

Snippetsについて

Cloudflareはこの2年の間に、変換ルール、キャッシュルール、オリジンルール、コンフィグルール、リダイレクトルールといった多くの新しいルール製品をリリースしました。お客様は、これらの新製品により、グローバルネットワークを通過するトラフィックの処理方法をより細かく制御できます。これまでのところ、これらの製品については圧倒的に多くの肯定的なフィードバックをいただいています。ただし、お客様は、すぐに使用できる機能以上のものを必要とする場合があります。それはHTTPヘッダーの追加にとどまらず、高度な計算を実行して出力を作成します。

こうしたケースでお役に立てるのがCloudflare Snippetsです。SnippetsはWebサイト、API、あるいはアプリケーションをユーザーに提供する前に、Cloudflareがユーザーの作成したJavaScriptの断片を実行するというものです。普段からCloudflare Workersをご使用であれば、当社の堅牢な開発者プラットフォームでSnippetsが使い慣れた追加機能だということを体感していただけると思います。また、Workersをご使用されていない方でも、Snippetsは簡単に作成、テスト、展開できる設計となっています。お客様のカスタムしたJavaScript スニペットを数秒でグローバル ネットワークネットワークにデプロイできる機能がご利用できます。

Snippetsは Workers Platform上に構築されていますが、多くの点で異なります。まず1 つ目は、変換ルールキャッシュルールと同様に、Snippetsが専用の新しいフェーズとしてルールセットエンジン内でどのように動作するかにあります。これはお客様がルールセットエンジン フィルターをもとにSnippetsを選択と実行ができることを意味します。これにより、リクエストごとにSnippetsを実行したり、特定のボットスコア、生成国、特定のCookieなど、提供されるさまざまな基準に沿って Snippetsの選択的な適用が可能になるという柔軟性が得られます。

それだけではありません。Snippetsはもともと累積的な性質を持っているので、ユーザーは定義された条件を満たした場合に実行される複数のSnippetsを持つことができます。たとえば、1 つのSnippetsでHTTPヘッダーを追加してから別のSnippetsでURLを書き換えられるのです。条件が満たされた場合にどちらも実行できます。

ユーザーはコード不要の単純なタスクにルールを使用するかどうかを柔軟に選択したり(例:変換ルールを使用して基本的なリクエストCookieヘッダーを追加)、より複雑なCookie機能向けのCloudflare Snippetsを作成する(例:Cookie値内のホストや日付を動的に変更)こともできます。Snippetsを使用すればお客様は余分なコストをかけることなく、Cloudflareのエコシステム内で迅速かつ手間をかけずに仕事を完了できるようになります (ただし、公正使用上限が適用されます)。

SnippetsとWorkersの違いについて

Cloudflare Snippetsのもう1つの大きな利点として、すべてのプランレベルで追加料金なしで利用できることがあります。これにより、お客様は単純なワークロードをVCLといった従来のソリューションからCloudflareプラットフォームに移行することで、毎月のコストをどんどん削減できるようになります。

Free、Pro、Business、Enterpriseプランのいずれのプランでも、Snippetsを自由にご利用いただけます。Freeプランの方は、ゾーン1つにつき5つのSnippetsをご利用できますが、Pro,、Business、Enterpriseのプランではゾーン1つにつき、それぞれ10、25、50のSnippetsをご用意しています。

リソースの点において、Cloudflare SnippetsはWorkersよりも軽量です。最大実行時間は5msで最大メモリは2MB、パッケージの合計サイズは32KBとなっています。こうした制限はありますが、HTTPヘッダーの変更、URLの書き換え、Cloudflare Workersが提供する追加機能やリソースを必要としないトラフィックタスクのルーティングなど、一般的なユースケースでは困ることがないでしょう。

SnippetsはWorkersの前でも実行できます。つまり、ユーザーが単純なロジックをCloudflare WorkersからSnippetsに移動したり、Cloudflare Workersとその機能を使用してリクエストをさらに変更したりできるということです。Traffic Sequence UIも更新してSnippetsを組み込んで、すべての製品がどのように連携し、製品間におけるHTTPリクエストフローの状況を簡単に理解できるようになりました。

Cloudflare Snippetsで構築できること

Snippetsにより、顧客は既存のワークロードをCloudflareに移行することができます。たとえば、一定の割合のリクエストに対するすべてのリクエストに動的Cookieを設定したいお客様は、Snippet内の「math.random」機能が使用できます。

ルールセットエンジンを活用すればリクエストごとに実行したり、Snippets内で処理したりするのではなく、設定されたCookieロジックをルールに移動することで実装を改善できます。たとえば、このCookieをショップのサブドメインにのみ設定し、ドイツまたは英国の顧客に対してのみ設定したい場合は、次のルールを作成できます。

この方法を取ることで、スニペットは必要な場合にのみ実行され、追加の処理が最小限に抑えられ、コードに必要な複雑さが軽減されます。

Cloudflare Snippetsが、お客様のためにどのようなユースケースに道を開くのかがとても楽しみです。

Snippetsの使用方法

SnippetsはCloudflareダッシュボードの「ルール」セクション内にあります。ここでお客様はUIを使用し、まず最初のSnippetsを作成、プレビュー、デプロイします。

Cloudflare全製品と同様に、ユーザーはAPIとTerraformを介してSnippetsをデプロイできます。CI/CDパイプライン内にスSnippetsを簡単に組み込めるようにするのです。ルールセットエンジンを使用するさらなるメリットで、トラフィックのサブセットでコードをテストできるようになります。たとえば、フィルター内に独自のオフィスIPかシークレットヘッダーを指定すれば、Snippetsが存在する場合にのみトリガーできるようになります。最終的には、アカウントリクエストトレーサー内にSnippetsを統合し、特定のリクエストで実行されているすべてのルールをユーザーが簡単に識別できるようにしたいと考えています。

Snippetsの構築方法

Developer Week期間中、私たちはCloudflare Workers開発者プラットフォームを使用して「Cloudflare上にCloudflareを構築」し、速度、堅牢性、開発の容易さの点で製品を強化するプロセスについて話し合いました。最新のCloudflare製品であるSnippetsは、Workers for Platforms上に構築されています。

スニペットは作成時に一意のSnippet IDを生成するユーザー定義のJavaScriptの一部になります。このSnippet ID は、ルールエンジン構文を使用して作成されたユーザー定義のルールに関連付けられます。ルールが作成されると一意のルール IDが割り当てられます。その後、Snippet IDとルール ID が対の関係でリンクされます。お客様はそれぞれに固有のSnippetとルールを持つ複数のスニペットとルールの作成が柔軟に行えます。複数のスニペットをお持ちのお客様は、他のルールベースの製品と同様に、ユーザーインターフェイス (UI)内かAPI 経由で、スニペットに簡単に優先順位を付けることができます。

お客様のリクエストがCloudflareに到達すると、ユーザーのゾーン内で作成されたSnippetルールに対して、リクエストパラメータを評価します。Snippetルールに一致すると、対応する一意のSnippet IDがSnippetテーブルに追加されます。すべてのルールが評価され、Snippetテーブルがコンパイルされると、完成したテーブルがSnippets Internal Worker Serviceに渡されます。

このWorkerサービスは順次実行されるテーブル内に保存されたすべてのSnippet IDを受け取ります。このシステムはSnippetsをシンプルに保つ柔軟性を持った設計となっており、ユーザーは同じリクエストで実行される個々のスニペットを独立して管理できます。以上の方法により、ユーザーは個々のスニペットを1つのエンティティに統合するのではなく、自由に制御して微調整が行えるようになります。

各Snippetは前のSnippetから変更されたリクエストを受け取ると、そちらにも新しい変更を適用します。最終的なSnippet IDを実行した後、結果として修正されたリクエストは、リクエスト処理の次のステップのためにFLに戻されます。

Snip Into Action(Snippetsを使ってみる)

Snippetsを使用したお客様の画期的なユースケースを楽しみにしています。ウェイティングリストに登録されている方々も、数週間のうちにアルファ版をご利用いただけるかと思います。ウェイティングリストに登録されていない方も、今年末にオープンベータ版のサインアップが可能になる予定です。

Cloudflareは 企業のネットワーク全体 を保護し、お客様が インターネット規模のアプリケーションを効率的に 構築するためのお手伝いをします。また、すべての Webサイトまたはインターネットアプリケーション を迅速化し、 DDoS攻撃を阻止して、 ハッカーを封じ込めます。 さらに、 Zero Trustを始める、あるいは導入のあらゆるフェーズにいる お客様を支援します。

インターネットを高速化し、安全性を高めるには、ご使用のデバイスから 1.1.1.1 にアクセスすることで、Cloudflareの無料アプリをご利用いただけます。

より良いインターネットの構築を支援するというCloudflareの使命について詳しくは、 こちら をご覧ください。新たなキャリア形成をお考えの方は、 求人情報 にアクセスしてください。

Speed Week (JP) Snippets (JP) 日本語

Follow on Twitter

Matt Bullock |@mibullock
Cloudflare |Cloudflare

Related Posts

June 23, 2023 2:00PM

Cloudflare Radarのインターネット品質ページのご紹介

Cloudflare Radarに搭載された新しいパフォーマンスページは、ベンチマークテストのデータとspeed.cloudflare.comのテスト結果をもとにした、インターネット接続のパフォーマンス (帯域幅) と品質 (レイテンシ、ジッタ) について、国レベルとネットワーク (自律システム) レベルの両方についての長期的なインサイトを提供します...

June 21, 2023 2:01PM

Zero Trustにスポットライトを当てる:当社こそが最速であり、これがその証拠です

Cloudflareは、テストシナリオの42%で最速のSecure Web Gatewayを提供しています。これはどのプロバイダーよりも多い数字です。Cloudflareは、ZTNAではZscalerより46%、Netskopeより56%、Palo Altoより10%、RBIシナリオではZscalerより64%高速です...

June 22, 2023 2:00PM

世界的な分散型AIとConstellationのアップデート

今日はConstellationの新機能の発表内容と、これが世界初のグローバル分散型AIプラットフォームである理由、機械学習タスクを当社のグローバルネットワークにデプロイすることが有利である理由を説明します...

June 19, 2023 2:00PM

Cloudflareのグローバルネットワークは300都市に拡大までし、12,000のネットワークに接続することでエンドユーザーとの距離を縮めています

Cloudflareは今や世界300都市以上、12,000以上のインターネットネットワークに接続されるまでになったことを喜びとともに発表します...