モバイルバックエンド業務にコンテナ技術を導入している方であれば、「Kubernetes」を用いてアプリケーションの展開やスケーリングを行っているケースが多いのではないでしょうか。しかし、Kubernetesでは独自のハードウェアを構築する必要があるため、保守管理に要するコストや工数が気になるところです。
インフラ管理やクラスタ作成の手間を抑え、より手軽にコンテナをデプロイしたい場合は、Google Cloud Platform上で提供されている「Cloud Run(クラウドラン)」をおすすめします。このサービスはフルマネージドで提供されているため、物理的なサーバーを用意する必要がありません。
本記事では、Cloud Runの特徴やメリット、料金体系について詳しく解説します。サンプルコンテナをデプロイする手順も紹介していますので、ぜひ参考にしてください。
関連記事はこちら
Cloud Runとは?料金体系についても解説
まずはCloud Runの仕組みや料金体系など、基礎知識を解説します。
Cloud Runとはフルマネージドのコンテナ実行環境
Cloud Runとは、Google Cloud Platform(GCP)上で提供されている、サーバーレスでコンテナの実行環境を構築できるサービスです。自身で設計したコンテナ(アプリケーションやミドルウェア、OSファイルなどを集約したパッケージ)を、Googleのサーバー環境でデプロイできます。
本来、コンテナに含まれたアプリケーションの展開やスケーリングには、「Kubernetes」と呼ばれるソフトウェアを活用するのが一般的です。しかし、構造が複雑なKubernetesを導入するには、ある程度の学習コストや教育工数を想定しなければなりません。
その点、フルマネージドサービスのCloud Runは、インフラ管理やクラスタ作成の手間が不要です。導入のハードルが低く、Kubernetesと類似した機能を手軽に利用できるメリットがあります。
Cloud Runの種類
Cloud Runには2種類の利用形態があり、それぞれ役割が異なります。
- Cloud Run サービス:
Webリクエストやイベントの応答コードを実行するために活用される - Cloud Run ジョブ:
特定の作業開始から完了までのコードを実行するために活用される
Cloud Run サービスは、コンテナイメージのデプロイにより、コンテナインスタンス(実行環境)とリクエストが受信できるHTTPSエンドポイントが生成されます。そのため、HTTPリクエストの処理に向いているでしょう。
一方、スケジュールとして設定された処理を自動的に実行したい場合は、Cloud Run ジョブが適しています。Cloud Run ジョブでは、任意のタイミングで特定の作業を実行できるほか、複数のコンテナインスタンスを組み合わせて並列処理を行うことも可能です。
Cloud Runの料金体系
Cloud Runの料金体系は従量課金制です。CPUやメモリ、リクエスト数などが無料枠を超えると、超過量に応じて費用が発生します。また、CPUを常に割り当てるか、リクエストの処理中のみ割り当てるかによっても料金が異なります。
例えば、CPUを常に割り当てる場合、月初240,000vCPU秒までの範囲内であれば無料枠が適用されます(2023年8月時点の東京リージョンの場合)。
Cloud Runの利用範囲や稼働量によって料金が大きく異なるため、Google Cloud Platformの料金シミュレーターを活用して試算すると良いでしょう。
Cloud Runと4つのGCPサービスとの違い
Google Cloud PlatformにはCloud Runのほかにも、モバイルバックエンド向けのさまざまなサービスが存在します。それぞれのサービスを比較することで、Cloud Runの特徴をより正確に理解できます。
ここでは、Cloud Runに類似した4種類のサービスを紹介します。
- Google App Engine(GAE)
- Cloud Functions
- Compute Engine
- Google Kubernetes Engine(GKE)
Google App Engine(GAE)
Google App Engine(GAE)はCloud Runと同じく、特定のアプリケーションをデプロイするためのサービスです。
コンテナを指定してアプリケーションをデプロイするCloud Runと違い、Google App Engineはコードと構成ファイルさえあれば即座にデプロイが実行されます。バージョンの更新やスケーリングが自動的に処理されるのもGoogle App Engineの特徴です。Cloud Runのほうが柔軟性に優れますが、アプリケーションを手間なく実行するならGoogle App Engineが向いています。
ただし、Cloud Runとは異なり、Google App EngineにはCUD(確約利用割引)が用意されていないので注意が必要です。
Cloud Functions
Cloud Functionsとは、サーバーレスのクラウドコンピューティングサービスです。Cloud Runと同様、サーバーリクエストを通じてアプリケーションを呼び出す役割があります。
Cloud Functionsにはコンテナ技術が採用されていません。その代わり、HTTPリクエストやバックグラウンドイベントなど、さまざまなトリガーを起点にアプリケーションを呼び出せるのが特徴です。また、ソースコードのみでデプロイできるため、Cloud Runに比べて操作がシンプルで、単純な処理に向いています。
ただし、Cloud Runよりも、プログラミング言語・OSライブラリに関する制約が多い難点があります。
Compute Engine
Compute Engineは、Google Cloud PlatformにおいてIaaS(ネットワークやサーバーといったクラウド上の仮想インフラを利用できるサービス)に位置付けられています。IaaSのなかでも、Googleのインフラ上で仮想マシンを構築できるのがCompute Engineの特徴です。
仮想マシンはコンテナと同じように、アプリケーションやミドルウェア、OSの一部要素を一つのパッケージとして集約できます。ただし、複数のOS環境で稼働する仮想マシンと、ハードウェア上に単一のOSしか存在しないコンテナでは、根本的なアーキテクチャーが大きく異なります。
仮想マシンを構築できるCompute Engineは、優れた拡張性や耐障害性をあわせ持つため、ハードウェア集約によってコストを削減したい場合に便利です。一方、コンテナ技術を採用しているCloud Runは、異なるOSへと容易に構成要素を複製できるため、個別の環境に合わせてアプリケーションやOSファイルなどを再構築せずに済みます。
Google Kubernetes Engine(GKE)
Cloud Runと最もサービス内容が近いものに、Google Kubernetes Engine(GKE)があります。Google Kubernetes EngineもCloud Runと同様、コンテナをデプロイするためのプラットフォームです。
Cloud Runと異なるのは、フルマネージドサービスに該当しない点です。そのため、Google Kubernetes Engineでは、ユーザー自身でインフラ管理やクラスタ作成を実施しなければなりません。
Cloud Runに比べて構築の手間がかかるものの、CPUやメモリ、ネットワークなどの構成を柔軟に設計できるメリットがあります。大規模なWebアプリケーションやデータ処理基盤を構築する際は、カスタマイズ性に優れたGoogle Kubernetes Engineが向いているでしょう。
関連記事はこちら
Cloud Runの5つのメリット
Cloud Runを効果的に活用するには、事前に具体的なメリットをイメージしておくことが大切です。ここでは、Cloud Runに搭載されている機能をもとに5つのメリットを解説します。
高速自動でスケーリングされる
Cloud Runのようなコンテナ実行環境を構築できるサービスでは、スケーリングの性能が特に重要な要素です。スケーリングとは、リクエスト数に応じて対応サーバーの数を増減させ、処理能力を柔軟に調整する作業です。
Cloud Runは、スケーリングが自動的かつ高速で処理されるメリットがあります。結果として、運用コストの最適化や、突発的なリクエスト数の増加への対応が可能です。
言語・OSライブラリの制約がない
コンテナ実行環境を構築できるサービスには、プログラミング言語の制限がありません。Cloud Runの場合は、さらにOSライブラリにも制限がないため、Cloud BuildやArtifact Registryなど、Google Cloud Platformに搭載されている別のサービスとの親和性が生まれます。
このような特徴を備えていることから、新しくプログラミング言語を学び直す必要がありません。学習コストを削減できるほか、現在の環境に合わせて幅広いモバイルアプリ開発を行えるのがメリットです。
シンプルなデプロイ
Cloud Runは、コンテナイメージを用意し、gcloudコマンドを入力するだけでデプロイが完了します。利用するのは単一の指定コマンドのみなので、デプロイにかかる工数を大幅に削減できるでしょう。デプロイ後は瞬時にURLが割り当てられ、数秒でスケーリングが自動処理される仕組みです。
インフラの整備や管理が必要ない
フルマネージドサービスのCloud Runは、サーバーのメンテナンスや障害復旧といったインフラ管理が必要ありません。物理的なサーバーを保有せずに済み、クラスタ作成の手間を抑えられるのも利点です。デプロイ後はGoogleに保守管理を一任できます。
専門的な知識を持つエンジニアが不足している企業でも、Cloud Runなら安心して利用できるでしょう。
情報セキュリティが高い
Cloud Runでは、コンテナをそのまま移行する形で、異なるOS環境にアプリケーションやミドルウェアなどの構成をコピーできます。これはシステム構築にかかる手間を抑制するだけでなく、セキュリティを向上させる面においても役立ちます。仮に、災害などで物理的なインフラがダメージを受けても、別の環境で以前のコンテナをそのまま呼び出せるためです。
また、セキュリティ強化に役立つ別のサービスを活用できるのも特徴です。Binary AuthorizationやAWS Secrets Managerとの連携、Cloud Monitoringの標準搭載により、高い可用性を実現しています。
Cloud Runの利用方法3ステップ
Cloud Runを利用するには、次の3つの手順に沿って設定を行います。
- アカウント登録
- Cloud Runのコンソールにアクセス
- サンプルコンテナのデプロイ
アカウント登録
Cloud Runの公式サイトにアクセスし、画面右上の[無料で利用開始]をクリックします。
Googleアカウントのログイン画面が表示されるので、メールアドレスとパスワードを入力しましょう。
続いて、Google Cloud Platformのアカウント情報を作成します。まずは、画面の指示に従って基礎情報を設定しましょう。
支払情報を選択します。
最後に、画面下部の[無料トライアルを開始]をクリックしてください。
Cloud Runのコンソールにアクセス
ここまでの設定が完了すると、自動的にGoogle Cloud Platformのコンソールに移行します。画面を下にスクロールし、[Cloud Run]の項目を選択してください。
すると、Cloud Runのコンソールへと移行します。
サンプルコンテナのデプロイ
ここではテストとしてサンプルコンテナをデプロイしてみましょう。
Cloud Runのコンソールから[サービスを作成]をクリックします。
画面上部にある[サンプルコンテナでテスト]のテキストをクリックしましょう。すると、[コンテナイメージのURL]の項目に、サンプル用のコンテナイメージURLが挿入されます。
そのまま画面を下にスクロールし、[認証]の項目でいずれかのラジオボタンにチェックを入れます。今回はテストなので、どちらを選択しても構いません。そのほかの項目も初期状態のまま進めましょう。
最後に、画面下部の[作成]をクリックすると設定は完了です。
しばらく待つと、Cloud Runのコンソールに作成したサービスが追加されます。サービスの左側に緑色のチェックマークが付いていれば、無事にデプロイが完了したということです。
本番環境では、これまでと同じ流れで、自身が設計したコンテナイメージを使ってデプロイを実行します。
Cloud Runを始めるなら「電算システム」におまかせ
Cloud Runの導入を検討している場合は、電算システムのリセールサービスを活用するのがおすすめです。
このサービスは、Cloud Runを含むGoogle Cloud Platformの利用料が3%割り引きとなります。最大1億円の補償が受けられるITリスク保険が付帯しているのも特徴です。ほかにも、無償でのメールサポートや、専任エンジニアによる個別対応をはじめとする追加オプションなど、充実したサービスが用意されています。
電算システムには、Google認定資格を取得したエンジニアが多数在籍しているため、より手厚い技術サポートをお求めの場合は、ぜひ当社まで気軽にお問い合わせください。詳細は、無料でダウンロードできる以下の資料をご確認ください。
関連内容はこちら
Cloud Runで自社の生産性向上・コストカットを目指そう
コンテナの実行環境を構築できるサービスには数多くの種類がありますが、なかでもフルマネージド環境でコンテナをデプロイできるのがCloud Runの特徴です。物理的なサーバーを用意する必要がなく、アプリケーションの展開やスケーリングを素早く実行できるメリットがあります。
また、従量課金制の利点を活かすことで、運用コストを最小限に抑えられるでしょう。さらにコストを削減したい方は、電算システムのリセールサービスを検討してみてください。Cloud Runが含まれているGoogle Cloud Platformの利用料が3%オフになるほか、充実した付帯サービスを利用できます。
Google Cloud Platformの概要や、電算システムに相談するメリットについては、以下の資料で詳しく解説しています。無料でダウンロードできますので、気になる方はぜひ内容をご確認ください。
- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- Kubernetes