アプリケーション開発やWeb開発などに活用されているコンテナを扱うには、本来、DockerやKubernetesといった複雑かつ難解な技術を習得したり、理解したりする必要があります。そのため、「初心者にとってコンテナ運用はハードルが高い」と感じている方も多いのではないでしょうか。
このようなケースでは、今回紹介するCloud Runを活用するのがおすすめです。Cloud Runは、Google Cloudに搭載されているサービスの一つで、任意のプログラミング言語を使ってコンテナイメージを作成するだけで、簡単かつ短時間でコンテナをデプロイできるようになります。JavaやPythonなど、普段使用しているプログラミング言語に対応しているため、新たな知識や技術を習得せずに済むのが利点です。本記事では、Cloud Runの特徴や仕組み、機能、料金体系などを詳しく解説します。具体的な導入方法も紹介しているので、コンテナの活用を検討している方はぜひ参考にしてください。
Cloud RunとはGoogleが提供するサーバーレスのコンテナ実行環境
Cloud Runは、Google Cloudに搭載されているサービスの一つで、サーバーレスでコンテナの実行環境を利用できます。自身で作成したコンテナを、Googleが持つ高耐久かつセキュアなサーバー環境で稼働させることが可能です。
Cloud Runは、アプリケーション開発やWeb開発でよく利用されますが、そもそもコンテナの仕組みをしっかりと理解していなければ運用が困難だといえます。そのため、まずはアプリケーション開発におけるコンテナの役割や、そこから見えるCloud Runの仕組みなどについて詳しく解説します。
アプリケーション開発におけるコンテナの役割
IT業界におけるコンテナとは、アプリケーション開発やWeb開発で用いられる用語の一つです。コンテナには「容器・入れ物」といった意味があり、その文字通り、内部にさまざまなものを格納できます。アプリケーション開発やWeb開発では、このコンテナにアプリケーションやミドルウェア、OSライブラリなど、アプリケーションを実行するためのOSの基本環境(カーネル)を格納します。
実際にアプリケーションを実行する際は、複数のコンテナ間でカーネルを共有します。つまり、一つひとつのコンテナにカーネルが分散して保管されるため、カーネルの軽量化とアプリケーションを実行する際の高速化のメリットが生まれます。また、コンテナはハードウェアやOSから独立していることから、オンプレミスやクラウドといった別の環境にカーネルを移行できるのもポイントです。
Cloud Runの仕組み
Cloud Runは、このコンテナの仕組みがベースとなっています。プログラミングコードを用いてコンテナをイメージ化することで、デプロイ(アプリケーションの機能をサーバー上に配置すること)の処理だけでアプリケーションを実行できます。
コンテナイメージからアプリケーションを実行できるので、実行環境に高い柔軟性が生まれるのが特徴です。そのため、アプリケーション開発やWeb開発だけでなく、モバイル・APIのバックエンド、バッチデータ処理など、活用シーンの幅も広がります。
また、Cloud Runは、JavaやPython、Goなど、さまざまなプログラミング言語に対応しています。使い慣れたプログラミング言語を使ってコードを記述できるのも、Cloud Runの大きなメリットだろいえるでしょう。
Google Kubernetes Engine(GKE)との違い
Google Cloudには、Cloud Runのほかにもコンテナ関連のサービスが存在します。それが「Google Kubernetes Engine(GKE)」と呼ばれるサービスです。
GKEは、コンテナの運用管理を自動化できるKubernetesというオープンソースソフトウェアがベースとなっています。このコンテナの運用管理を自動化できるツールは「コンテナオーケストレーション」と呼ばれ、コンテナ化されたアプリケーションのデプロイやアップデート、ロールバックなど、一連の処理を自動的に実行できる特徴があります。
一方のCloud Runは、Knativeというオープンソースソフトウェアが基盤技術となっています。Knativeとは、サーバーレスでKubernetes上にコンピューティング基盤を構築できるソフトウェアです。
Cloud Runは、あくまでサーバーレス環境でコンテナをスムーズに実行するためのサービスです。そのため、アプリケーションのデプロイ速度を向上させたり、開発に集中したりする場合に向いています。その点、コンテナの運用管理をより効率化させ、管理業務の手間やコストを削減したい場合は、Cloud RunよりもGKEを活用するのが良いでしょう。
Cloud Runの5つの特徴
Cloud Runには次のような特徴があります。
- 高速かつ自動でスケーリングされる
- 冗長化やフェイルオーバーの仕組みが備わっている
- 異なる開発環境へスムーズに移行できる
- プログラミング言語やOSライブラリの制約がない
- ITインフラを管理することなく運用できる
それぞれの特徴について詳しく解説します。
高速かつ自動でスケーリングされる
スケーリングとは、HTTPSエンドポイントで受信したリクエスト数によってサーバーの数を調整する作業です。スケーリングを実施すると、一時的にトラフィック量が増減した場合でも、処理能力を柔軟に調節できます。
Cloud Runは、このスケーリングを高速かつ自動的に実行できるのが特徴です。具体的には、リクエストを受信した段階でコンテナインスタンス(コンテナの実行環境)を自動調整します。
サーバー数を増やして処理能力を高めるスケールアウトの際は、コンテナインスタンスを最大1,000まで増加できます。一方、サーバー数を減らしてリソースを削減するスケールインの場合は、コンテナインスタンスを最小限のゼロにまで抑えられます。
自動スケーリングの機能により、コンテナ運用に柔軟性が生まれ、想定外のトラフィックの増加に対応しやすくなったり、運用コストを最適化できたりと、さまざまなメリットが生まれます。
冗長化やフェイルオーバーの仕組みが備わっている
Cloud Runには、冗長化とフェイルオーバーの仕組みが標準機能として備わっています。冗長化とは、障害に備えて予備のシステムやサーバーを用意しておくことを指し、フェイルオーバーは、実際に障害が発生した際、その予備のシステムやサーバーに自動で切り替わる仕組みのことです。
Cloud Runは「リージョナルサービス」に位置しており、契約時にリージョン(サーバーが設置されているエリア)を選択できますが、そのなかに含まれているゾーン(リージョンを地域ごとに細かく区分したエリア)は指定できません。その代わり、Cloud Runで作成したコンテナやサービスなどは、リージョン内の複数のゾーンに自動で複製される仕組みです。
ユーザーにとってはゾーンを特に意識する必要がなく、サービス利用時にかかる負荷を適切かつ自動的に分散できるメリットがあります。各ゾーンで障害が発生した場合でも、フェイルオーバーによって自動で対応が行われます。
異なる開発環境へスムーズに移行できる
Cloud Runには、Knativeというオープンソースソフトウェアの技術が採用されています。Cloud Runに実装されているKnativeのAPIを利用すると、コンテナ化されたアプリケーションを別の環境へと容易に移行できます。
異なる環境下においても、アプリケーションやミドルウェアなどにもともと含まれていた構成がそのままコピーされるのが特徴です。つまり、オンプレミス環境や別のクラウド環境に移行した場合でも、Cloud Runと同じようにアプリケーション開発を行えるということです。
この仕組みをうまく活用すれば、複数のクラウド上に運用環境を構築するマルチクラウドや、プライベートクラウドとパブリッククラウドを組み合わせたハイブリッドクラウドにも対応しやすくなるでしょう。
プログラミング言語やOSライブラリの制約がない
Cloud Runは、JavaやPython、Goなど、さまざまなプログラミング言語に対応しており、使用する言語に大きな制約がありません。コンテナの運用担当者からすれば、使い慣れたプログラミング言語を使用できるのが魅力です。企業にとっても、新しい言語を習得する教育コストや、高度な人材を採用する人件費をかけずに済むメリットがあります。
あわせて、OSライブラリに制限がないのもCloud Runの特徴だといえます。そのため、Google Cloudに搭載されている、Cloud BuildやArtifact Registryといった別のサービスとの親和性が生まれ、現行環境に合わせて幅広い用途でアプリケーション開発を行えます。
ITインフラを管理することなく運用できる
Cloud Runはフルマネージドサービスに該当します。フルマネージドとは、サーバーやネットワークをはじめとするITインフラの運用を、サービス提供事業者が肩代わりしてくれるサービスです。システムの監視やデータのバックアップ、障害対応など、運用管理にかかわるほぼすべての作業を一任してくれます。
もともとクラウドサービスであるCloud Runは、サービス利用時に自前でハードウェアを用意する必要がありません。それだけではなく、フルマネージドサービスだからこそ、ハードウェアやミドルウェアを定期的にメンテナンスしたり、ネットワークやOSを設定したりする必要もなく、より少ない工数でサービスを利用できます。結果として、アプリケーション開発に注力できる環境が整います。
Cloud Runに搭載されている4つの機能
Cloud Runには、Cloud Run servicesやCloud Run jobsなど、複数の機能が搭載されています。それぞれ、コンテナのデプロイ時やアプリケーションの実行時に使用する機能なので、それぞれの性質や使い方を押さえることが大切です。各機能について詳しく解説します。
Cloud Run services
Cloud Run servicesは、コンテナ化されたアプリケーションを、HTTPSエンドポイントを含むサービスとして実行できる機能です。コンテナインスタンスに加え、HTTPSリクエストを受信するためのエンドポイントが提供されます。
実際にコンテナをデプロイすると、HTTPSエンドポイントを持つサービスとして自動で公開される仕組みです。HTTPSリクエストをトリガーに実行されるアプリケーションやWebサイト、APIバックエンドなどを開発する際は、Cloud Run servicesを利用するのが望ましいでしょう。
Cloud Run jobs
Cloud Run jobsは、入力したプログラミングコードを、ジョブとして任意のタイミングで実行できる機能です。HTTPSリクエストを起点に実行されるCloud Run servicesとは異なり、Cloud Run jobsは、トリガーとして日時や特定のタスクなどを指定できます。
Cloud Run jobsでは、1タスクあたり24時間の最大実行時間が設けられています。また、ジョブに関しては、最大実行時間の制限がないのも特徴です。
そのため、1時間以上を要する処理や並列処理など、Cloud Run servicesでは対応が難しい作業を実行できます。具体的には、リソース効率の高いバッチ処理や、バックグラウンドタスクの処理など、一度きりの処理を行う際はCloud Run jobsを利用するのがおすすめです。
Cloud Run functions
Cloud Run functionsは、コンテナイメージを使用することなく、関数を用いてアプリケーションを実行できる機能です。もともとは、Google Cloud内で「Cloud Functions」と呼ばれるサービスとして提供されていましたが、2024年8月にCloud Runの機能の一つとして統合されました。
Cloud Run functionsの関数には、HTTP関数とイベントドリブン関数の2種類があります。HTTP関数はHTTPリクエストを起点に、イベントドリブン関数は特定のイベントを起点にアプリケーションを実行できます。いずれもコンテナイメージなしで、ソースコードをデプロイするだけで済む簡易性を備えています。
サポートされている言語は、JavaやPython、Go、Rubyといった幅広い種類があります。ただし、旧バージョンのプログラミング言語を使用すると、ランタイムの廃止や非推奨化などが発生する可能性があるので注意が必要です。
Cloud Run worker pools
Cloud Run worker poolsは、ほかの機能とは異なり、プル型でワークロードを実行する機能です。
Cloud Run servicesやCloud Run jobsなどは、HTTPSリクエストやAPIといったトリガーをもとにアプリケーションを実行する、いわゆるプッシュ型の仕組みを採用しています。一方のCloud Run worker poolsは、Pub/SubやApache Kafkaなどのメッセージキューに対して、アプリケーション側で能動的にタスクやメッセージを取得する形式となります。
本来、Pub/Subのプルサブスクリプションからメッセージを取得して処理を行ったり、Apache Kafkaのキューからタスクを取得して処理を実行したりするには、GKEをはじめとするITインフラを一元管理するようなツールが必要でした。しかし、Cloud Run worker poolsでは、サーバーレス環境でプル型のワークロードを実行でき、ITインフラの管理が不要になるため、ほかのツールを導入することなく単独で上記のような処理が可能になります。
Cloud Runの始め方
Cloud Runを始める際の手順は次の通りです。
- Google Cloudへのアカウント登録
- コンテナのデプロイテスト
それぞれの進め方やポイントを解説します。
1. Google Cloudへのアカウント登録
Cloud Runの公式サイトにアクセスし、[Cloud Run 無料トライアル]をクリックします。

