Cloud Runを理解しよう!初心者向け基礎ガイド編
はじめに
こんにちは、クラウドエースの永井です。
前回の記事「初学者向けの GCS」はもうお読みいただけましたか?
まだの方は、よければこちらもご覧ください。
今回は、前回に引き続き、できるだけ専門用語を使わずに Cloud Run を解説していきます。
この記事では、「Cloud Run とは何か」や「Cloud Run の主な特徴」、「どんなときに使えるか(ユースケース)」について、初心者の方でもわかりやすく解説します。
各セクションには関連する公式ドキュメントも掲載しているので、詳細を知りたい方はぜひご参照ください。
今回対象のプロダクト
- Cloud Run
- Cloud Run services
- Cloud Run Jobs
💡 注意:今回対象外のプロダクト
- Cloud Functions
- Cloud Run worker pools
これらは別記事で執筆予定なので乞うご期待!
対象読者
この記事は、Google Cloud にまだ慣れていない方や、Cloud Run を初めて触る方向けに書いています。特に、
- 新卒やインターンなど初学者の方
- Google Cloud をこれから使い始める業務エンジニア
- クラウド導入を検討中の社内 SE
といった方々が、専門用語にとらわれずにスムーズに Cloud Run の基本を理解できることを目指しています。
Cloud Run とは
Cloud Run は、Google Cloud が提供するフルマネージド型 PaaS(Platform as a Service)です。
コンテナ化されたアプリケーションを簡単にデプロイでき、アクセス数に応じて自動的にスケーリングします。
サーバーの構築や運用保守は不要で、開発者はアプリケーションの開発に集中できます。
従来のアプリケーション公開の仕組み
通常、アプリケーションを公開するには、次のように「サーバー」を自分で用意し、ユーザーのアクセスに対応できるように設定・管理する必要があります。
上の図のように、
- 開発者はサーバーを構築し、アプリケーションを配置します。
- ユーザーはインターネット経由でそのサーバーにアクセスして利用します。
しかしこの方法では、開発者が以下のような作業をすべて対応する必要があります。
- サーバーの構築
- OS・セキュリティ更新
- 運用・保守
Cloud Run での変化
Cloud Run を使えば、上の図のようにサーバー管理作業をすべて Google Cloud が代行してくれます。
そのため、開発者はアプリケーションの開発そのものに集中できるようになります。
このような仕組みは、PaaS(Platform as a Service) と呼ばれます。
Cloud Run の特徴
1. サーバーの準備が不要
先ほども解説したように、Cloud Run ではサーバーを自分で用意しなくてもアプリケーションを動かせます(これを「サーバーレス」と呼びます)。
つまり、サーバーの構築・管理・運用といった作業をすべて Google Cloud に任せられるため、
開発者はアプリケーションの開発に専念することができます。
2. 自動スケーリングとゼロスケーリング
アプリケーションへのアクセスが急増すると、通常のサーバーでは処理能力の限界を超えてしまい、アクセス不可やレスポンス低下などの不具合が発生することがあります。
Cloud Run では、このような問題を防ぐために、**アクセス数に応じて自動的にコンテナの数を調整する「自動スケーリング機能」**が提供されています。
これにより、安定してアプリケーションを運用することが可能です。
また、深夜などアクセスがほとんどない時間帯には、**自動的にインスタンスをゼロにスケーリング(停止)**し、無駄なコストを削減することもできます。
これを ゼロスケーリング と呼びます。
💡 注意
Cloud Run がゼロスケーリング状態になっている場合、**初回のアクセス時にはインスタンスの起動時間(コールドスタート)**が発生し、数秒程度の遅延があることがあります。
📚 参考資料:
3. 従量課金制
Cloud Run は、アプリケーションが動作していない間は料金が発生しません。
実際にアプリケーションがリクエストを受け取り、処理を行った時間やリソース使用量に応じて、従量課金される仕組みです。
そのため、アクセスがない時間帯にはコストがかからないという非常に効率的な課金モデルになっています。
また、Cloud Run には毎月一定の 無料枠 が提供されており、小規模なアプリケーションや検証・学習用途であれば、無料で利用できるケースも多いです。
✅ 2025 年 8 月時点の無料枠(東京リージョン)
- 180,000 vCPU 秒 / 月
- 360,000 GiB 秒 / 月
- 2,000,000 リクエスト / 月
💡 ざっくり言うと…
0.25 vCPU・512MiB メモリ構成なら、約 200 時間 / 月まで無料で稼働できます!
📚 参考資料:
4. デプロイが簡単
デプロイ(Deploy) とは、開発したアプリケーションを 実際に動かせる環境に配置して、利用できる状態にする作業 のことを指します。
たとえば、ローカルのパソコンで動かしていた Web アプリを、インターネット上で誰でもアクセスできるようにするには、サーバーなどの公開環境に「配置」する必要があります。
この「配置して動くようにする」ことが、まさに デプロイ です。
このデプロイ作業は、Cloud Run では非常に簡単に行うことができます。
デプロイを開始すると、わずか数十秒で URL が自動発行され、作成したアプリケーションをすぐにブラウザで確認できます。
複雑なサーバー構成やドメイン設定を行う必要もなく、Cloud Run が裏側ですべて処理してくれるため、
「開発 → デプロイ → 公開」までの流れが非常にスムーズです。
さらに、Cloud Run では ソースコードだけを用意すれば、Dockerfile がなくてもデプロイすることが可能です。
コードをそのまま指定するだけで、Cloud Run が自動的にビルドの手順を判断し、アプリケーションを公開してくれます。
そのため、コンテナの知識がなくても、「とりあえずアプリを動かしたい」というときにもすぐに始められるのが大きな魅力です。
💡 補足:Dockerfile とコンテナとは?
- Dockerfile:アプリを動かすのに必要な設定(どの言語を使うか、何を実行するかなど)をまとめたレシピのようなファイルです。
- コンテナ:アプリとその実行に必要な環境をまるごとパッケージ化したもの。
どこでも同じように動かせるのが特徴です。通常はこの Dockerfile を自分で用意する必要がありますが、Cloud Run ではそれすら不要なケースもあります。
⚠ 本番運用での注意点
上記のように Cloud Run は少ない手順でデプロイできますが、本番環境として利用する場合は以下の点も意識しましょう。
-
Dockerfile を用いた明示的な環境構築
ビルド環境を固定化することで、開発と本番での挙動の差異を防ぎます。 -
セキュリティ設定
公開アクセス制限、HTTPS 強制、サービスアカウントの適切な権限設定など。 -
他の Google Cloud サービスとの連携
例:Cloud SQL、Cloud Storage、Secret Manager などと組み合わせた構成。 -
監視とロギング
Cloud Monitoring や Cloud Logging を使って稼働状況やエラーを把握。
こうした追加設定により、セキュリティや安定性を確保しながら、安全に本番運用できます。
5. 幅広い言語や環境に対応
Cloud Run は、コンテナベースで動作するため、どんな言語やフレームワークでも実行可能です。
Node.js や Python、Go、Java はもちろん、Rust や PHP、さらに自作のバイナリや Dart など多様な環境に対応しています。
💡 補足:Cloud Functions や App Engine は対応言語が限られていますが、Cloud Run は「コンテナさえ動けば基本何でも OK」です。
つまり、「自由な開発環境で作ったアプリを、そのままクラウドに持っていける」柔軟性こそが、Cloud Run の大きな魅力です。
📚 参考資料:
その他の便利なポイント
ここまで紹介した特徴以外にも、Cloud Run には以下のような便利な機能があります:
-
セキュリティも安心
自動で HTTPS に対応しており、SSL 証明書の設定は不要です。IAM(Identity and Access Management)との連携により、誰がアクセス・操作できるかを細かく制御できます。 -
サービス間認証の仕組みが使える
Cloud Run 同士や、Cloud Functions・Workflows などのサービスと トークンベースで安全に連携することが可能です。外部公開しなくても、内部システム間の安全な通信が構築できます。 -
リビジョン管理とロールバックが簡単
Cloud Run ではデプロイのたびに「リビジョン」が自動で作成され、前のバージョンにいつでも戻すことができます。テスト運用や本番デプロイ時の安心感が高まります。
📚 参考資料:
ユースケース
Cloud Run は自由度の高いサービスですが、特に以下のような使い方と相性が良いとされています。
1. 社内向けのちょっとしたツールを公開したいとき
チーム内だけで使う確認ツールや、簡単な業務支援アプリなどをすばやくクラウドに公開したいときに Cloud Run は非常に便利です。
- 自分のパソコンではなく、インターネット上に公開して使いたい
- サーバー構築などのインフラ設定を自分でやりたくない
- 使わないときは料金をかけたくない
というニーズをすべてカバーできます。
💡 用語補足
- Cloud Build:ソースコードをもとに、自動でアプリをビルド(実行可能な形に変換)してくれるサービス
- Artifact Registry:ビルド済みのアプリ(コンテナ)を保管しておく倉庫のようなサービス
Cloud Run にデプロイすると、裏側でこれらが自動的に使われます。
ただし 最初に触るときは特に意識する必要はなく、「コードを書いてデプロイしたらすぐ使える」と覚えておけば十分です。
2. 毎日・毎週など、定期的に処理を動かしたいとき
Cloud Run の ジョブ機能(Cloud Run Jobs) を使えば、決まったタイミングで自動的にプログラムを実行することができます。
- 毎朝 8 時にファイルを生成・保存する
- 毎週データをまとめて整理する
など、決まったスケジュールで実行されるバッチ処理に最適です。
また、処理内容が毎回変わるようなバッチ処理にも対応できます。
💡 この構成図では、ユースケース ① で紹介した ビルドや Artifact Registry の工程を省略し、
「ジョブを定期的に実行する流れ」だけを簡潔に示しています。
📚 参考:
Cloud Run Jobs(公式)
3. 外部サービスから通知を受け取りたいとき
たとえば、以下のような「他のサービスから送られてくる通知(Webhook)」を受け取って処理する仕組みも簡単に作れます。
- オンライン決済サービスからの注文通知
- チャットツールからのメッセージ
- 業務ツールからの自動連携リクエスト
このような 「通知の受け口」としての API を Cloud Run で公開することで、
サーバーの構築なしに簡単に連携が実現できます。
💡 用語補足
Webhook は、あるサービスでイベントが発生した際に、あらかじめ指定しておいた URL に対して自動的に通知(データ送信)してくれる仕組みです。
例えば「支払いが完了したら、この URL に結果を通知する」といった形で利用されます。
📚 参考:
Cloud Run で HTTPS リクエストを受け取る方法(公式)
次回は実際に「動かしてみる」!
次回の記事では、ここで紹介したユースケースの中から、Python で作成した Web アプリケーションを Cloud Run にデプロイする方法を、画面キャプチャ付きで解説します。
- Google Cloud Console を使った GUI でのデプロイ方法
-
gcloud
コマンドを使った CLI でのデプロイ方法
の 2 パターンを紹介予定です。
「まずは Cloud Run を実際に触ってみたい」という方は、ぜひ次回もご覧ください!
おわり
本記事では、Cloud Run の基本的な仕組みや特徴、活用場面についてご紹介しました。
サーバーレスや自動スケーリングなど、クラウドならではの便利さを少しでも実感していただけたら幸いです。
次回は実際にアプリを Cloud Run 上にデプロイし、動かしてみるステップを解説します。
「試してみたい!」という方は、ぜひ続編もご覧ください。
Discussion