해리슨 블로그

[GCP] Cloud Run - 多區域服務推出

  • 撰写语言: 韓国語
  • 基准国家: 所有国家country-flag
  • 信息技术

撰写: 2024-10-14

撰写: 2024-10-14 22:01

GCP上週推出了一項功能,讓Cloud Run只需一次執行就能在多個區域使用。

簡而言之,多區域服務是指,例如,我們假設有首爾、倫敦和拉斯維加斯三個區域。

以往需要使用腳本個別部署到多個區域,而新功能則允許使用單一腳本部署到多個區域。

事實上,在正式推出之前,我閱讀了關於此項服務的文檔,對此功能抱有很大的期待,但實際上卻有點失望。

雖然之前也可以使用腳本一次部署多個,但由於它們最終會並行運作,因此時間上並沒有太大的差異,所以對這方面沒有太大的期待。然而,由於這是一次性部署,因此無法為每個區域設定不同的環境變數。

因此,我們一直以來都使用個別Cloud Run在不同區域使用不同的值連接到不同的資料庫或GCS,但現在這個功能卻出現了問題。

第二個問題是,在重複部署的過程中,有時會想刪除舊的記錄,但這也無法個別控制。舊版本會以唯讀模式保留,無法個別刪除。

雖然有很多缺點,但優點是……可以將多個Cloud Run "整合"起來。

我們的服務大量使用Cloud Run和多個區域,目前大約有50個,所有正在進行的工作完成後將增加到100個左右。如果使用多區域服務,則可以減少到10到20個左右。(只是隱藏起來而已。)

首先,腳本如下所示。


執行上述腳本後,將部署如下。

[GCP] Cloud Run - 多區域服務推出

Cloud Run

首先,同名的Cloud Run將部署到每個區域,最上層將建立同名的資料夾(?)。

整合後的畫面如下所示。

[GCP] Cloud Run - 多區域服務推出

Cloud Run -  摺疊畫面

事實上,如果數量較少,則幫助不大,但如果假設它部署到40個區域,則會非常有幫助。(當然不一定要達到那麼多…)

[GCP] Cloud Run - 多區域服務推出

顯示為唯讀。

大多數功能在嘗試修改時都會顯示為唯讀。雖然文檔中提到了此功能,但API似乎存在問題,無法正常運作。

相關文檔位於此處。

gcloud相關文檔在此處。目前僅支援Alpha/Beta版本,不支援正式版本。此外,文檔中根本沒有提到上述的--regions選項。(應該很快就會更新吧?)

我們想要的是……實際上沒有其他要求,如果可以像PORT一樣將環境變數作為預設值提供就好了。當然,我知道目前也可以通過Metadata伺服器提供各種資訊,但事實上,這需要使用Fetch來獲取,很不方便。(而且這也是一種資源…)

由於目前還處於預覽階段,希望它會越來越好。(剛推出就抱怨似乎不太好…)

评论0