Googleアカウントのログイン画面が現れるので、ID(Gmailアドレス)とパスワードを入力しましょう。

初めてGoogle Cloudを利用する際は、そのアカウントと支払情報の登録が必要です。まずは、アカウント情報として利用する国と利用目的を入力します。利用規約にチェックを入れ、[続行]をクリックしてください。

続いて、支払情報を入力します。

情報の入力後、[無料トライアル]を開始をクリックすると、自動的にCloud Runのコンソール(管理)画面に移行します。
2. コンテナのデプロイテスト
ここでは、テストとして仮のコンテナをデプロイしてみましょう。Cloud Runのコンソール画面の下部に表示されている、[サービスの作成]をクリックします。

[既存のコンテナイメージから1つのリビジョンをデプロイする]の項目の下にある、[サンプルコンテナでテスト]をクリックします。すると、[コンテナイメージのURL]の項目に自動で仮コンテナのURLが現れます。

また、画面を下にスクロールした際に表示される、[認証]の項目も設定しましょう。今回はテスト用のコンテナをデプロイするだけなので、どちらの項目にチェックを入れても構いません。

そして、画面下部の[作成]をクリックすると設定は完了です。やや時間が経過してからコンソール画面を更新すると、サービスの一覧に作成したサービスが表示されます。サービス名の左隣に緑色のチェックマークが表示されていれば、無事にデプロイが完了したことを表します。

