Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Container Registry ist in mehreren SKUs verfügbar. Diese SKUs, auch bekannt als Preispläne oder Ebenen, unterstützen vorhersehbare Preise und richten sich an verschiedene Kapazitäts- und Nutzungsmuster Ihrer privaten Containerregistrierung in Azure.
Wenn Sie eine Registrierung erstellen, wählen Sie einen Preisplan aus, der die Features und Beschränkungen Ihrer Registrierung bestimmt. Wählen Sie den Plan aus, der den erwarteten Nutzungsmustern entspricht, z. B. die Anzahl der Bilder, Speicheranforderungen und Leistungsanforderungen.
Azure Container Registry bietet drei Optionen für Pricing Plan: Basic, Standard und Premium. Jede SKU bietet eine andere Reihe von Features und Grenzwerten für verschiedene Szenarien, von der Entwicklung und dem Testen bis hin zu Produktionsworkloads.
| Artikelnummer (SKU) | BESCHREIBUNG |
|---|---|
| Grundlegend | Ein kostenoptimierter Einstiegspunkt für Entwickler, die sich über Azure Container Registry informieren. Grundlegende Registrierungen verfügen über die meisten der gleichen Funktionen wie Standard- und Premium-Registrierungen, z. B. Microsoft Entra Authentication Integration, image delete und webhooks. Der enthaltene Speicher- und Bilddurchsatz eignet sich jedoch am besten für Szenarien mit geringerer Nutzung, und einige Features sind nicht verfügbar. |
| Standard | Standard-Registrierungen bieten die gleichen Funktionen wie Basic, jedoch höhere Speichergrenzwerte und einen höheren Imagedurchsatz. Standardregistrierungen erfüllen die Anforderungen vieler Produktionsszenarien. |
| Premium | Premium-Registrierungen bieten den größten Umfang an Speicher und gleichzeitigen Vorgängen, sodass Szenarien mit großen Volumen möglich sind. Zusätzlich zu einem höheren Bilddurchsatz fügt Premium Features wie georeplikation für hohe Verfügbarkeit hinzu, indem eine einzelne Registrierung in mehreren Regionen verwaltet wird, private Verknüpfung mit privaten Endpunkten , um den Zugriff auf die Registrierung einzuschränken, und höhere API-Parallelität und Bandbreitendurchsatz für große gleichzeitige Bereitstellungen. |
Jede SKU umfasst eine bestimmte Menge an kostenlosem Speicher; zusätzlicher Speicher ist gegen eine Gebühr pro GB verfügbar. Jede SKU hat auch einen anderen maximalen Speichergrenzwert.
Die SKUs "Basic", "Standard" und "Premium" bieten alle die gleichen programmgesteuerten Funktionen und Datenebenen-APIs. Sie profitieren außerdem alle von der vollständig von Azure verwalteten Imagespeicherung, und bei allen SKUs ist Zonenredundanz in unterstützten Regionen standardmäßig aktiviert. Die Premium-SKU ermöglicht jedoch eine breitere Palette von Features und hat höhere Grenzwerte.
SKU-Features und -Grenzwerte
In der folgenden Tabelle sind die Features und Registrierungsgrenzen der Basic-, Standard- und Premium-SKUs aufgeführt.
| Ressource | Grundlegend | Norm | Prämie |
|---|---|---|---|
| Enthaltener Speicher1 (GiB) | 10 | 100 | 500 |
| Speicherbegrenzung (TiB) | 40 | 40 | 100 |
| Maximale Größe für Imageebenen (GiB) | 195 | 195 | 195 |
| Maximale Manifestgröße (MiB) | 4 | 4 | 4 |
| webhooks | 2 | 10 | 500 |
| Private Link mit privaten Endpunkten | – | – | Supported |
| • Private Endpunkte | – | – | 200 |
| Netzwerkregeln für öffentliche IP-Adressen | – | – | 200 |
| Dienstendpunkt-VNET-Zugriff | – | – | Vorschau |
| • Regeln für virtuelle Netze | – | – | 100 |
| Repository-bezogene Berechtigungen mit Microsoft Entra-Rollenzuweisungen | Supported | Supported | Supported |
| Repository-bezogene Berechtigungen mit Nicht-Microsoft Entra-Token und Bereichszuordnungen | Supported | Supported | Supported |
| • Nicht-Microsoft-Entra-Token | 100 | 500 | 50.000 |
| • Nicht von Microsoft Entra stammende Tokenbereichszuordnungen | 100 | 500 | 50.000 |
| • Aktionen pro nicht von Microsoft Entra stammender Tokenbereichszuordnung | 500 | 500 | 500 |
| • Repositorys pro nicht von Microsoft Entra stammender Tokenbereichszuordnung2 | 500 | 500 | 500 |
| Anonymer Pullzugriff | – | Supported | Supported |
| Georeplikation | – | – | Supported |
| Dedizierte Datenendpunkte | – | – | Supported |
| Verfügbarkeitszonen | Supported | Supported | Supported |
| Inhaltsvertrauensstellung | – | – | Supported |
| Vom Kunden verwaltete Schlüssel | – | – | Supported |
| Verbundene Registrierungen | – | – | Supported |
| Artefaktstreaming | – | – | Supported |
| Artefaktcacheregeln | – | Supported | Supported |
| Konfiguration der IP-Zugriffsregel | – | – | Supported |
| Aufbewahrungsrichtlinie für nicht markierte Manifeste | – | – | Supported |
| Artefaktübertragung | – | – | Supported |
| Exportrichtlinie | – | – | Supported |
| Dedizierte Agent-Pools für Aufgaben | – | – | Supported |
1 Speicher ist im täglichen Preis für jede Stufe enthalten. Für eine zusätzliche Tagesgebühr pro GiB kann weiterer Speicher bis zum Grenzwert des Registrierungsspeichers genutzt werden. Preisinformationen finden Sie unter Azure Container Registry Pricing. Wenn Sie Speicherplatz über das Registrierungsspeicherlimit hinaus benötigen, wenden Sie sich an den support Azure.
2 Einzelne Aktionen von content/delete, content/read, content/write, metadata/read, metadata/write entsprechen dem Limit der Repositorys pro Tokenbereichszuordnung außerhalb von Microsoft Entra.
ACR verfügt auch über die folgenden Pull- und Pushleistungsgrenzwerte für Bilder.
API-Anforderungsratenbeschränkungen
Zusätzlich zu den Speicher- und Featuregrenzwerten in der vorherigen Tabelle erzwingt Azure Container Registry Anforderungsratenbeschränkungen für Registrierungs-APIs. Ratengrenzwerte werden in Anfragen pro Minute (r/m) gemessen und durch die SKU Ihrer Registrierungsinstanz bestimmt. Wenn die Anforderungsrate einen Grenzwert überschreitet, gibt die Registrierung einen HTTP-Fehler 429 Too Many Requests zurück. Die Antwort enthält einen Retry-After Header, der angibt, wie lange gewartet werden soll, bevor der Vorgang wiederholt wird.
Anforderungen werden in den folgenden Vorgangskategorien gedrosselt. Jede Kategorie wird durch die HTTP-Methoden definiert, die von den Datenebenen-APIs der Registrierung verwendet werden:
| Kategorie des Vorgangs | HTTP-Methoden | Beispiele |
|---|---|---|
| DataplaneRead | GET, HEAD, OPTIONS | Abrufen (Pull) von Imagemanifesten und Ebenen. Layer-BLOB-Speicherort wird abgerufen. Auflisten von Manifesten, Repositorys und Tags. Überprüfen des Vorhandenseins eines Digests oder Tags. Andere Lesevorgänge. |
| DataplaneWrite | PUT, PATCH, POST | Hochladen (Push) von Imagemanifesten und Ebenen. Tags pushen. Andere Schreibvorgänge. |
| DataplaneDelete | ENTF | Löschen von Bildern, Manifesten und Tags. |
| OAuth | Authentifizierung (AuthN) und Autorisierung (AuthZ) | Authentifizierungsanforderungen, die Clients beim Anmelden bei einem Anmeldeserver für eine Registrierung stellen, z. B. beim Umtausch eines Microsoft Entra ID-Zugriffstokens, eines Administrator-Tokens der Registrierung oder eines nicht Microsoft Entra-bereichszugeordneten Tokens in ein Aktualisierungstoken der Registrierung. Autorisierungsanforderungen, die Clients vor Push-, Pull- und anderen Registrierungsdatenebenenvorgängen vornehmen, z. B. den Austausch von einem Registrierungsaktualisierungstoken in ein bereichsbezogenes Registrierungszugriffstoken. |
| ListReferrers | GET | Auflistung der Referrer-Artefakte eines Manifests, wie beispielsweise Signaturen und SBOMs. |
Die folgenden Anforderungsratenlimits werden für jede SKU erzwungen:
| Vorgang | Geltungsbereich | Basic und Standard. | Prämie |
|---|---|---|---|
| DataplaneRead | Pro Registrierung | 10.000 r/m | 20.000 r/m |
| DataplaneRead | Pro Identität pro Registrierung | 5.000 r/m | 10.000 r/m |
| DataplaneWrite | Pro Registrierung | 2.000 r/m | 4.000 r/m |
| DataplaneWrite | Pro Identität pro Registrierung | 1.000 r/m | 2.000 r/m |
| DataplaneDelete | Pro Registrierung | 1.000 r/m | 4.000 r/m |
| DataplaneDelete | Pro Identität pro Registrierung | 500 r/m | 2.000 r/m |
| ListReferrers | Pro Registrierung | 500 r/m | 2.000 r/m |
| ListReferrers | Pro Identität pro Registrierung | 250 r/m | 1.000 r/m |
| OAuth | Pro Registrierung | 10.000 r/m | 20.000 r/m |
Hinweis
Die in der vorherigen Tabelle aufgeführten Zinsgrenzwerte sind ungefähre Höchstwerte für den besten Aufwand und werden nicht durch eine SLA unterstützt. Der tatsächliche Durchsatz kann je nach Registry und im Zeitverlauf in Abhängigkeit von Infrastrukturbedingungen, Datenverkehrsmustern und anderen Faktoren variieren. Diese Zahlen stellen die groben maximalen Anforderungsraten dar, die Sie unter typischen Betriebsbedingungen erwarten können, aber Azure Container Registry garantiert diese genauen Tarife nicht immer.
Beschränkungen pro Register und pro Identität
- Pro Registrierung gelten Grenzwerte für die kombinierte Anforderungsrate aller Clients und Identitäten für eine einzelne Registrierung.
- Pro Identität pro Registrierung gelten Grenzwerte für die Anforderungsrate von einer einzelnen Identität auf eine einzelne Registrierung. Beschränkungen pro Identität verhindern, dass ein einzelner Client, z. B. ein Schwachstellenscanner oder eine falsch konfigurierte Bereitstellung, die gesamte Anfragekapazität einer Registry verbraucht. Die pro Identität und pro Registrierung geltenden Obergrenzen werden für jede Registrierung separat erfasst; daher wird eine Identität, die sich bei mehreren Registrierungen authentifiziert, nicht über alle diese Registrierungen hinweg gemeinsam begrenzt.
- Für eine Registrierung, die nicht authentifizierten anonymen Pullzugriff aktiviert hat, werden alle anonymen (nicht authentifizierten) Anforderungen als einzelne Identität für diese einzelne Registrierung gedrosselt.
- Für eine Registry, bei der das admin user account aktiviert ist, werden alle Anfragen, die mit admin credentials authentifiziert werden, gemeinsam als eine einzige Identität für diese Registry gedrosselt. Das Administratorkonto verfügt über zwei Kennwörter (
passwordundpassword2), aber beide Kennwörter teilen dieselbe Identität für Einschränkungszwecke. Wenn sich mehrere Clients oder Automatisierungsworkflows mit Admin-Anmeldedaten authentifizieren, nutzen sie alle dasselbe Rate-Limit-Kontingent pro Identität. - OAuth-Authentifizierungs- und -Autorisierungsanforderungen werden nur pro Registry gedrosselt, ohne separate Grenzwerte pro Identität und Registry.
Anfragen, die auf mehrere Limits angerechnet werden
Einige Anforderungen zählen für mehrere Vorgangskategorien, und eine Anforderung wird gedrosselt, wenn ein anwendbarer Grenzwert überschritten wird. Eine Anforderung zum Auflisten der Verweiser eines Manifests ist z. B. sowohl eine ListReferrers-Anforderung als auch eine DataplaneRead-Anforderung und verbraucht kapazität aus beiden Grenzwerten. Wenn Ihre Registrierung den DataplaneRead-Grenzwert bereits ausgeschöpft hat, werden Verweiseranforderungen ebenfalls gedrosselt, auch wenn der Grenzwert für ListReferrers nicht erreicht wurde. Ebenso reduziert eine hohe Rate von Verweiseranforderungen die DataplaneRead-Kapazität, die für andere Lesevorgänge, z. B. Bild-Pulls, verbleibt.
Wie Ratenlimits erzwungen werden
Geschwindigkeitsbeschränkungen werden mithilfe eines Token-Bucketalgorithmus erzwungen. Jede Vorgangskategorie verfügt über ein Kontingent an Anforderungskapazität, das sich kontinuierlich mit der in der vorstehenden Tabelle angegebenen Rate wieder auffüllt. Dieser Ansatz ist darauf ausgelegt, stark schwankende Workloads zu bewältigen:
- Kurze Brüche über der konstanten Rate sind zulässig. Eine Anfragespitze, z. B. eine groß angelegte Bereitstellung, bei der Images gleichzeitig über viele Knoten hinweg abgerufen werden, ist erfolgreich, solange im Bucket noch Kapazität verfügbar ist.
- Dauerhafter Datenverkehr muss auf oder unter dem Grenzwert bleiben. Wenn ein Burst den Bucket entleert, werden nachfolgende Anfragen mit
429 Too Many Requestsabgelehnt, bis die Kapazität wieder aufgefüllt ist, was dazu führen kann, dass Anfragen nach einem großen Burst bis zu einer ganzen Minute lang gedrosselt werden.
Der Retry-After-Wert in einer 429-Antwort gibt an, wie viele Sekunden verbleiben, bis der aktuelle Drosselungszeitraum endet, sodass der Wert bei aufeinanderfolgenden gedrosselten Anfragen herunterzählt, anstatt unverändert zu bleiben. Zum Beispiel liefert die erste gedrosselte Antwort möglicherweise Retry-After: 60 zurück. Wenn Sie die Anforderung 10 Sekunden später wiederholen und sie noch immer gedrosselt wird, gibt die Antwort Retry-After: 50 zurück. Da der Wert für jede Anforderung dynamisch berechnet wird, benötigen Sie keine Abhängigkeit von einem festen Retry-After Wert.
Wenn Sie eine 429-Antwort erhalten, beachten Sie den Retry-After-Header und implementieren Sie eine Wiederholungslogik mit exponentiellem Backoff. Weitere Hinweise zur Abhilfe finden Sie unter Drosselung und Bandbreitenbeschränkungen.
Gelegentlich können Sie während eines plötzlichen aggressiven Hochfahrens von einer niedrigen Basislinie (z. B. einem donnernden Herd) vorübergehend einen niedrigeren Durchsatz als die veröffentlichten Grenzwerte beobachten, während die Infrastruktur der Registrierung skaliert wird, um die Nachfrage zu erfüllen.
Hinweis
Einige Grenzwerte in dieser Tabelle können erhöht werden, indem sie Azure Support kontaktieren. Folgende Anfragen zur Erhöhung werden unterstützt:
- Grenzwerte für Registryspeicherung
- Maximale private Endpunkte (Private Link Verbindungen) pro Registrierung
- Leistungsbeschränkungen für das Pushen und Pullen von Images, einschließlich Drosselung, Bandbreite und API-Anforderungsratenbeschränkungen der Datenebene
Die folgenden Grenzwerte sind behoben und können nicht über eine Supportanfrage erhöht werden:
- Maximale Regeln für öffentliche IP-Netzwerke
- Maximale Regeln für virtuelle Netzwerke für Dienstendpunkte
- Maximale Anzahl nicht zu Microsoft Entra gehörender Token
- Maximale Zuordnungen von Nicht-Microsoft Entra-Tokenbereichen
- Maximale Aktionen pro Tokenbereichszuordnung ohne Microsoft Entra
- Maximale Anzahl von Repositories pro Nicht-Microsoft-Entra-Tokenbereichszuordnung
Preisinformationen zu den einzelnen Azure Container Registry SKUs finden Sie unter Container Registry pricing. Ausführliche Informationen zum Preis für Datenübertragungen finden Sie unter Bandbreitenpreise.
Leistungsbeschränkungen beim Pullen und Pushen von Register-Images
Die API-Parallelität, der Bandbreitendurchsatz und die Drosselung bei Vorgängen mit hohem Volumen wirken sich hauptsächlich auf die Leistung beim Herunterladen und Hochladen von Bildern aus. Ihre Registrierungs-SKU, Netzwerkkonfiguration und Clientkonfiguration bestimmen diese Faktoren.
Api-Parallelitäts- und Bandbreitendurchsatzbeschränkungen
Ihre SKU bestimmt die API-Parallelität und den Bandbreitendurchsatz. Höhere SKUs unterstützen mehr gleichzeitige Vorgänge und eine größere Bandbreite für Datenebenenvorgänge wie Auflisten, Löschen, Pushen und Ziehen von Bildern.
Die folgenden Faktoren beeinflussen die API-Parallelität und den Bandbreitendurchsatz während Bild-Pulls und Pushs:
- Anzahl und Größe von Imageebenen
- Wiederverwendung von Ebenen über Bilder hinweg im Register
- Zusätzliche API-Aufrufe, die für jeden Vorgang erforderlich sind
- Skalierung gleichzeitiger Bereitstellungen, z. B. Kubernetes-Bereitstellungen, die Images aus mehreren Knoten gleichzeitig abrufen
Die folgenden Clientumgebungsfaktoren wirken sich auf die Leistung aus:
- Docker-Daemon- oder Podman-Konfiguration für gleichzeitige Vorgänge
- Konfiguration der Containerlaufzeit, z. B.
containerdoder CRI-O-Parallelitätseinstellungen - Einstellungen für die Clusterkonfiguration oder Clusterdatenebene
Die folgenden Netzwerkfaktoren wirken sich auf die Leistung aus:
- Netzwerkbandbreite und Latenz für die Netzwerk-Sprünge von Clients zum Register
- Clientseitige Netzwerkkonfiguration, z. B. Firewallregeln und Proxyeinstellungen
- Geografische Entfernung zur Registrierung oder zum nächstgelegenen Replikat, wenn georepliziert
Weitere Informationen zu API-Vorgängen, die während des Image-Push- und Pullvorgangs auftreten, finden Sie in der Dokumentation zur Docker-HTTP-API V2 . Hilfe zur Problembehandlung finden Sie unter Beheben von Problemen mit der Registrierungsleistung.
Drosselung und Bandbreiteneinschränkungen
Während Zeiten mit hohen Anforderungsvolumen könnte es zu einer Drosselung mit dem HTTP 429-Fehler Too many requests oder zu einem langsamen Bandbreitendurchsatz kommen. So beheben Sie diese Probleme:
- Implementieren Sie Wiederholungslogik mit exponentiellem Backoff und Jitter.
- Verringern Sie die Rate gleichzeitiger Anforderungen.
- Verteilen Sie umfangreiche Bereitstellungen, um die Zahl der gleichzeitigen Imageabrufe über mehrere Knoten zu reduzieren.
- Wenn nach einem plötzlichen Anstieg des Datenverkehrs ausgehend von einem zuvor niedrigen Ausgangsniveau eine Drosselung auftritt, kann es vorübergehend zu einem geringeren Durchsatz kommen, während die Infrastruktur der Registrierung hochskaliert wird, um die Nachfrage zu erfüllen.
Hinweis
Wenn Sie anhaltende API-Drosselung oder niedrigen Bandbreitendurchsatz erleben, sollten Sie die SKU Ihrer Registrierung auf eine höhere aktualisieren. Sie können sich auch an Azure-Support wenden, um eine Grenzwerterhöhung zu erfragen.
Registrierungsnutzung anzeigen
Mithilfe von Nutzungsinformationen können Sie Entscheidungen zum Ändern der SKU treffen, wenn Ihre Registrierung sich einem Grenzwert nähert und Ihnen hilft, den Verbrauch zu verwalten.
Um eine Momentaufnahme des aktuellen Speicherverbrauchs Ihrer Registrierung und anderer Ressourcen im Vergleich zu den Grenzwerten für die SKU dieser Registrierung zu erhalten, überprüfen Sie die Seite Overview Ihrer Registrierung im Azure Portal. Sie können auch APIs wie az acr show-usage (Azure CLI), Get-AzContainerRegistryUsage (Azure PowerShell) oder Registries - List Usages (REST API) verwenden.
Hinweis
Die Speichernutzung der Registrierung spiegelt möglicherweise nicht alle kürzlich erfolgten Registrierungsvorgänge wider. Überwachen Sie die Metrik des Registers StorageUsed auf aktuelle Daten.
Abhängig von der SKU Ihrer Registrierung umfassen Nutzungsinformationen einige oder alle der folgenden Informationen sowie den Grenzwert in dieser SKU:
- In Bytes verbrauchter Speicher
- Anzahl von Webhooks
- Anzahl der Georeplikate (einschließlich des Homereplikats)
- Anzahl der privaten Endpunkte
- Anzahl von IP-Zugriffsregeln
- Anzahl von Regeln für das virtuelle Netzwerk
In einer georeplikaten Registrierung wird die Speichernutzung für die Heimatregion angezeigt. Multiplizieren Sie die Anzahl der Replikate für die Gesamtmenge des Speichers.
Ändern der Registrierungs-SKU
Sie können die SKU einer Registrierung im Azure-Portal oder mithilfe von Azure CLI oder Azure PowerShell ändern. Sie können frei zwischen SKUs wechseln, solange die SKU, zu der Sie wechseln, über die erforderliche maximale Speicherkapazität verfügt.
Wenn Sie die SKU einer Registrierung ändern, gibt es keine Ausfallzeiten oder Auswirkungen auf Registrierungsvorgänge. Wenn Sie jedoch von Premium zu einer niedrigeren SKU wechseln, werden features, die für Premium spezifisch sind, deaktiviert. In einigen Fällen müssen Sie Ressourcen im Zusammenhang mit diesen Features entfernen, bevor Sie SKUS wechseln können. Sie müssen beispielsweise alle Georeplikationen oder verbundenen Registrierungen löschen, bevor Sie von Premium zu Standard oder Basic wechseln können.
Um SKUs im Azure-Portal zu ändern, wechseln Sie zu Ihrer Containerregistrierung. Wählen Sie im Dienstmenü unter "Einstellungen" die Option "Eigenschaften" aus. Ändern Sie die Option für den Preisplan, und wählen Sie dann "Speichern" aus.
Um SKUs mithilfe des Azure CLI zu ändern, verwenden Sie den Befehl az acr update. Gehen Sie beispielsweise wie folgt vor, um zu Premium zu wechseln:
az acr update --name myContainerRegistry --sku Premium
Um SKUs mithilfe von Azure PowerShell zu ändern, verwenden Sie das Cmdlet Update-AzContainerRegistry. Gehen Sie beispielsweise wie folgt vor, um zu Premium zu wechseln:
Update-AzContainerRegistry -ResourceGroupName myResourceGroup -Name myContainerRegistry -Sku Premium
Verwandte Inhalte
Informationen zu bevorstehenden Azure Container Registry-Features finden Sie unter GitHub Roadmap.