このページでは、Cloud Run サービスの開発を始める前に知っておくべきことを説明します。
コードの必要条件
サービスを開発する場合、次の要件を満たす必要があります。
- サービスはリクエストをリッスンする必要があります。リクエストの送信に使われるポートを構成することができます。Cloud Run インスタンス内では、リクエスト送信先ポートが
PORT
環境変数の値に常に反映されます。このPORT
環境変数が存在するかどうかをコードで検査してください。存在する場合は、移植性が最大になるようそのポートでリッスンするのが適切です。 - サービスはステートレスである必要があります。永続的なローカル状態に依存することはできません。
- サービスがリクエスト処理の範囲外のバックグラウンド アクティビティを実行する場合は、[CPU を常に割り当てる] 設定を使用する必要があります。
- サービスがネットワーク ファイル システムを使用する場合は、第 2 世代の実行環境を使用する必要があります。
これらの制約については、コンテナ ランタイムの契約をご覧ください。
プログラミング言語のサポート
Cloud Run では、任意のプログラミング言語でコードを作成できます。
ビルドとデプロイのクイックスタートでは、一般的な言語でサンプルを提供しています。
ウェブサーバーの使用
ウェブサーバーを使用して必要なポートをリッスンし、受信リクエストの処理とルーティングを行うことができます。Node.js で開発する場合は Express.js を、Python で開発する場合は Flask を使用できます。Ruby の場合は Sinatra を使用できます。
コードのコンテナ化
詳細については、コードをコンテナ化するをご覧ください。
次のステップ
- サービスコードと Dockerfile を入手したら、コンテナ イメージをビルドして、ローカルでテストを繰り返します。
- 既存のウェブアプリケーションを移行する場合は、サービスを Cloud Run に移行するをご覧ください。
- Cloud Run サービスの設計、実装、テスト、デプロイのベスト プラクティスについては、開発のヒントをご覧ください。