Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud RunならDBも含めた ゼロスケールが可能? WordPressをゼロスケールさせた話

Avatar for Cloud Ace Cloud Ace
November 14, 2025

Cloud RunならDBも含めた ゼロスケールが可能? WordPressをゼロスケールさせた話

Avatar for Cloud Ace

Cloud Ace

November 14, 2025
Tweet

More Decks by Cloud Ace

Other Decks in Technology

Transcript

  1. 自己紹介 • 名前: 中野 拓帆 (なかの たくほ) • 業務内容 ◦

    社内データ連携システムの開発・請求業務自動化 ◦ コーポレートサイト運用・保守 ◦ Google Cloudを利用するシステムの受託開発 ◦ Google Cloud認定トレーナー • 興味のある範囲 ◦ サーバ設定・構築 基盤寄り、開発 バックエンド 寄 ◦ 機械学習・メディア処理 ◦ プロコン(暇なし) ◦ 資格・試験 • 中高一貫校で10年間数学の教員 ◦ LAN ケーブルを引くところから、仮想サーバの運用まで ◦ 登山部の教え子がインターハイ優勝 ▪ 2025年中国総体 は大会役員を務めた
  2. まとめ・Demo • まとめ ◦ WordPressもゼロスケールできる ◦ サーバレスの世界へようこそ ◦ Cloud Runはクラウドの電源ボタン

    ▪ WordPress以外でも使えるよ ◦ サスペンド・レジューム で更に高速? • Demo https://zero-wp.cloud.tako.nakano.net/ • GitHub https://github.com/takotakot/zeroscale-wp ◦ Terraformコードもあるよ 3 Static Content Cloud Storage WordPress(PHP) Cloud Run Database Compute Engine Persistent Disk Startup Probe Cloud Run Power On Zero Instances Cloud Monitoring Zero Instances Pub/Sub Stop Database Cloud Run Functions Power Off
  3. コンピューティングとストレージの分離 • コンピューティング ◦ データを処理する処理基盤、 つまり計算リソース ◦ 必要になったときに、 必要になった分だけ使いたい •

    ストレージ ◦ データそのもの ◦ 長期で保管したい 時刻 t 時刻 t 4 需 要 需 要 クラウドアプリケーションで コンピューティングとストレージを分離し、安価に運用したい! vs
  4. Cloud RunのStartup Probe • Cloud RunのStartup Probeって知ってる? https://cloud.google.com/run/docs/configuring/healthchecks?hl=ja ◦ Startup

    Probe: コンテナが起動し、トラフィックを受け入れる準備ができているかどうかを判断 ▪ 開始が遅いコンテナの利用時に特に役立つ ◦ Liveness Probe: コンテナを再起動するかどうかを判断 ◦ HTTP(特定パスへのリクエスト)、 TCP(ポート接続)、gRPC(リクエスト) が構成可能 ◦ HTTPのStartup Probeは、HTTPリクエストなので好きな処理をしても良い ▪ アプリケーションの一部として、バックエンド DBの起動処理を埋め込む ▪ DBインスタンスが起動できるのでは!? 5 Startup Probeの裏でDBインスタンスを起動すれば、ゼロスケールができる! (Cloud Runはクラウドの電源ボタン…!?)
  5. Startup Probeで起動させてみた • 停止状態で、外部からアクセスがあると… ◦ アクセス -> Cloud Runコンテナ起動 ◦

    Startup Probe: Cloud Run基盤 -> コンテナStartup Probeエンドポイント ▪ Probeエンドポイントでのプログラム動作 : ▪ コンテナ -> DBインスタンス(停止中) 接続できず ▪ コンテナ -> Cloud SQL Admin API / Compute Engine APIでDBインスタンスを起動 基盤へ 500応答 ◦ Startup Probe: Cloud Run基盤 -> コンテナStartup Probeエンドポイント(何回目かの 再試行) ▪ コンテナ -> DBインスタンス(起動完了) 接続できた 基盤へ 200応答 ◦ Startup Probeに正常に応答すると、待たされていたリクエストが流れてくる • Cloud SQLインスタンスの起動は20分(当方調べ)...断念 • Compute Engine インスタンスの起動は1分 6 起動できた!停止は? WordPress(PHP) Cloud Run Database Compute Engine Persistent Disk Startup Probe Cloud Run 基盤 Power On
  6. それ、Cloud Monitoring でできるよ • Cloud Monitoring: クラウド リソースの監視サービス ◦ アプリケーションやその他の

    Google Cloud サービスの健全性とパフォーマンスを把握 ◦ Cloud Run インスタンスが 0 になったことを検知・通知できる • 構成例: ◦ Cloud Run サービスのインスタンス数をモニタリング ◦ 1台も起動していない時間が一定時間続いた場合にアラート ◦ Pub/Sub トピックに通知 ◦ イベント ドリブンで Cloud Run functions 関数が起動 ▪ インスタンスを停止 7 ゼロスケール 達成 WordPress(PHP) Cloud Run Database Compute Engine Persistent Disk Zero Instances Cloud Monitoring Zero Instances Pub/Sub Stop Database Cloud Run functions Power Off
  7. 構成図 • アプリケーションはCloud Runで動作 ◦ アクセスがなくなるとインスタンス 0に • メディアファイルはCloud Storage

    • DBはCompute Engine ◦ Startup Probeが DB を起動 ◦ Cloud Monitoringが インスタンス0を検知して アラートメッセージ送信 ◦ Pub/Sub経由で関数起動 ◦ DBインスタンスを停止 8 Static Content Cloud Storage WordPress(PHP) Cloud Run Database Compute Engine Persistent Disk Startup Probe Cloud Run Power On Zero Instances Cloud Monitoring Zero Instances Pub/Sub Stop Database Cloud Run functions Power Off
  8. 気になる料金は? • 無料枠コース ◦ e2-micro 0.25 vCPU, 1 GiB RAMインスタンスを利用

    ▪ 最初からインスタンス 1台で…という突っ込みはナシで … • 通常コース ◦ 好きなインスタンスを使う ◦ 割愛 • 創意工夫コース ◦ Spotインスタンスを利用 ▪ リージョンにも依るが、 Tau T2Dが安い ▪ t2d-standard-1 1 vCPU, 4 GiB RAM で $ 2.90/月 • $ 1 = 150円とすると435円 ▪ Standard persistent diskは10 GiBが $ 0.4/月 • ディスクはこれで無料枠に収まる 9 Static Content Cloud Storage WordPress(PHP) Cloud Run Database Compute Engine Persistent Disk Startup Probe Cloud Run Power On Zero Instances Cloud Monitoring Zero Instances Pub/Sub Stop Database Cloud Run functions Power Off
  9. 運用していての感想・実際 • 実際どうなの? ◦ 面倒な起動・停止がない、特別な権限管理も要らない ◦ 任意の外部アクセスでも起動する ◦ 起動時間1分はちょっと長い ▪

    サスペンド・レジュームで 10秒程度にできそう • ちょっとだけコストアップ ◦ メンテナンスコストはゼロ ◦ 安い • 実料金 ◦ 2025-06に、2457アクセス(Cloud Logging計測) ▪ 129.65 h DBインスタンスが起動: 88円 ▪ ディスクは無料枠内 ◦ Cloud Runは9.5h分利用していて、無料枠内 ◦ Artifact Registry は1バージョン 300 MBくらい ◦ 88円 + Secret Manager 4円 10 Static Content Cloud Storage WordPress(PHP) Cloud Run Database Compute Engine Persistent Disk Startup Probe Cloud Run Power On Zero Instances Cloud Monitoring Zero Instances Pub/Sub Stop Database Cloud Run functions Power Off
  10. まとめ・Demo • まとめ ◦ WordPressもゼロスケールできる ◦ サーバレスの世界へようこそ ◦ Cloud Runはクラウドの電源ボタン

    ▪ WordPress以外でも使えるよ ◦ サスペンド・レジュームで更に高速? • Demo https://zero-wp.cloud.tako.nakano.net/ • GitHub https://github.com/takotakot/zeroscale-wp ◦ Terraformコードもあるよ 11 Static Content Cloud Storage WordPress(PHP) Cloud Run Database Compute Engine Persistent Disk Startup Probe Cloud Run Power On Zero Instances Cloud Monitoring Zero Instances Pub/Sub Stop Database Cloud Run Functions Power Off