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

15 分で学ぶ Cloud Run のユースケースと代表的なアーキテクチャパターン

15 分で学ぶ Cloud Run のユースケースと代表的なアーキテクチャパターン

Avatar for GoogleCloudPlatformJapan

GoogleCloudPlatformJapan

September 18, 2025
Tweet

More Decks by GoogleCloudPlatformJapan

Other Decks in Business

Transcript

  1. スピーカー自己紹介 グーグル・クラウド・ジャパン合同会社 アプリケーション モダナイゼーション スペシャリスト 担当プロダクト エリアと普段の業務 • GKE、Cloud Run、CI/CD、Workstations

    など • アーキテクチャ設計や Agent などを利用したアプリ開発の支援 今日伝えたいこと • Cloud Run は規模に関わらず、幅広いユースケースで使えます! 頼兼 孝幸
  2. Google Cloud でアプリを動かす主な実行環境 1. Compute Engine - マネージド VM を稼働

    2. GKE - マネージド Kubernetes を稼働 3. Cloud Run - サーバーレス環境で関数やコンテナを稼働 Compute Engine Google Kubernetes Engine Cloud Run 抽象度 柔軟性 IaaS CaaS PaaS FaaS
  3. Google のスケーラブルなインフラ上でコードを実行するための、フルマネージド プラットフォーム Runtime • 高機能 あらゆる言語のコンテナを実行可能 • オンデマンド 事前プロビジョニングは不要

    • 弾力性 高速な自動スケーリング、 ゼロスケールも可 • インフラ管理不要 VM やクラスタの管理などが不要 Cloud Run Experience(開発体験) • シンプル 利用するまでに必要な設定は最小限 • 自動化 Cloud Run が多くの設定を自動で代行 • 開発者の生産性向上 開発者にとっての体験が自然であり、 開発やデプロイ速度の向上が見込める Pricing コード実行中のみ 100 ms 単位で課金 • CPU • Memory • リクエスト 毎月の無料枠が存在 柔軟な確約利用割引の適用が可能 固定料金なし = 未使用の間は料金がかからない
  4. jobs(バッチ処理) タスクを完了させるための実行 • 指定された数のタスクを最大 7 日間実行 (手動またはスケジュール) • ジョブの実行中のみ課金 •

    エンドポイントなし • スケーリング ◦ 最大インスタンス数を指定して 自動的にスケール • 実行した履歴を保持 services(Web / API など) HTTP トラフィックの配信と負荷分散 • HTTPS、イベント、WebSocket、 HTTP/2、gRPC 経由で呼び出される • リクエスト処理時のみ課金 • すぐに使える HTTPS エンドポイント • 関数(function)単位の実行も可能 • スケーリング ◦ 同時リクエスト数や CPU 使用 率に応じて自動 ◦ 手動(稼働数を固定) • リビジョンの履歴を保持 • トラフィック分割 worker pools(常駐ワーカー) 継続的にバックグラウンドで動く処理 • 常時起動で待機し、継続的にタスクをプル 実行する • 他のタイプより実行時の単価が安い • エンドポイントなし、各インスタンスが直接 ネットワーク通信を開始 • スケーリング ◦ 現在手動のみ • リビジョンの履歴を保持 • インスタンスの処理分割 New Cloud Run には 3 つのリソース タイプが存在
  5. まずはアプリを作って動かしてみるのがおすすめ Google AI Studio(生成 AI のアプリを作る) • Googleの AI モデルである「Gemini」

    ファミリーを、Web ブラウザ上で手軽に 試すためのプロトタイピング ツール Firebase Studio (Project IDX)(生成 AI でアプリを作る) • AI によるコーディング支援を受けながら、 Web アプリやバックエンドをブラウザ上で 開発・デプロイするための IDE Google アカウントがあれば無料で使えます Cloud Run service https://aistudio.google.com https://studio.firebase.google.com or https://idx.google.com Cloud Run へのデプロイ が統合されている
  6. ソースコードがある場合は 1 コマンドでデプロイ - 要件が合えばベースイメージの自動更新機能も利用可能 gcloud run deploy \ --source

    . \ --base-image nodejs22 \ --automatic-updates 再ビルドや再デプロイする必要なく、 セキュリティ パッチを自動適用 Google Cloud の Buildpack ベース イメージをサポート https://cloud.google.com/docs/buildpacks/base-images
  7. Cloud Run services 編 - 開発、社内向け Web アプリ 社員 一般ユーザー

    ✓ Identity-Aware Proxy Cloud Run Web App Cloud Run 用に Identity-Aware Proxy を構成する | Cloud Run Documentation | Google Cloud IAM による認証 / 認可 IAP 認証あり
  8. Cloud Run services 編 - Web アプリ VPC Cloud SQL

    Cloud Run SSR サーバー Cloud Run に Next.js サービスをデプロイする | Cloud Run Documentation | Google Cloud 認証なし Direct VPC
  9. Cloud Run services 編 - Web アプリと API Cloud Run

    に Next.js サービスをデプロイする | Cloud Run Documentation | Google Cloud Cloud Run API サーバー VPC Cloud SQL Cloud Run SSR サーバー 認証なし IAM 認証あり Direct VPC 認証トークン
  10. Cloud Run services 編 - Web アプリと API 応用 Cloud

    Run API サーバー VPC Cloud SQL Cloud Storage 静的コンテンツ Application Load Balancer Cloud CDN Cloud Run SSR / BFF Cloud Run に Next.js サービスをデプロイする | Cloud Run Documentation | Google Cloud 認証なし / Ingress = ALB IAM 認証あり Direct VPC Host / Path ベース ルーティング 認証トークン Cloud Armor
  11. Cloud Run services 編 - クライアントのデータ収集 Google Cloud でのストリーミング データ

    パイプラインの構築 | Google Cloud ブログ Cloud Run データ整形、proxy BigQuery Pub/Sub Storage Write API BigQuery Subscription メッセージ送信 (キューイング) クライアント
  12. Cloud Run services 編 - イベント トリガー Eventarc イベントトリガー Cloud

    Storage ファイル Cloud Run functions or API アップロード イベント発火 呼び出し IAM 認証あり Eventarc を使用して Cloud Storage からイベントを受信する | Cloud Run Documentation | Google Cloud Firestore 書き込み
  13. Cloud Run services 編 - サービス メッシュ - 特に、多くのサービス間で API

    連携がある場合で有用 Cloud Run 用に Cloud Service Mesh を構成する | Google Cloud Cloud Run Cloud Run asia-northeast1 Cloud Run Cloud Run asia-northeast2 Cloud Service Mesh IAM 認証あり IAM 認証あり IAM 認証あり IAM 認証なし Private Network リクエスト時の認証ヘッダを アプリで設定する必要なし 複数リージョンのトラフィック分割 なども可能
  14. Cloud Run services 編 - AI エージェント Cloud Run で

    AI アプリとエージェントをホストする | Cloud Run Documentation | Google Cloud
  15. Cloud Run jobs 編 - 定期 or 手動バッチ処理 Cloud Run

    jobs 1 つのジョブ実行 Cloud Scheduler 定期的 (cron 指定) に HTTP エンドポイントを 呼び出せる スケジュールに従ってジョブを実行する | Cloud Run Documentation | Google Cloud 手動実行も可
  16. Cloud Run jobs 編 - 定期 or 手動バッチ処理 Cloud Run

    jobs 1 つのジョブ実行 Cloud Scheduler 定期的 (cron 指定) に HTTP エンドポイントを 呼び出せる スケジュールに従ってジョブを実行する | Cloud Run Documentation | Google Cloud 手動実行も可 タスクを分散処理し、 完了までの時間を短縮可能 Task 1 Task 2 Task n ︙ 各タスクのインデックスが インスタンスの環境変数に格納
  17. Cloud Run jobs 編 - 定期 or 手動バッチ処理 Cloud Run

    jobs 複数のジョブ実行 Cloud Scheduler 定期的 (cron 指定) に HTTP エンドポイントを 呼び出せる Workflows を使用して Cloud Run ジョブを実行する | Workflows Documentation | Google Cloud Workflows Cloud Run jobs オーケストレーション 手動実行も可 1 2
  18. Cloud Run worker pools 編 - キューの処理(概念) タスクキュー Worker pools

    Worker Worker Worker Task Task Task キューに蓄積したタスクを Worker が処理する
  19. Cloud Run worker pools Pub/Sub Cloud Run worker pools Cloud

    Run worker pools 編 - キューの処理 Cloud Run worker pools Pull Memorystore Valkey / Redis Cloud Run service Rails Web App Cloud Run worker Sidekiq worker Pull Push ワーカープールを Cloud Run にデプロイする | Cloud Run Documentation | Google Cloud Cloud Run service Data publisher Push Pub/Sub キューの処理 Rails の Sidekiq 利用例 Cloud Run service を 利用して Push で連携 するのでも良い 責務を分離 Cloud Run worker Sidekiq worker