このページでは、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 を使用する手順は次のとおりです。
- Gemini Cloud Assist が Google Cloud ユーザー アカウントとプロジェクト用に設定されていることを確認します。
Google Cloud プロジェクトで Cloud Run 開発環境を設定し、適切なデプロイ権限があることを確認します。
Google Cloud コンソールの [Cloud Run] ページに移動します。
コンソールのツールバーで、 Google Cloud プロジェクトを選択します。Gemini Cloud Assist へのアクセス権が付与された後に送信したプロジェクト ID に関連付けられたプロジェクトを使用します。
[spark Gemini AI チャットを開く / 閉じる] をクリックします。
Gemini パネルが開きます。
必要に応じて、利用規約に同意する場合は、[同意する] をクリックします。
特定のアプリケーションについて質問がある場合は、質問する前に、リソースが表示されているページに移動してコンテキストを提供してください。回答の生成時に、Gemini が現在のコンソール ページとプロジェクトに関する情報を含めます。
[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 構成。
詳しくは、次のリソースをご覧ください。
- より良いプロンプトを作成する方法を確認する。
- Gemini Cloud Assist パネルの使用方法を確認する。
- AI アシスタンスと開発に Gemini を使用するを読む。
- Gemini for Google Cloud がデータを使用する方法
次のステップ
- サービスコードと Dockerfile を入手したら、コンテナ イメージをビルドして、ローカルでテストを繰り返します。
- 既存のウェブアプリケーションを移行する場合は、サービスを Cloud Run に移行するをご覧ください。
- Cloud Run サービスの設計、実装、テスト、デプロイのベスト プラクティスについては、開発のヒントをご覧ください。