在 Application Design Center 中設定 Cloud Run 服務

Cloud Run 是全代管應用程式平台,可讓您在 Google 可擴充的基礎架構上直接執行容器。詳情請參閱 Cloud Run 總覽

本文說明使用應用程式設計中心建立 Cloud Run 服務時,可設定的連線和參數。設定參數是以 terraform-google-cloud-run Terraform 模組為依據。

元件連線

下表列出可連結至 Cloud Run 服務的元件,以及應用程式和產生的 Terraform 程式碼的更新結果。

已連結的元件

應用程式更新

背景資訊

Secret Manager
  • Cloud Run 服務可以參照密鑰資料。
  • Cloud Run env_secret_vars 欄位會參照 Secret Manager Secret Data 欄位。
  • 系統會將 roles/secretmanager.secretAccessor 角色新增至 Cloud Run 服務帳戶。
設定服務的密鑰

服務帳戶

  • Cloud Run 服務會將服務帳戶做為服務身分
  • 系統會將 roles/run.invoker 角色新增至服務帳戶。
  • 服務帳戶電子郵件和 IAM 資訊會新增至 Cloud Run 環境變數。
服務對服務驗證
PostgreSQL 適用的 AlloyDB
  • Cloud Run 服務可以連線至 AlloyDB for PostgreSQL 執行個體。
  • PostgreSQL 適用的 AlloyDB 資源中繼資料會新增至 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.instanceUserroles/cloudsql.client 角色新增至 Cloud Run 服務帳戶。
  • Cloud Run 服務帳戶會新增為 Cloud SQL 執行個體的 IAM 使用者。
從 Cloud Run 連線

「Cloud SQL (PostgreSQL)」

  • Cloud Run 服務可以讀取及寫入 Cloud SQL (PostgreSQL) 執行個體的資料。
  • Cloud SQL 連線中繼資料會新增至 Cloud Run 服務。
  • 系統會將 roles/cloudsql.instanceUserroles/cloudsql.client 角色新增至 Cloud Run 服務帳戶。
  • Cloud Run 服務帳戶會新增為 Cloud SQL 執行個體的 IAM 使用者。
從 Cloud Run 連線

Cloud Storage

  • Cloud Run 服務可以管理 Cloud Storage bucket 中的物件。
  • Cloud Run 服務帳戶 IAM 資訊會新增至 Cloud Storage bucket。
  • 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.publisherroles/pubsub.subscriber 角色新增至 Cloud Run 服務帳戶。
  • Cloud Run 服務會新增至 Pub/Sub 推送和提取訂閱欄位。
搭配使用 Pub/Sub 與 Cloud Run 教學課程

區域 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 建構容器

容器映像檔

圖片 將容器映像檔部署至 Cloud Run

工作目錄

容器的工作目錄。如未指定,系統會使用容器執行階段的預設值,這可能會在容器映像檔中設定。

workingDir

取決於容器

dependsOn[] 設定 Sidecar 部署作業的容器啟動順序

容器引數

args[] 為服務設定容器

容器指令

指令 為服務設定容器
環境變數

金鑰

name 服務的環境變數

value 服務的環境變數
環境變數密鑰

金鑰

EnvVarSource 管理密鑰

密鑰

密鑰 管理密鑰

版本

版本 管理密鑰
磁碟區掛接

名稱

name 從 Cloud Run 連線

掛接路徑

mountPath 從 Cloud Run 連線
通訊埠

名稱

name 為服務使用 HTTP/2

容器通訊埠

containerPort 為服務使用 HTTP/2
資源

CPU

限制 為服務設定 CPU 限制

記憶體

限制 設定服務的記憶體限制

CPU 閒置

CPU 是否只在要求期間分配。

cpuIdle

啟動 CPU 提升

startupCPUBoost 設定啟動時 CPU 效能強化
啟動探測

失敗次數門檻

failureThreshold 為服務設定容器健康狀態檢查

初始延遲秒數

initialDelaySeconds 設定探針

逾時秒數

timeoutSeconds 設定探針

週期秒數

periodSeconds 設定探針

HTTP Get 路徑

路徑 設定探針

HTTP Get Port

