Azure Container Registry 服務層級
Azure Container Registry 適用於多個服務層級(也稱為 SKU)。 這些層級會提供可預測的定價,以及數個可符合您在 Azure 中私用 Docker 登錄容量和使用模式的選項。
層 | 描述 |
---|---|
基本 | 開發人員了解 Azure Container Registry 的成本最佳化進入點。 基本登錄與標準和 進階版 具有相同的程序設計功能(例如 Microsoft Entra 驗證整合、映射刪除和 Webhook)。 不過,內含儲存體和映像輸送量最適合較低的使用方式情節。 |
標準 | 「標準」登錄提供與「基本」登錄相同的功能,並且有著更高的內含儲存體和映像輸送量。 「標準」登錄應該能滿足大部分實際執行案例的需求。 |
高級 | 「進階」登錄提供最多的內含儲存體和並行作業,可應付高容量案例。 除了更高的映射輸送量,進階版 新增功能,例如異地復寫來管理多個區域的單一登錄、映射卷標簽署的內容信任、私人端點的私人連結,以限制登錄的存取。 |
基本、標準和進階層都提供相同的程式設計功能。 它們也會受益於 完全由 Azure 管理的映像記憶體 。 選擇較高等級的層級可提供更多效能和規模。 使用多個服務層級時,您可以開始使用 Basic,然後在登錄使用量增加時轉換成 Standard 和 進階版。
例如︰
- 如果您購買基本層登錄,它會包含 10 GB 的記憶體。 您在這裡支付的價格是每天 0.167 美元。 價格是根據美元計算的。
- 如果您有基本層登錄並使用 25 GB 記憶體,您每天支付 $0.003/天*15 = $0.045 的額外 15 GB。
- 因此,根據 定價 - Container Registry,具有 25 GB 記憶體的基本 ACR 定價為 $0.167+$0.045= 每天 0.212 美元,其他相關費用,例如網络、組建等。
服務層級功能和限制
下表詳細說明基本、標準和 進階版 服務層級的功能和登錄限制。
資源 | 基本 | 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 支援。
2ReadOps、WriteOps 和「頻寬」是最小預估值。 Azure Container Registry 致力於改善需要使用時的效能。 資源、ACR 和裝置都必須位於相同的區域,才能實現快速下載速度。
3docker pull 會根據映像中的圖層數目以及資訊清單擷取,來轉譯為多個讀取作業。
4docker push 會根據必須推送的圖層數目,來轉譯為多個寫入作業。 docker push
包含 ReadOps,以擷取現有映像的資訊清單。
5content/delete
、content/read
、content/write
、metadata/read
、metadata/write
的個別動作對應至每個範圍對應的存放庫限制。
登錄輸送量和節流
輸送量
產生高速率的登錄作業時,請使用服務層級的讀取和寫入作業和頻寬限制,作為預期最大輸送量的指南。 這些限制會影響數據平面作業,包括清單、刪除、推送和提取映像和其他成品。
若要特別估計映像提取和推送的輸送量,請考慮登錄限制和這些因素:
- 影像圖層的數目和大小
- 跨映像重複使用圖層或基底映像
- 每個提取或推送可能需要的其他 API 呼叫
如需詳細資訊,請參閱 Docker HTTP API V2 的檔。
評估或疑難解答登錄輸送量時,也請考慮客戶端環境的設定:
- 適用於並行作業的 Docker 精靈設定
- 您的網路連線到登錄的數據端點(或端點,如果您的登錄是 異地複寫的)。
如果您遇到登錄輸送量的問題,請參閱 針對登錄效能進行疑難解答。
範例
將單一 133 MB nginx:latest
映射推送至 Azure 容器登錄需要映像五層的多個讀取和寫入作業:
- 如果映射指令清單存在於登錄中,則讀取作業可讀取映射指令清單
- 寫入作業以寫入映像的組態 Blob
- 寫入作業以寫入映像指令清單
節流
當登錄判斷要求速率超過登錄服務層級所允許的限制時,您可能會遇到提取或推送作業的節流。 您可能會看到類似 的 Too many requests
HTTP 429 錯誤。
當您在非常短的時間內產生大量映像提取或推送作業時,即使讀取和寫入作業的平均速率在登錄限制內,也會暫時進行節流。 您可能需要在程序代碼中使用一些輪詢來實作重試邏輯,或降低登錄要求的最大速率。
顯示登錄使用方式
使用 Azure CLI 中的 az acr show-usage 命令、Azure PowerShell 中的 Get-AzContainerRegistryUsage 或 List Usages REST API,以取得登錄目前記憶體和其他資源的耗用量快照集,與該登錄服務層級的限制相比。 儲存體 使用方式也會出現在登錄的入口網站中的 [概觀] 頁面。
使用方式資訊可協助您決定 在登錄接近限制時變更服務層級 。 這項資訊也可協助您 管理取用。
注意
登錄的記憶體使用方式只能作為指南使用,而且可能不會反映最近的登錄作業。 監視登錄的 儲存體 使用計量,以取得最新的數據。
根據登錄的服務層級,使用量資訊包含下列部分或全部,以及該層的限制:
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 Container Registry 服務層級的定價資訊,請參閱 Container Registry 定價。
如需數據傳輸定價的詳細資訊,請參閱 頻寬定價詳細數據。
下一步
Azure Container Registry 藍圖
請流覽 GitHub 上的 ACR 藍圖,以尋找服務中即將推出的功能相關信息。
Azure Container Registry UserVoice
在 ACR UserVoice 中提交並投票處理新功能建議。