サービスの開発

このページでは、Cloud Run サービスの開発を始める前に知っておくべきことを説明します。

コードの必要条件

サービスを開発する場合、次の要件を満たす必要があります。

  • サービスはリクエストをリッスンする必要があります。リクエストの送信に使われるポートを構成できます。Cloud Run インスタンス内では、リクエスト送信先ポートが PORT 環境変数の値に常に反映されます。この PORT 環境変数が存在するかどうかをコードで検査してください。存在する場合は、移植性が最大になるようそのポートでリッスンするのが適切です。
  • サービスはステートレスである必要があります。永続的なローカル状態に依存することはできません。
  • サービスがリクエスト処理の範囲外のバックグラウンド アクティビティを実行する場合は、標準のリクエスト サイクル外で CPU を割り当てるには、インスタンスベースの課金設定を使用する必要があります。
  • サービスがネットワーク ファイル システムを使用する場合は、第 2 世代の実行環境を使用する必要があります。

これらの制約については、コンテナ ランタイムの契約をご覧ください。

プログラミング言語のサポート

Cloud Run ソースのデプロイは、複数の言語ランタイムを簡便にサポートしています。各ランタイムは、Google Cloud の Buildpack で提供されるコンテナ ベースイメージから使用できます。ソースコードが OCI 準拠のイメージにある限り、他のプログラミング言語やフレームワークを使用することもできます。

ビルドとデプロイのクイックスタートでは、一般的な言語でサンプルを提供しています。

ウェブサーバーの使用

ウェブサーバーを使用して必要なポートをリッスンし、受信リクエストの処理とルーティングを行うことができます。Node.js で開発する場合は Express.js を、Python で開発する場合は Flask を使用できます。Ruby の場合は Sinatra を使用できます。

コードのコンテナ化

詳細については、コードをコンテナ化するをご覧ください。

Gemini の支援機能を使用して Cloud Run アプリを設計する

Gemini Cloud Assist チャットで AI によるサポートにより、アプリケーションを最適に設計できます。Gemini Cloud Assist を使用すると、Cloud Run にアプリケーションをデプロイするのに最適な構成と方針を特定し、リソースの効率的な利用とシームレスな運用を実現できます。

Google Cloud コンソールから Gemini Cloud Assist を使用する手順は次のとおりです。

  1. Gemini Cloud Assist が Google Cloud ユーザー アカウントとプロジェクト用に設定されていることを確認します。
  2. Google Cloud プロジェクトで Cloud Run 開発環境を設定し、適切なデプロイ権限があることを確認します。

  3. Google Cloud コンソールの [Cloud Run] ページに移動します。

    Cloud Run に移動

  4. コンソールのツールバーで、 Google Cloud プロジェクトを選択します。Gemini Cloud Assist へのアクセス権が付与された後に送信したプロジェクト ID に関連付けられたプロジェクトを使用します。

  5. [spark Gemini AI チャットを開く / 閉じる] をクリックします。

    Gemini パネルが開きます。

  6. 必要に応じて、利用規約に同意する場合は、[同意する] をクリックします。

  7. 特定のアプリケーションについて質問がある場合は、質問する前に、リソースが表示されているページに移動してコンテキストを提供してください。回答の生成時に、Gemini が現在のコンソール ページとプロジェクトに関する情報を含めます。

  8. [Gemini] パネルにプロンプトを入力します。

    次の表に、Cloud Run で Gemini Cloud Assist を使用するためのプロンプトの例を示します。

    プロンプト 回答の種類
    「Cloud Run で Node.js アプリを設計する場合に、推奨されるアプローチと、注意すべき点を教えて。」 アプリのコンテナ化、Node.js アプリの構造化、デプロイ プロセスの概要。
    「Cloud Run アプリをデプロイするために必要な権限を教えて。」 必要な権限とロールのリスト。
    「Cloud Run を使用して 3 層ウェブ アプリケーションをデプロイする方法を教えて。」 3 層ウェブ アプリケーションの設計手順の概要。
    「App Engine アプリを Cloud Run に移行する方法を教えて。」 Cloud Run 開発環境を準備するための主な手順と、2 つのプロダクトの主な違いの概要。固有のニーズに応じてソリューションをカスタマイズするために使用できるサンプル チュートリアルへのリンク。
    「Cloud Run サービス「example-service」の最小インスタンス数の設定を 2 に更新する gcloud CLI コマンドを教えて。」 最小インスタンス数の設定を更新するために推奨される gcloud CLI コマンド。
    「Cloud Run サービス hello-world のサービス アカウントを更新する方法を教えて。」 サービス アカウントを更新するために推奨される gcloud CLI コマンド。
    「LangChain で Cloud Run を使用して生成 AI アプリを構築する方法の例を見せて。」 LangChain で Cloud Run を使用してサンプルアプリを作成する手順。
    「Cloud Run サービスの google_cloud_run_v2_service リソースを使用して、課金設定をインスタンスベースの課金に設定する Terraform 構成を生成して。」 課金設定を更新するために推奨される Terraform 構成。

詳しくは、次のリソースをご覧ください。

次のステップ