概要
ヘッドレスChrome(PuppeteerまたはPlaywright)でのWebスクレイピングにはどのVPSが必要ですか?
ヘッドレスChromeでのWebスクレイピング向けVPSには、同時にレンダリングするブラウザ1つあたり専用vCPU約2が必要です。CobaltfellではFell 4で2ブラウザ、Fell 8で4、Fell 16で8が稼働します。これはPlaywrightのデフォルトである論理コア2つにつきワーカー1つに基づいています。BrowserStackはLinuxブラウザ1つあたり1.5 CPUを求めています(いずれも2026年11月2日確認)。各プランはvCPUあたり2 GBのRAMを備えています。
各プランでヘッドレスブラウザをいくつ稼働できますか?
ヘッドレスChromeブラウザ1つには1.5〜2 vCPUが必要です。公開されている2つのルールはこの範囲に収まります。 Playwright Testはデフォルトで、論理CPUコア数の半分のワーカーを起動します。実際のブラウザを事業として運用するBrowserStackは、セルフホスト顧客に対し、標準的なWebサイトではLinuxブラウザ1つあたり1.5 CPU、負荷の高いサイトや24時間稼働では少なくとも2を求めています。各プランに適用すると次のとおりです。
| プラン | vCPU | RAM | Playwrightのデフォルトによるブラウザ数 | 1.5 vCPUあたりのブラウザ数 | RAMを均等に共有した場合のブラウザ1つあたりのRAM |
|---|---|---|---|---|---|
| Fell 2 | 2 | 4 GB | 1 | 1 | 4 GB |
| Fell 4 | 4 | 8 GB | 2 | 2 | 4 GB |
| Fell 8 | 8 | 16 GB | 4 | 5 | 3.2〜4 GB |
| Fell 16 | 16 | 32 GB | 8 | 10 | 3.2〜4 GB |
Cobaltfellが2026年11月2日に行った調査によると、本人確認なしで暗号資産を受け付けるホストで記録された専用CPUプラン202件のうち27件が、vCPUあたり2 GB未満のRAMしか提供しておらず、あるホストのラインナップ全体はvCPUあたり1 GBにとどまっていました。 そのようなプランでは、ブラウザプールはコアより先にメモリが不足します。vCPUがコアにどう対応するかは専用vCPUはコアですか、スレッドですかで解説しています。
ヘッドレスChromeはなぜそれほどCPUを使うのですか?
ヘッドレスブラウザは、画面への描画を除いて、表示されるブラウザが行うすべての処理を行います。 ページをダウンロードし、HTMLとCSSを解析し、すべてのスクリプトを実行し、ページをレイアウトし、タイマーを動かし続けます。Chromiumはその処理を複数のプロセスに分割します。ほかを管理するブラウザプロセスと、Webコンテンツ用のレンダラープロセスで、新しいタブやウィンドウは原則としてそれぞれ独自のプロセスで開きます。タブ10個はレンダラー約10個分のCPUを消費します。
結果を変えずにコストを削減する方法は3つあります。
- 決して読まれないものをブロックする。 画像、フォント、メディアは帯域とデコード時間を消費します。PuppeteerのリクエストインターセプトやPlaywrightのルーティングで拒否できます。
- ブラウザを1つ再利用し、新しいコンテキストを開く。 Chromeの起動が高コストなステップであり、稼働中のブラウザ内で新しいコンテキストやページを開くほうがはるかに安価です。
- データが許す場合はブラウザを省略する。 HTML内や、ページが呼び出すJSON APIにあるデータは、スクリプトを一切実行しないプレーンなHTTPクライアントから取得できます。
Chrome 132以降、旧ヘッドレスモードは別バイナリchrome-headless-shellとしてのみ提供されます。通常のChromeでは--headlessで新モードが実行されます。
スクレイピングワーカーに専用vCPUは重要ですか?
リソース不足のブラウザは遅くなるのではなく失敗します。 ナビゲーションとセレクタのタイムアウトは秒単位で設定されます。隣のプロセスがCPU時間を奪うと、ページのレンダリングが遅れて完了し、待機が期限切れになり、本来成功するはずのジョブがリトライされ、さらにCPUを消費します。ホスト型Chromeを販売するBrowserlessは自社ドキュメントで明言しています。並行数を下げれば各ブラウザに割り当てられるCPUとメモリが増え、タイムアウトが減り、安定性が向上します。失われたCPU時間はstealとして現れます。詳しくはCPU steal timeとは何か、VPSで確認する方法]をご覧ください。
Cobaltfellでは、このトレードオフのCPU側は固定されています。vCPUはホストプロセッサのハードウェアスレッド1つ分です。お客様のvCPUはVPSに1対1で固定され、他のお客様に貸し出されることはなく、物理コアの2つのスレッドは常にペアで割り当てられます。そのため、2 vCPUごとに隣人と共有しない完全なコア1つになります。ワークロードが必要とする限り、フル負荷が許可されます。CPUクレジットもバースト時間枠もなく、100%で数分経過してもスロットリングされません。
並行数はどのホストでも同じ方法で求められます。vCPU 2つにつきブラウザ1つから始め、エラー率が安定しているうちに増やし、タイムアウトが最初に増えたところで止めます。
専用vCPUを販売するホストを同じ公表基準でランク付けした記事は2026年に最適な専用CPU VPSプロバイダーはどこか]にあります。
VPS上でChromeワーカーを安全に実行するにはどうすればよいですか?
Chromeのサンドボックスを有効にしたまま、通常ユーザーで実行し、コンテナにinitプロセスを用意してください。 スクレイピングしたページは定義上信頼できないコードであり、公式ガイドも各点で一致しています。
- サンドボックス。 Puppeteerのトラブルシューティングガイドは、サンドボックスなしでの実行を強く非推奨としています。PlaywrightのDockerガイドは、rootで実行するとChromiumのサンドボックスが無効になると述べ、スクレイピングやクロールには専用ユーザーとseccompプロファイルを推奨しています。
- initプロセス。 両ガイドともDockerの
--initフラグを推奨しています。終了したChromeの子プロセスがゾンビとして溜まらず、回収されるためです。 - 共有メモリ。 PlaywrightはChromiumに
--ipc=hostを推奨しています。これがないとChromiumはメモリ不足になりクラッシュする可能性があります。
プールの状態を示す数字は2つあります。すべてのChromeプロセスのメモリ使用量と、mpstatのsteal列です。
# total resident memory of chrome / chromium / headless shell processes, in MB
ps -eo rss=,comm= | awk '/chrom/ {s+=$1} END {printf "%.0f MB\n", s/1024}'
# how many renderer processes are alive right now
pgrep -fc -- '--type=renderer'
# per-vCPU load and %steal while the pool works (package sysstat)
mpstat -P ALL 5 3ウェブサイトのルールやプロキシについてはどうですか?
スクレイピングは各サイトの利用規約と、運営者およびサイトに適用される法令の範囲内で行います。 このページはマシンのサイズについて述べており、プロジェクトの合法性についてではありません。自分が所有しないシステムへの攻撃(ブルートフォースやサービス拒否など)はCobaltfellの利用規約で認められる範囲]で禁止されているため、リクエストレートは常識的な範囲に保ちます。
プロキシとIPローテーションは別の話題であり、Cobaltfellはどちらも販売していません。各VPSには1 Gbit/sポート上でIPv4アドレス1つとIPv6 /64が付与されます。プランの月間トラフィックは送信データのみをカウントし、超過してもそれ自体で追加料金が発生することはありません。プランの価格は専用コアVPSの料金]に記載されています。
VPS上のスクレイピングワーカーについて、他にどんな質問が寄せられますか?
PuppeteerやPlaywrightを使うとVPSのサイズ選びは変わりますか?
ほとんど変わりません。どちらも同じChromiumを操作し、重い処理はブラウザが行います。違いはデフォルト値です。Playwright Testは論理コアの半分をワーカー数として選びますが、Puppeteerは並行数をあなたに任せるため、vCPU 2つにつきブラウザ1つが出発点になります。
1つのブラウザで多数のタブを開くほうが、多数のブラウザより安く済みますか?
メモリ面ではわずかに安く済みます。ブラウザプロセスが共有されるためです。CPU面ではほとんど変わりません。新しいタブは原則として独自のレンダラープロセスを持ち、CPUを消費するのはレンダリングだからです。
ヘッドレスChromeにGPUは必要ですか?
いいえ。ヘッドレスChromeはグラフィックスカードのないサーバーで動作し、VPSではそれが通常のケースです。CobaltfellのVPSにはGPUがありません。
スクレイピングワーカーを一日中フルCPUで実行できますか?
Cobaltfellでは可能です。ワークロードが必要とする限り、フル負荷が許可されます。CPUクレジットもバースト時間枠もなく、100%で数分経過してもスロットリングされません。許可されないのは次のとおりです: いかなるプランでも、いかなるソフトウェアでも、暗号資産のマイニングは許可されません。ビルド、エンコード、推論、データベースなど、お客様自身の高負荷なCPU処理はフル負荷で実行できます。ブロックチェーンを検証するだけのノードはマイニングには該当しません。
ChromeワーカーにはどのLinuxイメージが適していますか?
提供されているイメージはいずれも使用できます: Debian 13、Debian 12、Ubuntu 24.04 LTS、AlmaLinux 10、Rocky Linux 10。ツール付属のインストーラーでブラウザをインストールすると、必要なシステムライブラリも一緒に導入されます。たとえばDebianやUbuntuではnpx playwright install --with-deps chromiumです。
出典 (10)
- Playwright TestConfig:workers — Microsoft Playwright (checked 2026-11-02)
- Playwright: Docker — Microsoft Playwright (checked 2026-11-02)
- セルフホストを自動化: ベストプラクティスの設定 — BrowserStack (checked 2026-11-02)
- Browserless Enterprise: 長いキューと並行数 — Browserless (checked 2026-11-02)
- Puppeteerのトラブルシューティング — Puppeteer (Google Chrome team) (checked 2026-11-02)
- Docker内のPuppeteer — Puppeteer (Google Chrome team) (checked 2026-11-02)
- Chrome Headlessモード — Chrome for Developers (checked 2026-11-02)
- マルチプロセスアーキテクチャ — The Chromium Projects (checked 2026-11-02)
- HostSailor KVM VPS NVMe(専用コアあたり1 GBのRAM) hostsailor.com/kvm-vps — HostSailor (checked 2026-11-02)
- mpstat(1) マニュアルページ (%steal) — man7.org / sysstat (checked 2026-11-02)