次の方法で共有


Azure Container Registry SKU の機能と制限

Azure Container Registry は、複数の SKU で使用できます。 これらの SKU (価格プランまたはレベルとも呼ばれます) では、予測可能な価格がサポートされ、Azure のプライベート コンテナー レジストリのさまざまな容量と使用パターンに合わせて調整されます。

レジストリを作成するときに、レジストリの機能と制限を決定する 価格プラン を選択します。 イメージの数、ストレージのニーズ、パフォーマンス要件など、予想される使用パターンに合ったプランを選択します。

Azure Container Registry には、Basic、Standard、Premium の 3 つの 価格プラン オプションが用意されています。 各 SKU には、開発とテストから運用ワークロードまで、さまざまなシナリオに対応するためのさまざまな機能と制限のセットが用意されています。

SKU 説明
基本的な Azure Container Registry について学習する開発者向けのコスト最適化エントリ ポイント。 Basic レジストリには、Microsoft Entra 認証の統合イメージの削除Webhook など、Standard および Premium レジストリとほとんど同じ機能があります。 ただし、付属のストレージとイメージのスループットは、使用率の低いシナリオに最も適しており、一部の機能は使用できません。
標準 Standard レジストリは、Basic と同じ機能を提供しますが、含まれているストレージとイメージ スループットが拡大されています。 標準レジストリは、多くの運用シナリオのニーズを満たしている。
プレミアム Premium レジストリは、含まれているストレージが最も大きく、同時実行操作数も最大であり、大容量シナリオに対応できます。 Premium では、高いイメージ スループットに加えて、複数のリージョン間で 1 つのレジストリを管理して高可用性を実現する geo レプリケーション 、レジストリへのアクセスを制限するための プライベート エンドポイントとのプライベート リンク 、大規模な同時実行デプロイの API コンカレンシーと帯域幅スループットの向上などの機能が追加されます。

各 SKU には、特定の量の空きストレージが含まれています。追加のストレージは GB 単位のレートで利用できます。 各 SKU には、異なる最大ストレージ制限もあります。

Basic、Standard、Premium の SKU はすべて、同じプログラム機能とデータ プレーン API を提供します。 また、これらすべては、Azure によって完全に管理されているイメージ ストレージから恩恵を受けられます。 ただし、Premium SKU を使用すると、より広範な機能が有効になり、制限が高くなります。

SKU の機能と制限

次の表では、Basic、Standard、Premium の SKU の機能とレジストリの制限について詳しく説明します。

リソース Basic Standard Premium
含まれている記憶域1 (GiB) 10 100 500
ストレージの制限 (TiB) 40 40 40
イメージ レイヤーの最大サイズ (GiB) 200 200 200
マニフェストの最大サイズ (MiB) 4 4 4
Webhooks(ウェブフック) 2 10 500
プライベート エンドポイントがあるプライベート リンク N/A N/A サポートされています
• プライベート エンドポイント N/A N/A 200
パブリック IP ネットワーク ルール N/A N/A 200
サービス エンドポイントの VNet アクセス N/A N/A プレビュー
• 仮想ネットワーク規則 N/A N/A 100
Microsoft Entra ロールの割り当てによるリポジトリ関連のアクセス許可 サポートされています サポートされています サポートされています
Microsoft Entra でないトークンおよびスコープマップを使用したリポジトリスコープの許可設定 サポートされています サポートされています サポートされています
• Microsoft 以外の Entra トークン 100 500 50,000
• Microsoft Entra 以外のトークン スコープ マップ 100 500 50,000
• Microsoft Entra 以外のトークン スコープ マップごとのアクション 500 500 500
• Microsoft Entra 以外のトークン スコープ マップあたりのリポジトリ2 500 500 500
匿名プル アクセス N/A サポートされています サポートされています
geo レプリケーション N/A N/A サポートされています
専用データ エンドポイント N/A N/A サポートされています
可用性ゾーン サポートされています サポートされています サポートされています
コンテンツの信頼 N/A N/A サポートされています
カスタマー マネージド キー N/A N/A サポートされています
接続されているレジストリ N/A N/A サポートされています
アーティファクト ストリーミング N/A N/A サポートされています
アーティファクト キャッシュ ルール N/A サポートされています サポートされています
IP アクセス規則の構成 N/A N/A サポートされています
タグなしマニフェストの保持ポリシー N/A N/A サポートされています
成果物の転送 N/A N/A サポートされています
輸出ポリシー N/A N/A サポートされています
タスク専用エージェント プール N/A N/A サポートされています

1 各サービス レベルの 1 日あたりの料金に含まれるストレージ。 ストレージの上限に達するまで追加のストレージを使用できますが、GiB あたりの追加料金が日単位で課金されます。 詳細については、「Azure Container Registry の価格」を参照してください。 レジストリのストレージ制限を超えてストレージが必要な場合は、Azure サポートにお問い合わせください。

2content/deletecontent/readcontent/writemetadata/readの個々のmetadata/writeは、Microsoft Entra 以外のトークン スコープ マップあたりのリポジトリの制限に対応します。

この表に記載されている制限を引き上げるには、 Azure サポートにお問い合わせください。 たとえば、プライベート エンドポイントの制限の引き上げ、調整や帯域幅の制約によるイメージのプッシュとプルのパフォーマンス、一般的なストレージ制限を要求できます。

各 Azure Container Registry SKU の価格については、「 Container Registry の価格」を参照してください。 データ転送の価格の詳細については、「 帯域幅の価格」を参照してください。

レジストリ イメージのプルとプッシュのパフォーマンス制限

大規模な操作中における API の同時実行、帯域幅、制限は、主にイメージのプルとプッシュのパフォーマンスに影響を及ぼします。 レジストリ SKU、ネットワーク構成、およびクライアント構成によって、これらの要因が決まります。

API コンカレンシーと帯域幅のスループット制限

SKU によって、API のコンカレンシーと帯域幅のスループットが決まります。 SKU が高いほど、イメージの一覧表示、削除、プッシュ、プルなどのデータ プレーン操作に対して、より多くの同時実行操作と帯域幅がサポートされます。

次の要因は、イメージのプルとプッシュ中の API コンカレンシーと帯域幅のスループットに影響します。

  • イメージ レイヤーの数とサイズ
  • レジストリ内のイメージ間でのレイヤーの再利用
  • 各操作に必要な追加の API 呼び出し
  • 複数のノード間で同時にイメージをプルする Kubernetes デプロイなど、同時デプロイのスケール

次のクライアント環境の要因がパフォーマンスに影響します。

  • 同時実行操作用の Docker デーモンまたは Podman 構成
  • コンテナー ランタイムの構成 ( containerd や CRI-O コンカレンシー設定など)
  • クラスター構成またはクラスター データ プレーンの設定

次のネットワーク要因がパフォーマンスに影響します。

  • クライアントからレジストリへのネットワーク ホップのネットワーク帯域幅と待機時間
  • ファイアウォール規則やプロキシ設定など、クライアント側のネットワーク構成
  • レジストリへの地理的距離、または geo レプリケートされた場合は最も近いレプリカ

イメージのプッシュとプル中に発生する API 操作の詳細については、 Docker HTTP API V2 のドキュメントを参照してください。 トラブルシューティングについては、 レジストリパフォーマンスのトラブルシューティングを参照してください。

調整と帯域幅の制約

要求量が多い期間中は、HTTP 429 Too many requests エラーや低速の帯域幅スループットによって制限がかかることがあります。 これらの問題を軽減するには:

  • 指数バックオフを使用して再試行ロジックを実装します。
  • 同時要求の割合を減らします。
  • 大規模なデプロイをスペースアウトして、複数のノード間での同時イメージ プルを減らします。

継続的に API 制限や帯域幅のスループットが低下する場合、レジストリの SKU を 上位の SKU に更新することを検討してください。 また、Azure サポートに連絡して 制限の引き上げを要求することもできます。

レジストリの使用状況を表示する

使用状況情報は、レジストリが制限に近づくと きの SKU の変更 に関する決定を行う際に役立ち、 使用量を管理するのに役立ちます。

レジストリのストレージとその他のリソースの現在の消費量のスナップショットを取得するには、そのレジストリの SKU の制限と比較して、Azure portal でレジストリの [概要 ] ページを確認します。 az acr show-usage (Azure CLI)、Get-AzContainerRegistryUsage (Azure PowerShell)、Registries - List Usages (REST API) などの API を使用することもできます。

レジストリのストレージ使用量には、最近のレジストリ操作がすべて反映されていない場合があります。 レジストリのStorageUsed 指標を監視し、最新のデータを取得します。

使用情報には、レジストリの SKU に応じて、次の一部またはすべてが、その SKU の制限と共に含まれます。

ジオレプリケーションされたレジストリでは、ホームリージョンのストレージ使用量が表示されます。 ストレージの合計量のレプリカの数を乗算します。

レジストリ SKU の変更

レジストリの SKU は、Azure portal で変更することも、 Azure CLI または Azure PowerShell を使用して変更することもできます。 切り替え先の SKU に必要な最大ストレージ容量がある限り、SKU 間を自由に移動できます。

レジストリの SKU を変更しても、ダウンタイムやレジストリ操作への影響はありません。 ただし、Premium から下位 SKU に移行すると、Premium に固有の機能は無効になります。 場合によっては、SKU を切り替える前に、これらの機能に関連するリソースを削除する必要があります。 たとえば、Premium から Standard または Basic に切り替える前に、geo レプリケーションまたは接続されているレジストリを削除する必要があります。

Azure portal で SKU を変更するには、コンテナー レジストリに移動します。 サービス メニューの [設定] で [プロパティ] を選択 します価格プランのオプションを変更し、[保存] を選択します。

Azure CLI を使用して SKU を変更するには、 az acr update コマンドを使用します。 たとえば Premium への切り替えは、次のようにして行います。

az acr update --name myContainerRegistry --sku Premium

Azure PowerShell を使用して SKU を変更するには、 Update-AzContainerRegistry コマンドレットを使用します。 たとえば Premium への切り替えは、次のようにして行います。

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

今後の Azure Container Registry 機能の詳細については、GitHub の ロードマップ を参照してください。