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

勝手に!深堀り!Cloud Run worker pools / Deep dive Clou...

勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools

iselegant

April 24, 2025
Tweet

More Decks by iselegant

Other Decks in Technology

Transcript

  1. 新井 雅也 Synspective Inc. プリンシパルエンジニア 
 
 現在は衛星の開発・運用を手掛けるスタートアップ企業にて、 
 クラウドを中心とした技術力を活かしつつ、宇宙業界の発展に尽力し

    ている。クラウド関連の技術書を多数執筆。 
 
 好きなサービス: GKE、Cloud Run 
 趣味:Red Bull(日課)、LEGO、読書、キャンプ、植物収集、 
    世界遺産巡り(世界遺産検定1級保持) 
 msy78

  2. まずは Google Cloud Next 2025 で発表された 
 GKE & Cloud

    Run 関連の 
 アップデートのおさらいから 

  3. Google Cloud Next 2025 期間中に発表された 
 GKE 関連アップデート一言サマリ 
 GKE

    Inference Gateway 
 Performance HPA profile 
 Container-optimized Autopilot 
 プレビュー 
 ・LLM推論ワークロード向け負荷分散機能 
 ・LLM固有のメトリクスに基づいてルーティング 
 ・GKE水平スケールの判断に必要な計算が高速化 
 (従来比の3倍) 
 ・Autopilotリソース最適化を標準GKEクラスターに適用可能 
 ・利用できるのは2025Q3から(予定) 
 GA
 ロードマップ 

  4. Google Cloud Next 2025 期間中に発表された 
 Cloud Run 関連アップデート一言サマリ 


    Cloud Run IAP built-in 
 Cloud Run GPU 
 Cloud Run Worker Pools 
 Cloud Run Health for regional failover 
 VPC egressの改善 
 Cloud Run Threat Detection 
 プレビュー 
 ・ロードバランサ不要でIAPが適用可能 
 GA
 ・その名の通り、Cloud RunでGPUが利用可能 
 ・Tokyoリージョンは未サポート 
 プレビュー 
 ・service/jobsとは異なる新しい実行モデル 
 ・詳細はのちほど 
 
 GA
 ・確保が必要なサブネットIPアドレス数が半減(4倍→2倍) 
 ・Cloud Run jobsでも利用可 
 プレビュー 
 ・Security Command Centerとの統合 
 ・ランタイム攻撃や脆弱性等を検知 
 プレビュー 
 ・マルチリージョンにおけるフェイルオーバーサポート 
 ・startupProbeのシグナルとServerless NEGの連携 

  5. Google Cloud Next 2025 期間中に発表された 
 Cloud Run 関連アップデート一言サマリ 


    Cloud Run IAP built-in 
 Cloud Run GPU 
 Cloud Run Worker Pools 
 Cloud Run Health for regional failover 
 VPC egressの改善 
 Cloud Run Threat Detection 
 プレビュー 
 ・ロードバランサ不要でIAPが適用可能 
 GA
 ・その名の通り、Cloud RunでGPUが利用可能 
 ・Tokyoリージョンは未サポート 
 プレビュー 
 ・service/jobsとは異なる新しい実行モデル 
 ・詳細はのちほど 
 
 GA
 ・確保が必要なサブネットIPアドレス数が半減(4倍→2倍) 
 ・Cloud Run jobsでも利用可 
 プレビュー 
 ・Security Command Centerとの統合 
 ・ランタイム攻撃や脆弱性等を検知 
 プレビュー 
 ・マルチリージョンにおけるフェイルオーバーサポート 
 ・startupProbeのシグナルとServerless NEGの連携 

  6. Cloud Run Worker Poolsとは? 
 ※Google Cloud Next 2025: What’s

    new in Cloud Run (https://www.youtube.com/watch?v=PWPvX25R6dM)より一部参照

  7. Cloud Run Worker Poolsとは? 
 ※Google Cloud Next 2025: What’s

    new in Cloud Run (https://www.youtube.com/watch?v=PWPvX25R6dM)より一部参照

  8. Cloud Run Worker Poolsとは? 
 ★ service / jobs とは異なる新しい実行モデル

    
 ★ HTTP エンドポイントは不要
 ★ 常駐稼働型 でアイドル時のコスト発生を低減 
 ★ CPU 使用率等に応じた自動スケーリング or 手動スケーリング
 ◦ 常駐稼働型に適したスケーリング 
 ★ ユースケースとしては、Pub/Sub のサブスクライバー、
 Kafka コンシューマー処理、GitHub / GitLab によるホストランナー等

  9. Cloud Run Worker Poolsとは? 
 ★ 現在はPrivate Previewステータス 
 ◦

    特定のユーザー向けにのみ限定公開
 ◦ Public Previewの最終段階でフィードバックを収集している状況
 
 ★ ドキュメントも非公開
 

  10. Cloud Run Worker Poolsとは? 
 ★ 現在はPrivate Previewステータス 
 ◦

    特定のユーザー向けにのみ限定公開
 ◦ Public Previewの最終段階でフィードバックを収集している状況
 
 ★ ドキュメントも非公開
 
 現時点で情報が限定的なた め、公開情報ベースで 
 「勝手に」 深堀りします

  11. ここまでの疑問をいったん整理 
 🤔 Cloud Run serviceでも代替できるのでは? 
 🤔 Cloud Run

    jobsでも代替できるのでは? 
 🤔 GKEでも代替できるのでは? 

  12. ここまでの疑問をいったん整理 
 🤔 Cloud Run serviceでも代替できるのでは? 
 🤔 Cloud Run

    jobsでも代替できるのでは? 
 🤔 GKEでも代替できるのでは? 

  13. Cloud Run service のおさらい 
 疑問1: Cloud Run service でも代替できるのでは?

    
 ★ 当初のCloud Run ServiceにはCPU利用に厳しい制限 があった
 ◦ Cloud Run serviceはRequest&Response型のサービス 
 ◦ Response後はCPUがスロットリングされ、利用が厳しく制限 
 ◦ そもそも、HTTP Request&Responseがないと、CPUが利用できない 
 ▪ HTTPエンドポイントを必要としないWorkerとしては不向き 
 
 

  14. Cloud Run service のおさらい 
 疑問1: Cloud Run service でも代替できるのでは?

    
 ★ 当初のCloud Run ServiceにはCPU利用に厳しい制限 があった
 ◦ Cloud Run serviceはRequest&Response型のサービス 
 ◦ Response後はCPUがスロットリングされ、利用が厳しく制限 
 ◦ そもそも、HTTP Request&Responseがないと、CPUが利用できない 
 ▪ HTTPエンドポイントを必要としないWorkerとしては不向き 
 
 
★ 「Always on CPU」の登場によりHTTPリクエストに依らず、CPU利用が可能 に
 ◦ インスタンスが存在している間は、CPUの割当が可能 
 ◦ ただし、HTTPリクエストが発生しないと、約15分でインスタンスが終了 
 ▪ インスタンス最小数(--min-instances)を1以上にすれば、 
 常駐可能なWorkerが実現できそう
  15. Cloud Run service のおさらい 
 疑問1: Cloud Run service でも代替できるのでは?

    
 なんとなく、Cloud Run serviceで Worker Pools実装できそうなのでは?
  16. 疑問1: Cloud Run service でも代替できるのでは? 
 ・HTTPリッスンしないと、そもそもCloud Run serviceが起動できない
 ・Cloud

    Run serviceのHTTPエンドポイントのセキュリティ対策が必要
 制約1: Worker としては不要な HTTP リッスンの実装が必要 

  17. 制約1: Worker としては不要な HTTP リッスンの実装が必要 
 疑問1: Cloud Run service

    でも代替できるのでは? 
 ・HTTPリッスンしないと、そもそもCloud Run serviceが起動できない
 ・Cloud Run serviceのHTTPエンドポイントのセキュリティ対策が必要

  18. 制約2: インスタンス常時起動で コストが常に発生 する
 疑問1: Cloud Run service でも代替できるのでは? 


    ・Always on CPUにより、コストモデルがリクエスト課金からインスタンス課金に変わる

  19. 制約2: インスタンス常時起動で コストが常に発生 する
 疑問1: Cloud Run service でも代替できるのでは? 


    ・Always on CPUにより、コストモデルがリクエスト課金からインスタンス課金に変わる

  20. 制約2: インスタンス常時起動で コストが常に発生 する
 疑問1: Cloud Run service でも代替できるのでは? 


    ・Always on CPUにより、コストモデルがリクエスト課金からインスタンス課金に変わる

  21. 制約3: タスクの処理負荷状況のみ でスケールが機能しない 
 疑問1: Cloud Run service でも代替できるのでは? 


    ・リクエスト数、CPU使用率、インスタンス数を加味して自動でスケール判定 
 ・Taskが蓄積しても、HTTPリクエストが発生しない限りスケールしない可能性あり 

  22. 制約3: タスクの処理負荷状況のみ でスケールが機能しない 
 疑問1: Cloud Run service でも代替できるのでは? 


    ・リクエスト数、CPU使用率、インスタンス数を加味して自動でスケール判定 
 ・Taskが蓄積しても、HTTPリクエストが発生しない限りスケールしない可能性あり 

  23. ここまでの疑問をいったん整理 
 󰢃 Cloud Run service でも代替できるのでは? 
 🤔 Cloud

    Run jobs でも代替できるのでは? 
 🤔 GKEでも代替できるのでは? 
 → 代替はできるが、 不要な HTTP リッスンの実装とセキュリティ対策、 
   常時コストの発生、スケーリングの制約観点 から最適とは言えない。 

  24. ここまでの疑問をいったん整理 
 󰢃 Cloud Run service でも代替できるのでは? 
 🤔 Cloud

    Run jobs でも代替できるのでは? 
 🤔 GKEでも代替できるのでは? 
 → 代替はできるが、 不要な HTTP リッスンの実装とセキュリティ対策、 
   常時コストの発生、スケーリングの制約観点 から最適とは言えない。 

  25. Cloud Run jobs のおさらい 
 疑問2: Cloud Run jobs でも代替できるのでは?

    
 ★ HTTPリクエストは不要でCPUの割り当てが可能
 ◦ アプリ側で不要なHTTPリッスン実装は不要となる

  26. Cloud Run jobs のおさらい 
 疑問2: Cloud Run jobs でも代替できるのでは?

    
 Cloud Run serviceと比較して、 HTTPリッスン実装不要だし、いけそう?
  27. ここまでの疑問をいったん整理 
 󰢃 Cloud Run service でも代替できるのでは? 
 󰢃 Cloud

    Run jobs でも代替できるのでは? 
 🤔 GKEでも代替できるのでは? 
 → 代替はできるが、 不要な HTTP リッスンの実装とセキュリティ対策、 
   常時コストの発生、スケーリングの制約観点 から最適とは言えない。 
 → 常駐処理というユースケースに適さない 

  28. ここまでの疑問をいったん整理 
 󰢃 Cloud Run service でも代替できるのでは? 
 󰢃 Cloud

    Run jobs でも代替できるのでは? 
 🤔 GKEでも代替できるのでは? 
 → 代替はできるが、 不要な HTTP リッスンの実装とセキュリティ対策、 
   常時コストの発生、スケーリングの制約観点 から最適とは言えない。 
 → 常駐処理というユースケースに適さない 

  29. 疑問3: GKEでも代替できるのでは? 
 ★ すでにGKE中心のワークロードなら何ら問題なし 
 ◦ GKE上でDeployment + HPA構成でWorker

    Poolsを構成可能
 
 ★ Cloud Run中心のアーキテクチャでは、オーバーエンジニアリング 
 ◦ Worker Pools導入のためだけに、新規GKE立てるのは、
 導入・運用コスト的にも見合わないケースがほとんど
 ◦ それならCloud Run serviceでなんとか頑張るはず....

  30. ここまでの疑問をいったん整理 
 󰢃 Cloud Run service でも代替できるのでは? 
 󰢃 Cloud

    Run jobs でも代替できるのでは? 
 󰢃 GKEでも代替できるのでは? 
 → 代替はできるが、 不要な HTTP リッスンの実装とセキュリティ対策、 
   常時コストの発生、スケーリングの制約観点 から最適とは言えない。 
 → 常駐処理というユースケースに適さない 
 → 代替はできる。一方、Cloud Run 中心のアーキテクチャでは 
  オーバーエンジニアリングとなる可能性 

  31. Cloud Run Worker Poolsとは? 
 ※Google Cloud Next 2025: What’s

    new in Cloud Run (https://www.youtube.com/watch?v=PWPvX25R6dM)より一部参照
 再掲
 コスト・スケールの観点で最適化、 
 HTTPエンドポイント不要 常駐型の新しいモデル
  32. Cloud Run Worker Poolsとは? 
 ※Google Cloud Next 2025: What’s

    new in Cloud Run (https://www.youtube.com/watch?v=PWPvX25R6dM)より一部参照
 再掲
 コスト・スケールの 観点で最適化 
 常駐型の 
 新しいモデル 
 GPU 対応も加味すると、Cloud Run は Google Cloud 上で
 あらゆるワークロードに対応可能な一級市民 
 として進化していく方向性が垣間見れる

  33. まとめ
 ★ Cloud Run Worker Poolsはservice / jobsとは異なる新しい実行モデル 
 ★

    常駐稼働型 でアイドル時のコスト発生を低減 
 ★ Cloud Run はあらゆるワークロードに対応していく方向に