Cloudflare、ヘッドレスブラウザ「Browser Rendering API」正式リリース。Puppeteerライブラリも提供開始
今回は「Cloudflare、ヘッドレスブラウザ「Browser Rendering API」正式リリース。Puppeteerライブラリも提供開始」についてご紹介します。
関連ワード (基盤、操作、通信等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Cloudflareは、同社のサーバレス基盤であるCloudflare Workersを通じてヘッドレスブラウザを操作できる「Browser Rendering API」の正式サービス化を発表しました。
これまではBrowser Rendering APIはオープンベータとして提供されていました。
Good morning! We'll keep it short: Browser Rendering API is now available to all paid Workers customers with improved session management. https://t.co/TP2W2KtgOx #DeveloperWeek
— Cloudflare (@Cloudflare) April 5, 2024
同時に、Browser Renderingで動作するPuppeteerライブラリのバージョンも発表しました。これにより、開発者はCloudflare Workers上で使い慣れたAPIを使用し、ページのスクリーンショットやソフトウェアの自動テストなど、Puppeteerを利用したさまざまな種類の操作ができます。
Browser Rendering APIの仕組み
2022年にCloudflareがBrowser Rendering APIを発表したときに、その仕組みは以下のように説明されました。
まず、同社エッジロケーションのデータセンターには、Googleが開発した高度な分離機能を備えるコンテナランタイム「gVisor」を用いて、ヘッドレスブラウザのインスタンスがウォーム状態で多数プールされています。
これはブラウザ上で何らかの悪意のあるプログラムが実行されたとしても、それをそのインスタンス内に封じ込めるためのセキュアな仕組みの1つです。
Cloudflare WorkersからはラップされたPuppeteerライブラリが呼び出せるようになっており、Cloudlare Workersからヘッドレスブラウザがリクエストされると、前述のいずれかのヘッドレスブラウザのインスタンスにWebSocket経由で接続され、Chrome Devtools Protocolを介して通信が行われるようになります。
今回の正式リリースに合わせてセッション管理機能が強化され、開発者は以前に開いたブラウザを再利用することができるようになりました。セッションを再利用することで、リクエストやタスクごとに新しいブラウザをインスタンス化する必要がなくなり、パフォーマンスが向上し、利用コストが削減されるとのことです。