Skip to main content

Hibernation とは

Laravel Cloud の Hibernation(自動休止) は、一定時間 HTTP リクエストがない場合に環境を休止状態に移行する旧来の機能です。
現在の新しい Flex コンピュートでは、より高速な Scale to Zero が後継として使われます。
Legacy Flex の Hibernation は、休止中のコンピュート課金を止められる一方で、HTTP リクエストを受けてからの復帰に通常 5〜20 秒かかります。新しい Scale to Zero では起動が 500ms 未満 まで短縮され、さらにスリープ中でもスケジュールタスクやキュー処理のために環境が自動で起動します。
新規に Laravel Cloud を使うなら、Hibernation ではなく Scale to Zero を前提に考えるのが安全です。Managed Queues や新しい料金プランも含めた全体像は Laravel Cloud — Laravel専用PaaSの全貌 を確認してください。

Scale to Zero で変わったこと

新しい Flex コンピュートの Scale to Zero では、以前の Hibernation で課題だった点がかなり解消されています。
以前の Hibernation では、休止中にタスクスケジュールやキューが動かない問題がありました。Scale to Zero ではこの問題が解消され、特にキュー処理は Managed Queues を使うと App cluster が眠っていても安全に継続できます。

旧 Hibernation の有効化手順

1

App compute cluster を開く

環境のインフラキャンバスダッシュボードで、App compute cluster をクリックします。
2

Hibernation を有効にする

Hibernation トグルをオンにします。
3

保存して再デプロイする

Save and Redeploy をクリックして変更を反映します。
設定を変更しただけでは有効になりません。必ず Save and Redeploy が必要です。
現在の環境で新しく有効化するなら、App compute cluster の Scale to Zero トグルを使います。以下の制限事項は、主に旧 Hibernation / Legacy Flex を前提にした説明です。

旧 Hibernation 休止中の制限事項

Hibernation が有効で環境が休止している間は、以下の機能は動作しません。
休止から復帰すると、これらの処理は自動的に再開されます。ただし休止中に「来るべきだった」スケジュールのジョブが遡って実行されることはありません。
また、Hibernation には以下の制限があります。
  • Flex コンピュートのみ 休止が可能です。Pro コンピュートでは Hibernation を有効にできません。
  • 休止は環境単位で行われます。App cluster が休止すると、同環境内のすべての Worker cluster も休止します。

不要な復帰の原因

HTTP リクエストがあれば環境は自動で復帰しますが、意図しないリクエストによっても復帰が発生します。
  • ボット・クローラー — 検索エンジンやセキュリティスキャナーなどが自動的にページをクロールする
  • Slack や Teams のリンクプレビュー — メッセージングアプリがリンクのサムネイル取得のためにアクセスする
  • WordPress スキャン — WordPress 環境を探す自動スキャンが /wp-admin などにアクセスする
  • .php ファイルを探す攻撃 — PHP ファイルを直接狙う自動スキャン
Laravel Cloud の *.laravel.cloud ドメインは検索エンジンにインデックスされないよう X-Robots-Tag: noindex, nofollow ヘッダーが付与されますが、ドメインが発見されてしまうと防ぎきれません。カスタムドメインでは noindex ヘッダーは付与されません。
なるべく複雑なドメイン名を使うことで、ボットにバニティドメインを発見されるリスクを減らせます。

Path Blocking で不要な復帰を防ぐ

Path Blocking は、特定の拡張子やパスへのリクエストを休止状態のまま処理せずにブロックする機能です。WordPress スキャンや PHP ファイルを狙った攻撃リクエストによる不要な復帰を防ぎます。 デフォルトでブロックされる拡張子とパスは以下の通りです。 ブロックされる拡張子:
ブロックされるパス:
これらのリクエストは、環境が休止中でもアプリを復帰させることなく応答を返します。
Laravel の通常のルーティングでは .php 拡張子付きのリクエストは使用しないため、これらをブロックしてもアプリの動作に影響はありません。

旧 Hibernation が向いているユース・不向きなユース

向いているユース

  • ステージング・開発環境 — 常時稼働は不要なのでコストを大幅に削減できる
  • 個人ブログ・ポートフォリオ — トラフィックが少なくて済む用途
  • デモ・試験用アプリ — 必要なときだけ復帰すれば十分
  • 低頻度の社内ツール — 使用時間が限られている

不向きなユース

  • タスクスケジュールを使う用途 — 休止中は schedule:run が実行されない
  • 定期的なキュージョブが必要な用途 — 休止中はキューも停止する
  • 起動レイテンシが許容できない本番環境 — 復帰に 5〜20 秒かかる
  • WebSocket を使うアプリ — 接続が維持できず休止も遅延する場合がある
タスクスケジューラーで定期的に処理を実行したい場合(メール配信、データ集計など)は、Hibernation を有効にすると処理が実行されなくなります。このような用途では Hibernation をオフにするか、外部のスケジューラー(GitHub Actions など)からリクエストを送って環境を起こし続ける設計が必要です。
新しい Scale to Zero ではこの制約は緩和されています。Scheduled Tasks はスリープ中でも自動実行され、キュー処理も Managed Queues を使えば App cluster の休止に影響されません。

まとめ

Hibernation は Legacy Flex では今でもコスト削減に使えますが、現在は Scale to Zero のほうが実用的です。
  • Legacy Flex では稼働時間のみ課金。タイムアウト後に自動休止。
  • 旧 Hibernation の復帰時間は 5〜20 秒。
  • 新しい Scale to Zero は 500ms 未満で起動する。
  • Scale to Zero では Scheduled Tasks と Managed Queues がスリープ中でも動作する。
  • Path Blocking でボットによる不要な復帰を防ぐ。
  • Flex コンピュートのみ対応。

関連ページ

スケジューリング

Task Scheduler の設定と Laravel Cloud での動作を確認します。

キュー

Queue Worker の設定と Laravel Cloud での運用方法を確認します。

Laravel Cloud 全体像

Managed Queues、Scale to Zero、新しい料金プランをまとめて確認します。
最終更新日 2026年6月2日