Cloud Run サービスを構成する

Application Design Center では、Google のスケーラブルなフルマネージド インフラストラクチャでステートレス コンテナを直接実行するように Cloud Run サービスを構成できます。特定のコンポーネント接続と構成パラメータに合わせてサービスをカスタマイズできます。構成パラメータは、terraform-google-cloud-run Terraform モジュールに記載されています。

コンポーネントの接続

次の表に、Cloud Run サービスに接続できるコンポーネントと、その結果としてアプリケーションとその生成された Terraform コードに適用される更新を示します。

連結成分

アプリケーションの更新

背景情報

Secret Manager
  • Cloud Run サービスはシークレット データを参照できます。
  • Secret Manager の [シークレット データ] フィールドは、Cloud Run の env_secret_vars フィールドによって参照されます。
  • roles/secretmanager.secretAccessor ロールが Cloud Run サービス アカウントに追加されます。
サービスのシークレットを構成する

サービス アカウント

  • Cloud Run サービスは、サービス アカウントをサービス ID として使用します。
  • roles/run.invoker ロールがサービス アカウントに追加されます。
  • サービス アカウントのメールアドレスと IAM 情報が Cloud Run の環境変数に追加されます。
サービス間認証
AlloyDB for PostgreSQL
  • Cloud Run サービスは AlloyDB for PostgreSQL インスタンスに接続できます。
  • AlloyDB for PostgreSQL リソースのメタデータが Cloud Run の環境変数に追加されます。
  • AlloyDB for PostgreSQL の roles/alloydb.admin ロールが Cloud Run サービス アカウントに追加されます。
Cloud Run から接続する
BigQuery
  • Cloud Run サービスは BigQuery データセットを操作できます。
  • BigQuery リソースのメタデータが Cloud Run の環境変数に追加されます。
  • BigQuery の roles/bigquery.dataEditor ロールが Cloud Run サービス アカウントに追加されます。
BigQuery の概要

Bigtable

  • Cloud Run サービスは、Bigtable インスタンスで管理機能を実行できます。
  • Bigtable リソースのメタデータ情報が Cloud Run 環境変数に追加されます。
  • roles/bigtable.admin ロールが Cloud Run サービス アカウントに追加されます。
Bigtable の概要

別の Cloud Run サービス

  • 送信元 Cloud Run サービスは、宛先 Cloud Run サービスにトラフィックを送信できます。
  • 送信元 Cloud Run サービスには、環境変数に宛先 Cloud Run サービス URI が含まれています。
Cloud Run とは

Cloud SQL(MySQL)

  • Cloud Run サービスは、Cloud SQL(MySQL)インスタンスに対してデータの読み取りと書き込みを行うことができます。
  • Cloud SQL 接続メタデータが Cloud Run サービスに追加されます。
  • roles/cloudsql.instanceUser ロールと roles/cloudsql.client ロールが Cloud Run サービス アカウントに追加されます。
  • Cloud Run サービス アカウントが IAM ユーザーとして Cloud SQL インスタンスに追加されている。
Cloud Run から接続する

Cloud SQL(PostgreSQL)

  • Cloud Run サービスは、Cloud SQL(PostgreSQL)インスタンスに対してデータの読み取りと書き込みを行うことができます。
  • Cloud SQL 接続メタデータが Cloud Run サービスに追加されます。
  • roles/cloudsql.instanceUser ロールと roles/cloudsql.client ロールが Cloud Run サービス アカウントに追加されます。
  • Cloud Run サービス アカウントが IAM ユーザーとして Cloud SQL インスタンスに追加されている。
Cloud Run から接続する

Cloud Storage

  • Cloud Run サービスは、Cloud Storage バケット内のオブジェクトを管理できます。
  • Cloud Run サービス アカウントの IAM 情報が Cloud Storage バケットに追加されます。
  • roles/storage.objectAdmin ロールが Cloud Run サービス アカウントに割り当てられている。
Google Cloud サービスに接続する

グローバル Cloud Load Balancing バックエンド

  • ロードバランサは、受信トラフィックを Cloud Run サービスに分散できます。
  • Cloud Run サービスは、Cloud Load Balancing サーバーレス NEG バックエンド構成にバックエンド エンドポイントとして追加されます。
Cloud Run を使用してグローバル外部アプリケーション ロードバランサを設定する

Memorystore for Redis

  • Cloud Run サービスは、Memorystore for Redis インスタンスにデータをキャッシュできます。
  • Memorystore for Redis の接続情報が Cloud Run の環境変数に追加されます。
  • roles/redis.editor ロールが Cloud Run サービス アカウントに追加されます。
Cloud Run サービスから Redis インスタンスへの接続

Memorystore for Redis Cluster

  • Cloud Run サービスは、Memorystore for Redis Cluster にデータをキャッシュできます。
  • Memorystore for Redis Cluster の接続情報が Cloud Run の環境変数に追加されます。
  • App Design Center は、Cloud Run サービス アカウントに roles/redis.dbConnectionUser ロールを追加します。
Memorystore for Redis Cluster インスタンスに接続する

Memorystore for Valkey

  • Cloud Run サービスは、Memorystore for Valkey インスタンスにデータをキャッシュできます。
  • App Design Center は、Memorystore for Valkey の接続情報を Cloud Run の環境変数に追加します。
  • App Design Center は、Cloud Run サービス アカウントに roles/memorystore.dbConnectionUser ロールを追加します。
Memorystore for Valkey インスタンスに接続する

Pub/Sub

  • Cloud Run サービスは、メッセージを受信したり、Pub/Sub トピックにパブリッシュしたりできます。
  • Pub/Sub トピック ID が Cloud Run の環境変数に追加されます。
  • roles/pubsub.publisher ロールと roles/pubsub.subscriber ロールが Cloud Run サービス アカウントに追加されます。
  • Cloud Run サービスが Pub/Sub の push サブスクリプション フィールドと pull サブスクリプション フィールドに追加されます。
Cloud Run で Pub/Sub を使用するチュートリアル

リージョン Cloud Load Balancing バックエンド

  • ロードバランサは、受信トラフィックを Cloud Run サービスに分散できます。
  • Cloud Run サービスは、Cloud Load Balancing サーバーレス NEG バックエンド構成にバックエンド エンドポイントとして追加されます。
Cloud Run を使用してリージョン外部アプリケーション ロードバランサを設定する

リージョン Cloud Load Balancing フロントエンド

  • ロードバランサの HTTP および HTTPS IP アドレスは、Cloud Run コンテナで実行されているアプリケーションで使用できます。
  • Cloud Load Balancing のアドレス メタデータが Cloud Run の環境変数に追加されます。
転送ルールの概要

Spanner

  • Cloud Run サービスは Spanner インスタンスを管理できます。
  • Spanner 接続の詳細が Cloud Run の環境変数に追加されます。
  • roles/spanner.databaseAdmin ロールが Cloud Run サービス アカウントに追加されます。
  • Cloud Run サービス アカウントの IAM 情報が Spanner インスタンスに追加されます。
Google Cloud サービスに接続する

Vertex AI

  • Cloud Run サービスは Vertex AI サービスとやり取りできます。
  • roles/aiplatform.user ロールが Cloud Run サービス アカウントに追加されます。
Cloud Run で AI アプリとエージェントをホストする

必須の構成パラメータ

テンプレートに Cloud Run コンポーネントが含まれている場合は、デプロイする前に次のパラメータを構成する必要があります。

パラメータ名

説明と制約

背景情報

プロジェクト ID

Cloud Run リソースをデプロイするプロジェクト。

コンポーネントを構成する

リージョン

Cloud Run サービスのデプロイ ロケーション。

Cloud Run のロケーション

サービス名

name Cloud Run サービス

オプションの構成パラメータ

次のパラメータは省略可能です。詳細パラメータを表示するには、[構成] 領域で [詳細フィールドを表示] を選択します。

機能

サブ機能

パラメータ名

説明と制約に関する情報

背景情報

コンテナ

コンテナ名

name コンテナのビルド

コンテナ イメージ

image Cloud Run へのコンテナ イメージのデプロイ

作業ディレクトリ

コンテナの作業ディレクトリ。指定しない場合、コンテナ ランタイムのデフォルトが使用されます。これはコンテナ イメージで構成されている場合があります。

workingDir

コンテナに依存

dependsOn[] サイドカー デプロイでコンテナの起動順序を構成する

コンテナ引数

args[] サービスのコンテナを構成する

コンテナ コマンド

command サービスのコンテナを構成する
環境変数

Key(キー)

name サービスの環境変数

値

value サービスの環境変数
環境シークレット変数

Key(キー)

EnvVarSource シークレットを管理する

Secret

Secret シークレットを管理する

バージョン

version シークレットを管理する
ボリュームのマウント

名前

name Cloud Run から接続する

マウントパス

mountPath Cloud Run から接続する
ポート

名前

name サービスに HTTP/2 を使用する

コンテナポート

containerPort サービスに HTTP/2 を使用する
リソース

CPU

limits サービスの CPU 上限を構成する

メモリ

limits サービスのメモリ上限を構成する

CPU アイドル

リクエスト中にのみ CPU を割り当てるかどうか。

cpuIdle

起動時の CPU ブースト

startupCPUBoost 起動時の CPU ブーストを設定する
起動プローブ

失敗のしきい値

failureThreshold サービスにコンテナのヘルスチェックを構成する

Initial Delay Seconds

initialDelaySeconds プローブを構成する

タイムアウト(秒)

timeoutSeconds プローブを構成する

期間(秒)

periodSeconds プローブを構成する

HTTP Get Path

path プローブを構成する

HTTP Get ポート

ポート プローブを構成する

HTTP ヘッダー名

name プローブを構成する

HTTP ヘッダーの値

value プローブを構成する

TCP ソケットポート

ポート デフォルトの TCP 起動プローブ

GRPC ポート

ポート プローブを構成する

GRPC サービス

service プローブを構成する

Liveness プローブ

livenessProbe ユースケース

説明

description サービスの説明を設定する

サービス アカウントを作成する

Cloud Run サービスの新しいサービス アカウントを作成する。

ジョブのサービス ID を構成する

サービス アカウントのプロジェクト ロール

新しく作成したサービス アカウントに付与するロール。[サービス アカウントを作成] を有効にし、[サービス アカウント] には入力しないでください。

ジョブのサービス ID を構成する

上り(内向き)

IngressTraffic Cloud Run のネットワーク上り(内向き)を制限する

メンバー

サービスを呼び出すことができるユーザーとサービス アカウント。一般公開アクセスの場合は、「allUsers」と入力します。ログインした Google ユーザーがアクセスできるようにするには、「allAuthenticatedUsers」と入力するか、特定のユーザーとサービス アカウントのリストを入力します。詳細については、メンバーをご覧ください。

ジョブのサービス ID を構成する

VPC アクセス

コネクタ

コネクタ コネクタを使用する VPC

下り(外向き) 下り(外向き) 下り(外向き)サービス トラフィックを制御する

ネットワーク インターフェース

ネットワーク network サービスをデプロイする
サブネットワーク サブネットワーク サービスをデプロイする
タグ タグ サービスをデプロイする

Cloud Run の削除からの保護

Terraform が Cloud Run のジョブとサービスを破棄または再作成しないようにします。

deletion_protection

Prometheus サイドカーを有効にする

Cloud Run インスタンスで Prometheus サイドカーを有効にします。

Prometheus サイドカーを使用して Prometheus 指標を書き込む

ボリューム

名前

name インメモリ ボリュームを構成する
Secret Secret Secret Cloud Run がシークレットにアクセスできるようにする
デフォルト モード defaultMode
[パス] path Cloud Run でシークレットを使用できるようにする
バージョン version Cloud Run でシークレットを使用できるようにする
Mode モード Cloud Run でシークレットを使用できるようにする
Cloud SQL インスタンス インスタンス instances[] Cloud Run から接続する
Empty Dir 中 medium サービスのインメモリ ボリュームのマウントを構成する
サイズ制限 sizeLimit サービスのインメモリ ボリュームのマウントを構成する
GCS バケット バケット サービスの Cloud Storage ボリュームのマウントの構成
読み取り専用 readOnly サービスの Cloud Storage ボリュームのマウントの構成
NFS サーバー server サービスの NFS ボリューム マウントを構成する
[パス] path サービスの NFS ボリューム マウントを構成する
読み取り専用 readOnly サービスの NFS ボリューム マウントを構成する

サービスのスケーリング

最小インスタンス数

minInstanceCount サービスの最小インスタンス数を設定する

リビジョン

リビジョン Cloud Run サービスのリビジョン

テンプレートのスケーリング

最小インスタンス数

minInstanceCount サービスの最小インスタンス数を設定する
最大インスタンス数 maxInstanceCount 最大インスタンス数について

暗号鍵

encryptionKey 顧客管理の暗号鍵の使用

インスタンスの最大同時リクエスト数

maxInstanceRequestConcurrency サービスの最大同時リクエスト数

セッション アフィニティ

sessionAffinity サービスのセッション アフィニティを設定する

実行環境

executionEnvironment サービス実行環境について

トラフィック

型

type ロールバック、段階的なロールアウト、トラフィックの移行
Percent パーセント ロールバック、段階的なロールアウト、トラフィックの移行
リビジョン リビジョン ロールバック、段階的なロールアウト、トラフィックの移行
タグ tag ロールバック、段階的なロールアウト、トラフィックの移行

サービスラベル

Key(キー)

labels サービスのラベルを構成する
値 labels サービスのラベルを構成する

サービスのアノテーション

Key(キー)

annotations annotations
値 annotations annotations

クライアント

名前

API クライアントの任意の識別子。

client
バージョン

バージョン識別子の任意の識別子。

clientVersion

リリース ステージ

LaunchStage プロダクトのリリース ステージ

カスタム オーディエンス

customAudience サービスにカスタム オーディエンスを設定する

Binary Authorization

ブレークグラスの理由

breakglassJustification ブレークグラスを使用する
デフォルトを使用 useDefault Binary Authorization を使用する

テンプレート ラベル

Key(キー)

labels サービスのラベルを構成する
値 labels サービスのラベルを構成する

テンプレート アノテーション

Key(キー)

annotations annotations
値 annotations annotations

タイムアウト

timeout サービスのリクエスト タイムアウトを設定する

サービス アカウント

serviceAccount サービスのサービス ID を構成する