Azure Container Registry 服務層級

Azure Container Registry 適用於多個服務層級(也稱為 SKU)。 這些層級會提供可預測的定價,以及數個可符合您在 Azure 中私用 Docker 登錄容量和使用模式的選項。

描述
基本 開發人員了解 Azure Container Registry 的成本最佳化進入點。 基本登錄與標準和 進階版 具有相同的程序設計功能(例如 Microsoft Entra 驗證整合映射刪除Webhook)。 不過,內含儲存體和映像輸送量最適合較低的使用方式情節。
標準 「標準」登錄提供與「基本」登錄相同的功能,並且有著更高的內含儲存體和映像輸送量。 「標準」登錄應該能滿足大部分實際執行案例的需求。
高級 「進階」登錄提供最多的內含儲存體和並行作業,可應付高容量案例。 除了更高的映射輸送量,進階版 新增功能,例如異地復寫來管理多個區域的單一登錄、映射卷標簽署的內容信任私人端點的私人連結,以限制登錄的存取。

基本、標準和進階層都提供相同的程式設計功能。 它們也會受益於 完全由 Azure 管理的映像記憶體 。 選擇較高等級的層級可提供更多效能和規模。 使用多個服務層級時,您可以開始使用 Basic,然後在登錄使用量增加時轉換成 Standard 和 進階版。

例如︰

服務層級功能和限制

下表詳細說明基本、標準和 進階版 服務層級的功能和登錄限制。

資源 基本 Standard Premium
包含的儲存體1 (GiB) 10 100 500
儲存體限制 (TiB) 40 40 40
映像層大小上限 (GiB) 200 200 200
資訊清單大小上限 (MiB) 4 4 4
每分鐘的 ReadOps2, 3 1,000 3,000 10,000
每分鐘的 WriteOps2, 4 100 500 2,000
下載頻寬 2 (Mbps) 30 60 100
上傳頻寬 2 (Mbps) 10 20 50
Webhooks 2 10 500
異地複寫 N/A N/A 支援
可用性區域 N/A N/A 支援
內容信任 N/A N/A 支援
具有私人端點的私人連結 N/A N/A 支援
• 私人端點 N/A N/A 200
公用 IP 網路規則 N/A N/A 100
服務端點 VNet 存取 N/A N/A 預覽
• 虛擬網路規則 N/A N/A 100
客戶管理的金鑰 N/A N/A 支援
存放庫範圍的權限 支援 支援 支援
• 權杖 100 500 50,000
• 範圍對應 100 500 50,000
• 動作 500 500 500
• 每個範圍對應的存放庫5 500 500 500
匿名提取存取 N/A 預覽 預覽

1 每一層的每日費率包含的儲存體。 可以使用額外的儲存體,每個 GiB 需要額外的每日費率,以登錄儲存體限制為上限。 如需費率資訊,請參閱 Azure Container Registry 定價。 如果您需要的儲存體超過登錄儲存體上限,請連絡 Azure 支援。

2ReadOpsWriteOps 和「頻寬」是最小預估值。 Azure Container Registry 致力於改善需要使用時的效能。 資源、ACR 和裝置都必須位於相同的區域,才能實現快速下載速度。

3docker pull 會根據映像中的圖層數目以及資訊清單擷取,來轉譯為多個讀取作業。

4docker push 會根據必須推送的圖層數目,來轉譯為多個寫入作業。 docker push 包含 ReadOps,以擷取現有映像的資訊清單。

5content/deletecontent/readcontent/writemetadata/readmetadata/write 的個別動作對應至每個範圍對應的存放庫限制。

登錄輸送量和節流

輸送量

產生高速率的登錄作業時,請使用服務層級的讀取和寫入作業和頻寬限制,作為預期最大輸送量的指南。 這些限制會影響數據平面作業,包括清單、刪除、推送和提取映像和其他成品。