port 設定探針

HTTP 標頭名稱

name 設定探針

HTTP 標頭值

value 設定探針

TCP Socket Port

port 預設 TCP 啟動探測

GRPC 連接埠

port 設定探針

GRPC 服務

service 設定探針

有效性探測

livenessProbe 用途

說明

description 設定服務說明

建立服務帳戶

為 Cloud Run 服務建立新的服務帳戶。

設定作業的服務身分

服務帳戶專案角色

要授予新建立服務帳戶的角色。啟用「建立服務帳戶」,但不要為「服務帳戶」提供輸入內容。

設定作業的服務身分

輸入流量

IngressTraffic 限制 Cloud Run 的網路連入流量

成員

可叫用服務的使用者和服務帳戶。如要公開存取,請輸入 allUsers。如要允許已登入 Google 的使用者存取,請輸入 allAuthenticatedUsers,或輸入特定使用者和服務帳戶的清單。詳情請參閱「成員」。

設定作業的服務身分

虛擬私有雲存取權

連接器

連接器 含連接器的虛擬私有雲

輸出 輸出 控管輸出服務流量

網路介面

網路 網路 部署服務
子網路 子網路 部署服務
標記 標記 部署服務

Cloud Run 刪除防護

防止 Terraform 毀損或重新建立 Cloud Run 工作和服務。

deletion_protection

啟用 Prometheus 邊車容器

在 Cloud Run 執行個體中啟用 Prometheus 邊車容器。

使用 Prometheus 補充資訊寫入 Prometheus 指標

磁碟區

名稱

name 設定記憶體內磁碟區
密鑰 密鑰 密鑰 讓 Cloud Run 存取密鑰
預設模式 defaultMode
路徑 路徑 讓 Cloud Run 可存取密鑰
版本 版本 讓 Cloud Run 可存取密鑰
眾數 mode 讓 Cloud Run 可存取密鑰
Cloud SQL 執行個體 執行個體 instances[] 從 Cloud Run 連線
Empty Dir medium 為服務設定記憶體內磁碟區掛接
大小限制 sizeLimit 為服務設定記憶體內磁碟區掛接
GCS Bucket bucket 為服務設定 Cloud Storage 磁碟區掛接點
唯讀 readOnly 為服務設定 Cloud Storage 磁碟區掛接點
NFS 伺服器 伺服器 為服務設定 NFS 磁碟區掛接
路徑 路徑 為服務設定 NFS 磁碟區掛接
唯讀 readOnly 為服務設定 NFS 磁碟區掛接

服務資源調度

執行個體數量下限

minInstanceCount 為服務設定執行個體數量下限

修訂版本

修訂版本 Cloud Run 服務修訂版本

範本縮放

執行個體數量下限

minInstanceCount 為服務設定執行個體數量下限
執行個體數量上限 maxInstanceCount 執行個體數量上限簡介

加密金鑰

encryptionKey 使用客戶自行管理的加密金鑰

執行個體要求並行上限

maxInstanceRequestConcurrency 服務的並行要求數量上限

工作階段相依性

sessionAffinity 為服務設定工作階段相依性

執行環境

executionEnvironment 關於服務執行環境

流量

類型

type 復原、漸進式推出及流量遷移
Percent percent 復原、漸進式推出及流量遷移
修訂版本 修訂版本 復原、漸進式推出及流量遷移
標記 標記 復原、漸進式推出及流量遷移

服務標籤

金鑰

labels 設定服務的標籤
labels 設定服務的標籤

服務註解

金鑰

註解 註解
註解 註解

客戶

名稱

API 用戶端的任意 ID。

client
版本

版本 ID 的任意 ID。

clientVersion

推出階段

LaunchStage 產品推出階段

自訂目標對象

customAudience 設定服務的自訂目標對象

二進位授權

急用權限理由

breakglassJustification 使用急用權限
使用預設值 useDefault 使用二進位授權

範本標籤

金鑰

labels 設定服務的標籤
labels 設定服務的標籤

範本註解

金鑰

註解 註解
註解 註解

逾時

timeout 設定服務的要求逾時

服務帳戶

serviceAccount 為服務設定服務身分