將 App Engine 容器映像檔遷移至 Artifact Registry

區域 ID

REGION_ID 是 Google 根據您在建立應用程式時選取的地區所指派的縮寫代碼。此代碼不對應至國家/地區或省份,即使部分區域 ID 可能與常用的國家/地區和省份代碼相似。如果是 2020 年 2 月後建立的應用程式,App Engine 網址會包含 REGION_ID.r。如果是這段時間前建立的現有應用程式,網址可選擇是否包含地區 ID。

進一步瞭解區域 ID

Container Registry 已淘汰,並於 2025 年 3 月 18 日終止運作。 建議您使用 Artifact Registry 儲存及管理容器映像檔。2025 年 3 月 5 日後建立的新部署作業,預設會使用 Artifact Registry 儲存應用程式映像檔,而非 Container Registry。Artifact Registry 提供與 Container Registry 相同的容器管理功能,並包含額外功能和優點。Artifact Registry 是全代管服務,支援容器映像檔和非容器構件,可擴充 Container Registry 的功能。

如果是 2024 年 5 月前建立的專案,或是尚未執行自動遷移工具的專案,請按照本指南中的步驟啟用 App Engine,自動遷移部署流程。

App Engine 標準環境

標準環境中的大部分應用程式元件都會遵循自動遷移程序。不過,為確保順利轉換至 Artifact Registry,請確認服務帳戶具備下列必要權限:

  • 如果是現有的標準部署作業,部署服務帳戶 (App Engine 預設服務帳戶 (PROJECT_ID@appspot.gserviceaccount.com) 或自訂服務帳戶) 必須具備可授予明確 Artifact Registry 寫入權限 artifactregistry.repositories.uploadArtifacts 的角色。如要找出與部署服務帳戶相關聯的角色,請參閱「管理服務帳戶的存取權」。

  • 如果與部署作業相關聯的服務帳戶具備下列任一角色,新的部署作業即可使用 Artifact Registry:

    如果沒有這些角色,請將 Artifact Registry 寫入者角色 (roles/artifactregistry.writer) 授予部署服務帳戶。

如果未提供必要權限,您就無法在標準環境中部署新版本。

在自動遷移期間, Google Cloud 可能會建立新的存放區,並將映像檔從 Container Registry 複製到 Artifact Registry。

App Engine 彈性環境

彈性環境中的大多數應用程式元件都會遵循自動遷移程序。不過,為確保順利轉換至 Artifact Registry,請確認服務帳戶具備下列必要權限:

  • 如要讓現有的彈性部署作業能與 Artifact Registry 正常運作,部署服務帳戶 (App Engine 預設服務帳戶 (PROJECT_ID@appspot.gserviceaccount.com) 或自訂服務帳戶) 必須具備可授予明確 Artifact Registry 權限的角色,例如讀取權限 artifactregistry.repositories.downloadArtifacts 和寫入權限 artifactregistry.repositories.uploadArtifacts。如要找出與部署服務帳戶相關聯的角色,請參閱「管理服務帳戶的存取權」。

  • 如果與部署作業相關聯的服務帳戶具備下列任一角色,新的部署作業即可使用 Artifact Registry:

    如果沒有這些角色,請將 Artifact Registry 存放區管理員角色 (roles/artifactregistry.repoAdmin) 授予部署服務帳戶。

如果未提供必要權限,您就無法在彈性環境中部署應用程式。執行個體也無法擴充及重新啟動。

在自動遷移期間, Google Cloud 可能會建立新的存放區,並將映像檔從 Container Registry 複製到 Artifact Registry。

將手動建構的容器映像檔遷移至 Artifact Registry

如果您先前是使用 Container Registry 中的預先建構或手動建構的容器映像檔部署應用程式,則不適用自動遷移程序。舉例來說,如果您使用 Docker 建構容器映像檔、將這些映像檔推送至 Container Registry,並使用 gcloud app deploy --image-url 指令部署應用程式,自動遷移程序就無法運作。

如果您使用 Container Registry 中的預先建構或手動建構容器映像檔部署應用程式,請選擇下列其中一個選項,遷移至 Artifact Registry: