區域 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 角色,具有寫入存取權,例如 Artifact Registry Writer (
roles/artifactregistry.writer
)。授予
artifactregistry.repositories.uploadArtifacts
權限的自訂角色。您可以透過 Google Cloud 主控台或執行gcloud iam roles describe
指令,驗證自訂角色存取權。
如果沒有這些角色,請將「Artifact Registry Writer」角色 (
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 角色,具備讀取和寫入權限,例如 Artifact Registry Writer (
roles/artifactregistry.writer
)。授予
artifactregistry.repositories.downloadArtifacts
和artifactregistry.repositories.uploadArtifacts
權限的自訂角色。您可以透過 Google Cloud 主控台或執行gcloud iam roles describe
指令,驗證自訂角色存取權。
如果沒有這些角色,請將 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:
請使用自動遷移工具,從 Container Registry 遷移至託管在 Artifact Registry 上的
gcr.io
存放區。使用這項工具時,您不需要重新部署服務的新版本。詳情請參閱「自動從 Container Registry 遷移至 Artifact Registry」。手動將容器映像檔從 Container Registry 移至 Artifact Registry,然後重新部署新版服務。詳情請參閱「手動遷移至 Artifact Registry 中的
gcr.io
存放區」。使用
copy-only
標記將容器映像檔複製到 Artifact Registry,然後重新部署服務的新版本。