您執行無狀態的 VM 和 Cloud Run (已連線至 VPC,ingress=Internal)。您建立了一個具有 roles/run.invoker 權限的服務帳戶來排程 Cloud Run 任務,但測試卻傳回 403 Permission Denied。您該怎麼做?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 使用 Cloud Scheduler 搭配 Pub/Sub 來叫用 Cloud Run。.
為什麼這是答案
正確答案是使用 Cloud Scheduler 搭配 Pub/Sub 來叫用 Cloud Run。Cloud Scheduler 能夠排程任務,並透過 Pub/Sub 將訊息發送到 Cloud Run 服務。由於 Cloud Run 的 ingress 設定為 Internal,代表它只能從 VPC 內部或透過內部負載平衡器存取,而 Pub/Sub 是一個內部服務,可以觸發此類 Cloud Run 服務。 授予服務帳戶 roles/run.developer 權限是不正確的,因為 run.developer 權限主要用於部署和管理 Cloud Run 服務,而非叫用服務。在 Compute Engine VM 上建立 cron job 雖然可行,但不如 Cloud Scheduler 搭配 Pub/Sub 更具彈性且更符合雲端原生架構。將 Cloud Run ingress 變更為 Internal and Cloud Load Balancing 雖然可以解決存取問題,但會增加複雜性,且可能不符合無狀態 VM 的需求,因為 Cloud Scheduler 搭配 Pub/Sub 已經是更直接的解決方案。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