本番環境でサービスを作成する場合は、[サンプルコンテナでテスト]をクリックせずに、上記の流れと同じように設定を行います。
Cloud Runの料金体系
Cloud Runの料金は、リクエストベース課金とインスタンスベース課金の2種類に分かれます。それぞれの課金形態の仕組みと詳細な料金を解説します。
※料金はすべて東京リージョン、2025年7月時点のもの
リクエストベース課金の料金
リクエストベース課金とは、リクエストの処理中にコンテナインスタンスへ割り当てられたCPUとメモリの利用時間単位で料金が発生する課金形態です。Cloud Runでは、このリクエストベース課金がデフォルトの状態として設定されています。
1ヶ月ごとに無料枠を利用でき、その枠を超過すると実際に料金が発生する仕組みです。東京リージョンにおける料金は次の通りです。
| CPU | メモリ | リクエスト | |
| 無料枠 | 180,000vCPU 秒/月 | 360,000GiB 秒/月 | 200万リクエスト/月 |
| 通常料金 | $0.000024/vCPU 秒 | $0.0000025/GiB 秒 | $0.4/100万リクエスト |
| 通常料金 (アイドル状態時) |
$0.0000025/vCPU 秒 | $0.0000025/GiB 秒 | - |
| 確約利用割引利用時 | $0.00001992/vCPU 秒 | $0.000002075/GiB 秒 | $0.332/100万リクエスト |
なお、最小インスタンス数を1以上に設定しており、リクエストを受信していなければ、アイドル状態とみなされ、通常料金よりも低い価格が適用されます。また、Cloud Runの利用期間を1年間または3年間で確約すると、確約利用割引が適用され、通常料金よりも価格を抑えられます。
インスタンスベース課金の料金
インスタンスベース課金とは、コンテナインスタンスを起動してから終了するまでの間、使用したリソースに応じて料金が発生する課金形態です。
リクエストがない場合でも常に料金が発生しますが、リクエストベース課金よりも費用を抑えられるため、コンテナインスタンスで常に何かしらの処理を行うような場合には、インスタンスベース課金を選択したほうがお得になります。リクエストベース課金よりインスタンスベース課金の料金が安いのは、コンテナインスタンスに常時CPUやメモリが割り当てられるためです。
東京リージョンにおける料金は次の通りです。
| CPU | メモリ | |
| 無料枠 | 240,000vCPU 秒/月 | 450,000GiB 秒/月 |
| 通常料金 | $0.000018/vCPU 秒 | $0.000002/GiB 秒 |
| 確約利用割引利用時 (1年契約) |
$0.00001296/vCPU 秒 | $0.00000144/GiB 秒 |
| 確約利用割引利用時 (3年契約) |
$0.00000972/vCPU 秒 | $0.00000108/GiB 秒 |
インスタンスベース課金は、非同期処理やバックグラウンドのタスクを処理する際に向いています。このようなケースでは、リクエストがない場合でもコンテナインスタンスに常時CPUやメモリを割り当てる必要があるため、インスタンスベース課金を選択することで費用を抑えやすくなります。
Cloud Runを活用して効率的なコンテナ実行環境を構築しよう
Cloud RunはGoogle Cloudに搭載されているサービスの一つで、サーバーレスの環境下で効率良くコンテナを実行できる特徴があります。自動スケーリングや冗長化、フェイルオーバーなど、コンテナをデプロイする際の効率性や安全性を高められるさまざまな機能を利用できるのが特徴です。
Google Cloudには、Cloud Runのほかにも、コンテナの運用管理を自動化できるGKEや、アプリケーションを容易に実行できるGoogle App Engine(GAE)など、100種類以上のサービスが搭載されています。それぞれのサービスは単独で利用できるのはもちろん、複数を組み合わせて活用することも可能なので、組み合わせ次第で独自のアプリケーション開発基盤を整えられるでしょう。
電算システムでは、Google Cloudのスターターパックサービスや技術コンサルティングサービスなどを提供しています。Google Cloudを活用したデータ分析基盤の構築方法や、データの活用方法などに関して、プロの観点からアドバイスを行っています。「Google Cloudを活用したいが具体的なイメージが湧かない」といったお悩みを抱える方は、ぜひ電算システムへと気軽にお問い合わせください。
監修者
<保有資格>
・Associate Cloud Engineer
・Professional Cloud Architect
・Professional Data Engineer
・Professional Cloud Database Engineer
・Professional Cloud DevOps Engineer
・Professional Cloud Developer
・Professional Cloud Security Engineer
・Professional Cloud Network Engineer
・Professional Workspace Administrator
- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- cloud run とは / cloud run 料金

