【Google Cloud】Cloud Runを触ってみた!

Google Cloud

2024.6.26

Topics

はじめに

こんにちは、Shunです!

今回は、Google Cloudが提供しているマネージドでコンテナ環境をホストできるCloud Runをご紹介します!

Cloud Runの概要をご紹介し、Cloud Functionsなど類似サービスとの比較を行い、実際にコンソールからデプロイしてみます。

Cloud Runとは

Cloud Runは、Google Cloudが提供するマネージドなコンテナ実行環境です。
デプロイ、運用、スケーリングにかかる時間を削減し、開発者が本来注力すべき、コードの開発に集中できるように設計されています。

Cloud Runは、サービスとジョブの二つの実行モデルを提供します。
サービスはウェブリクエストやイベントに応じて継続的にコードを実行し、ジョブは一度きりの作業を完了後にシャットダウンするコードの実行に適しています。

Cloud Runのインスタンスはリクエストに応じて迅速にスケールアウトし、利用がない時はゼロまでスケールダウンすることが特徴です。

参考: Cloud Runとは

料金

Cloud Runの課金体系は従量課金制となります。
インスタンスに割り当てられたCPUとメモリに対し、100ミリ秒単位で課金が発生します。

料金モデルに関しては、以下の二つがあります。

リクエストベース
リクエストが発生している時のみ課金が発生します。

インスタンスベース
サービスが立ち上がっている期間に対して、課金が発生します。

料金モデルは、Cloud Runを立ち上げるときにを選択可能です。

Cloud RunとCloud Functions/App Engineの比較

Cloud Runは、Cloud FunctionsやGoogle App Engineと非常に似ているサービスとなるので、しばしば混同されがちです。
ざっくりと、各サービスの違いは以下です。

以下で各サービスとの共通点と違いをご説明します。

Cloud RunとCloud Functionsの共通点

  • どちらもリクエストに応じて自動的にスケーリングし、使用されていない時はゼロまでスケールダウンする。

Cloud RunとCloud Functionsの違い

  • Cloud Runはコンテナをデプロイし、Cloud Functionsはコードを実行する。
  • Cloud RunはCPUなどのコンピューティング環境を制御でき、Cloud Functionsは制御できない。

Cloud Functions と Cloud Run: それぞれの使いどころ

Cloud RunとApp Engineの共通点

  • どちらも自動スケーリング機能を提供し、トラフィックの増減に応じてインスタンス数を調整することが可能。
  • コンテナベースのデプロイをサポートしている。

Cloud RunとApp Engineの違い

  • Cloud Runは任意のコンテナイメージを使用してデプロイが可能。一方、App Engineは特定のランタイムのみサポートがあることなど制約がある。
  • Cloud Runはリクエストがない時にはインスタンスをゼロに設定ができ、App Engineのフレキシブル環境ではできない。

App Engine と Cloud Run の比較

Cloud Runを使ってみる

Google Cloudには、「クイックスタート」という初めてサービスを触ってみる方へ向けてのガイドが提供されています。
今回はそのガイドに沿って、Cloud Runを触ってみます。

クイックスタート: Cloud Run にデプロイする

前提

  • プロジェクトが作成されていること
  • 課金が有効になっていること

1. Cloud Runのコンソールへ遷移する

以下の赤枠へ「Cloud Run」と入力し、Cloud Runを開きます。

2. 「サービスを作成」をクリックします。

3. Cloud Runのサービス設定

「既存のコンテナ イメージから 1 つのリビジョンをデプロイする」を選択し、「サンプルコンテナでテスト」をクリックします。
すると、コンテナイメージのURLが入力されます。

任意の「サービス名」と「リージョン」を選択します。
認証に関しては、「未認証の呼び出しを許可」を選びます。
料金モデルを選択し、その他はデフォルト設定のままCloud Runを作成します。

以下のように緑のチェックが付けば、作成は完了です。

4. Cloud Runで立ち上げたサービスへアクセスする

立ち上げたサービスの上部に、サービスへのアクセスURLがあります。
実際に、立ち上げたサービスへアクセスをしてみます。

URLへアクセスすると、1秒もかからずページを開くことができます。
URLへアクセスするまでは、コンテナインスタンスは1台も立っていないので、立ち上がるまで非常に高速なことがわかります。

(どのようなページが表示されるかは是非試してみてください!)

Cloud Runのメトリクスを確認します。
ここからも、アクセスがあったときのみコンテナインスタンスが立ち上がり、無くなれば0台になっていることがわかります。

さいごに

今回はCloud Runについてご紹介をしました!
実際にサービスを立ち上げて触ることで自動でスケールアウトし、自動でスケールインしてくれることを感じられると思います!

本記事ではサンプルのコンテナイメージを使用しましたが、コンテナイメージをお持ちの方は是非そのイメージを使用して、試してみてください!

最後まで読んでいただきありがとうございます!

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

Shun

週8バスケしたいです。Google Cloud11冠、2024 AWS All Cert

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら