App Design Center で Cloud Run サービスを構成する

Cloud Run は、Google のスケーラブルなインフラストラクチャ上でコンテナを直接実行できるフルマネージド アプリケーション プラットフォームです。詳細については、Cloud Run の概要をご覧ください。

このドキュメントでは、App Design Center を使用して 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 インスタンスへの接続

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 へのコンテナ イメージのデプロイ

Working Dir

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

workingDir

コンテナに依存

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

コンテナ引数

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

Container Command

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

Key(キー)

name サービスの環境変数

value サービスの環境変数
Env Secret Vars

Key(キー)

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

Secret

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

バージョン

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

名前

name Cloud Run から接続する

マウント パス

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

名前

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

コンテナ ポート

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

CPU

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

メモリ

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

CPU アイドル

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

cpuIdle

起動時の CPU ブースト

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

失敗しきい値

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

Initial Delay Seconds

initialDelaySeconds プローブを構成する

タイムアウト(秒)

timeoutSeconds プローブを構成する

Period Seconds

periodSeconds プローブを構成する

HTTP Get Path

path プローブを構成する

HTTP Get Port

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

HTTP ヘッダー名

name プローブを構成する

HTTP ヘッダーの値

value プローブを構成する

TCP ソケット ポート

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

GRPC ポート

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

GRPC サービス

service プローブを構成する

Liveness プローブ

livenessProbe ユースケース

説明

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

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

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

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

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

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

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

上り(内向き)

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

メンバー

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

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

VPC アクセス

コネクタ

connector コネクタを含む VPC

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

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

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

Cloud Run の削除保護

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

deletion_protection

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

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

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

ボリューム

名前

name インメモリ ボリュームを構成する
シークレット Secret Secret Cloud Run がシークレットにアクセスできるようにする
デフォルト モード defaultMode
[Path] 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] path サービスの NFS ボリューム マウントを構成する
読み取り専用 readOnly サービスの NFS ボリューム マウントを構成する

サービスのスケーリング

最小インスタンス数

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

リビジョン

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

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

最小インスタンス数

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

暗号鍵

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

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

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

セッション アフィニティ

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

実行環境

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

トラフィック

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

サービスラベル

Key(キー)

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

サービス アノテーション

Key(キー)

annotations annotations
annotations annotations

クライアント

名前

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

client
バージョン

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

clientVersion

リリース ステージ

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

カスタム オーディエンス

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

Binary Authorization

ブレークグラスの理由

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

テンプレート ラベル

Key(キー)

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

テンプレートの注釈

Key(キー)

annotations annotations
annotations annotations

タイムアウト

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

サービス アカウント

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