【ITニュース解説】Part-41: 🚀Google Cloud Run Services - Create Service, Traffic Management, Autoscaling, Revisions and Versions

2025年09月06日に「Dev.to」が公開したITニュース「Part-41: 🚀Google Cloud Run Services - Create Service, Traffic Management, Autoscaling, Revisions and Versions」について初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

ITニュース概要

Google Cloud Runは、インフラ管理不要でコンテナアプリをデプロイ・実行できるサーバーレスプラットフォーム。HTTPSエンドポイントが自動で割り当てられ、公開・非公開設定も可能。リクエスト数に応じて自動でスケールし、使った分だけ料金が発生。トラフィック分割機能で、新バージョンの段階的なリリースやA/Bテストも簡単。gcloudコマンドを使った操作も紹介。

ITニュース解説

Google Cloud Runは、インフラの管理を気にすることなく、コンテナ化されたアプリケーションをデプロイ・実行できるフルマネージドのサーバーレスプラットフォームだ。小規模なAPIから大規模な本番アプリケーションまで、Cloud Runは受信リクエストに基づいてシームレスにスケールする。

Cloud Runの重要な機能として、まず、ユニークなHTTPSエンドポイントがある。Cloud Runにデプロイされたすべてのサービスは、固有のHTTPSエンドポイントを持つ。これにより、手動で証明書を設定する必要なく、サービスはすぐに安全にアクセス可能になる。

次に、プライベートサービスとパブリックサービスを使い分けられる。サービスをインターネットに公開することも、組織内で内部ワークロードとしてプライベートに保つこともできる。この柔軟性により、顧客向けのアプリケーションとバックエンドのマイクロサービスの両方に適している。

また、従量課金制の料金体系も魅力だ。アイドル状態のリソースに対して料金を支払う必要はない。Cloud Runでは、リクエストの処理に使用されたコンピューティング時間とリソースに対してのみ料金が発生する。そのため、従来のVMベースのデプロイメントと比較してコスト効率が高い。

Cloud Runには、トラフィック分割とバージョン管理機能が組み込まれている。新しいバージョンをデプロイし、トラフィックを徐々に移行できる(例:10%→50%→100%)。問題が発生した場合は、すぐにロールバックできる。これは、A/Bテストやカナリアデプロイメントに非常に役立つ。

さらに、高速なリクエストベースの自動スケーリングも備わっている。Cloud Runは、受信リクエストに基づいてコンテナを自動的にスケールする。アイドル時にはインスタンスがゼロになり、トラフィックのピーク時には数千のインスタンスに水平方向にスケールする。これにより、必要な分だけ料金を支払い、予期しないトラフィックの急増にも容易に対応できる。

Cloud Runを選択する理由としては、まず、開発者にとって使いやすいことが挙げられる。たった1つのコマンドでデプロイできる。また、HTTPS、IAM統合、プライベートネットワーキングなど、デフォルトでセキュリティが確保されている。そして、ゼロから数千のリクエストまで即座に対応できるスケーラビリティとコスト効率の高さも魅力だ。

Cloud Runサービスを作成する手順は以下の通りだ。まず、Google CloudコンソールでCloud Runに移動し、「サービスの作成」を選択する。次に、既存のコンテナイメージ(例:stacksimplify/google-cloud-run:v1)からリビジョンをデプロイする。サービス名(例:myservice1)を指定し、認証を「未認証の呼び出しを許可する」に設定する。コンテナポートを80に設定し、他の設定はデフォルトのままにして、「作成」をクリックする。

Cloud Runサービスには、サービスごとにユニークなサブドメイン(*.run.app)を持つHTTPSエンドポイントが提供される。カスタムドメインもサポートされ、TLS、WebSocket、HTTP/2、gRPC(エンドツーエンド)も管理される。

料金モデルは、リクエストベースとインスタンスベースの2種類がある。リクエストベースでは、インスタンスがリクエストを処理していない場合、CPUは割り当てられず、料金も発生しない。リクエストごとに料金が課金される。インスタンスベースでは、インスタンスのライフタイム全体に対して料金が課金され、CPUは常に割り当てられる。リクエストごとの料金は発生しない。

アプリケーションを更新するには、Cloud Runでサービスを選択し、「新しいリビジョンの編集とデプロイ」を選択する。新しいコンテナイメージ(例:stacksimplify/google-cloud-run:v2)を指定し、「このリビジョンをすぐに提供する」をチェックして、「デプロイ」をクリックする。

Cloud Runのトラフィック管理機能を使用すると、トラフィックを最新のリビジョンにルーティングしたり、以前のリビジョンにロールバックしたり、複数のリビジョンに同時にトラフィックを分割したり(段階的なロールアウト)、といったことが可能になる。例えば、バージョン1とバージョン2の間でトラフィックを50%ずつ分割することができる。

リビジョンURLを追加することで、特定のリビジョンに直接アクセスできるようになる。例えば、バージョン1にmyappv1、バージョン2にmyappv2というURLを追加できる。

新しいバージョン(例:バージョン3)をデプロイする際に、「このリビジョンをすぐに提供する」をチェックしない場合、以前のバージョンが引き続き提供される。リビジョンURLを追加した後、新しいバージョンへのトラフィックを徐々に増やすことができる。例えば、まず10%のトラフィックをバージョン3に割り当て、徐々に割合を増やしていく。

Cloud Runのログ、メトリクス、セキュリティタブを使用して、サービスのパフォーマンスやセキュリティ状況を監視できる。

Cloud Runの自動スケーリング機能を使用すると、リクエストに基づいてインスタンス数を自動的に調整できる。最小インスタンス数を設定することで、コールドスタートを減らすことができる。最大インスタンス数を設定することで、スケーリングの上限を制御できる。

Cloud Runのアクセスモードには、インターネットから直接アクセスできるパブリックサービスと、VPC内からのトラフィックのみを許可するプライベートサービスがある。認証には、未認証アクセス(パブリックAPIまたはWebサイト)と、Cloud Identity-Aware Proxyを使用した認証アクセス(Webまたはモバイルクライアント経由の安全なアクセス)がある。

gcloudコマンドラインツールを使用して、Cloud Runサービスを管理することもできる。サービスの作成、リスト表示、詳細表示、更新、トラフィックの更新、削除など、様々な操作をgcloudコマンドで行うことができる。

関連コンテンツ

関連IT用語

関連ITニュース