若要特別估計映像提取和推送的輸送量,請考慮登錄限制和這些因素:

  • 影像圖層的數目和大小
  • 跨映像重複使用圖層或基底映像
  • 每個提取或推送可能需要的其他 API 呼叫

如需詳細資訊,請參閱 Docker HTTP API V2 的檔

評估或疑難解答登錄輸送量時,也請考慮客戶端環境的設定:

  • 適用於並行作業的 Docker 精靈設定
  • 您的網路連線到登錄的數據端點(或端點,如果您的登錄是 異地複寫的)。

如果您遇到登錄輸送量的問題,請參閱 針對登錄效能進行疑難解答。

範例

將單一 133 MB nginx:latest 映射推送至 Azure 容器登錄需要映像五層的多個讀取和寫入作業:

  • 如果映射指令清單存在於登錄中,則讀取作業可讀取映射指令清單
  • 寫入作業以寫入映像的組態 Blob
  • 寫入作業以寫入映像指令清單

節流

當登錄判斷要求速率超過登錄服務層級所允許的限制時,您可能會遇到提取或推送作業的節流。 您可能會看到類似 的 Too many requestsHTTP 429 錯誤。

當您在非常短的時間內產生大量映像提取或推送作業時,即使讀取和寫入作業的平均速率在登錄限制內,也會暫時進行節流。 您可能需要在程序代碼中使用一些輪詢來實作重試邏輯,或降低登錄要求的最大速率。

顯示登錄使用方式

使用 Azure CLI 中的 az acr show-usage 命令、Azure PowerShell 中的 Get-AzContainerRegistryUsageList Usages REST API,以取得登錄目前記憶體和其他資源的耗用量快照集,與該登錄服務層級的限制相比。 儲存體 使用方式也會出現在登錄的入口網站中的 [概觀] 頁面。

使用方式資訊可協助您決定 在登錄接近限制時變更服務層級 。 這項資訊也可協助您 管理取用

注意

登錄的記憶體使用方式只能作為指南使用,而且可能不會反映最近的登錄作業。 監視登錄的 儲存體 使用計量,以取得最新的數據。

根據登錄的服務層級,使用量資訊包含下列部分或全部,以及該層的限制:

  • 以位元組1取用的 儲存體
  • Webhook 數目
  • 異地複寫的數目(包括主複本)
  • 私人端點數目
  • IP 存取規則的數目
  • 虛擬網路規則的數目

1在異地復寫的登錄中,會針對主區域顯示記憶體使用量。 乘以所耗用記憶體總數的復寫數目。

變更階層

您可以使用 Azure CLI 或在 Azure 入口網站 中變更登錄的服務層級。 只要切換至的層級具有所需的記憶體容量上限,您就可以在層之間自由移動。

當您在服務層級之間移動時,不會對登錄作業造成任何登錄停機或影響。

Azure CLI

若要在 Azure CLI 中的服務層級之間移動,請使用 az acr update 命令。 例如,若要切換至 進階版:

az acr update --name myContainerRegistry --sku Premium

Azure PowerShell

若要在 Azure PowerShell 中的服務層級之間移動,請使用 Update-AzContainerRegistry Cmdlet。 例如,若要切換至 進階版:

Update-AzContainerRegistry -ResourceGroupName myResourceGroup -Name myContainerRegistry -Sku Premium

Azure 入口網站

在容器登錄的 [Azure 入口網站 概觀] 中,選取 [更新],然後從 [SKU] 下拉式列表中選取新的 SKU

更新 Azure 入口網站 中的容器登錄 SKU

定價

如需每個 Azure Container Registry 服務層級的定價資訊,請參閱 Container Registry 定價

如需數據傳輸定價的詳細資訊,請參閱 頻寬定價詳細數據

下一步

Azure Container Registry 藍圖

請流覽 GitHub 上的 ACR 藍圖,以尋找服務中即將推出的功能相關信息。

Azure Container Registry UserVoice

在 ACR UserVoice提交並投票處理新功能建議。