接続されたレジストリとは?
この記事では、Azure Container Registry の接続されたレジストリ機能について学習します。 接続レジストリは、コンテナー イメージをクラウドベースの Azure コンテナー レジストリと同期するオンプレミスまたはリモートのレプリカです。 接続レジストリを使用して、オンプレミスまたはリモートのレジストリ成果物へのアクセスを高速化できます。
課金とサポート
接続されたレジストリは、Premium コンテナー レジストリ サービス レベルのプレビュー機能であり、制限が適用されます。 レジストリ サービスのレベルと制限については、Azure Container Registry のサービス レベルに関する記事を参照してください。
重要
2025 年 1 月 1 日以降の、接続レジストリのデプロイ モデルのサポートと課金に関する重要な今後の変更があります。 移行に関するお問い合わせやサポートについては、カスタマー サポート チームにお問い合わせください。
請求
- 接続レジストリは、一般提供 (GA) になるまで料金は発生しません。
- GA 後、デプロイされた接続レジストリごとに月額 10 ドルが適用されます。
- この価格は、高品質のサービスと製品サポートを提供するという Microsoft のコミットメントを表します。
- 価格は、親レジストリに関連付けられている Azure サブスクリプションに適用されます。
サポート
- Microsoft は、2025 年 1 月 1 日に IoT Edge デバイスでの接続レジストリのデプロイのサポートを終了します。
- 2025 年 1 月 1 日以降、接続レジストリでは、Arc 対応 Kubernetes クラスターのみがデプロイ モデルとしてサポートされます。
- Microsoft では、デプロイ モデルとして Arc 対応 Kubernetes クラスターへ移行する計画を開始することを推奨しています。
対応リージョン
接続レジストリは、Azure Container Registry が使用可能なすべてのリージョンにデプロイできます。
シナリオ
クラウドベースの Azure コンテナー レジストリは、geo レプリケーション、統合セキュリティ、Azure マネージド ストレージ、Azure 開発およびデプロイ パイプラインとの統合などの機能を提供します。 同時に、顧客はクラウドへの投資をオンプレミスおよび現場のソリューションに拡張しています。
オンプレミスまたはリモート環境で必要なパフォーマンスと信頼性を保って実行するには、コンテナー ワークロードがコンテナー イメージおよび関連する成果物を近くで使用できる必要があります。 接続されたレジストリは、クラウドベースの Azure コンテナー レジストリとコンテンツを定期的に同期する、パフォーマンスの高いオンプレミスのレジストリ ソリューションを提供します。
接続されたレジストリのシナリオには、次のものが含まれます。
- 接続された工場
- 小売の場所の販売時点管理
- 出荷、石油の掘削、採鉱など、時々接続される環境
接続されたレジストリのしくみ
接続レジストリは、オンプレミスのサーバーまたはデバイス、または Azure IoT Edge や Azure Arc 対応 Kubernetes などのオンプレミスのコンテナー ワークロードをサポートする環境にデプロイされます。 接続レジストリは、コンテナー イメージとその他の OCI 成果物をクラウドベースの Azure コンテナー レジストリと同期します。
次の図は、IoT Edge を使用した接続レジストリの一般的なデプロイ モデルを示しています。
次の図は、Azure Arc 対応 Kubernetes を使用した接続レジストリの一般的なデプロイ モデルを示しています。
展開
それぞれの接続レジストリは、クラウドベースの Azure コンテナー レジストリ内で管理するリソースです。 接続レジストリ階層の最上位の親は、Azure クラウド内の Azure コンテナー レジストリです。 接続レジストリは、Azure IoT Edge または Arc 対応 Kubernetes クラスターにデプロイできます。
接続レジストリをインストールするには、オンプレミスのサーバーまたはデバイス上、あるいは Azure IoT Edge などのオンプレミスのコンテナー ワークロードをサポートする環境で、Azure ツールを使用します。
接続レジストリ Arc 拡張機能を Arc 対応 Kubernetes クラスターにデプロイします。 読み取り専用アクセスと継続的同期ウィンドウの既定の構成を使用して、TLS を使用して接続をセキュリティで保護します。 このセットアップにより、接続レジストリは Azure コンテナー レジストリ (ACR) からオンプレミスの接続レジストリにイメージを同期でき、接続レジストリからイメージプルを有効にできます。
接続されたレジストリのアクティブ化の状態は、それがオンプレミスにデプロイされているかどうかを示します。
- アクティブ - 接続されたレジストリは現在オンプレミスにデプロイされています。 非アクティブ化されるまでは、もう一度デプロイすることはできません。
- 非アクティブ - 接続されたレジストリはオンプレミスにデプロイされていません。 現時点でデプロイできます。
コンテンツの同期
接続されたレジストリは、コンテナー イメージおよび OCI 成果物を同期するために、クラウド レジストリに定期的にアクセスします。
また、クラウド レジストリからリポジトリのサブセットを同期するように構成したり、特定の間隔でのみ同期するように構成したりして、クラウドとオンプレミス間のトラフィックを減らすこともできます。
モード
接続されたレジストリは、"ReadWrite" または "ReadOnly" という 2 つのモードのいずれかで動作できます
ReadOnly モード - 既定のモード。接続レジストリが ReadOnly モードの場合、クライアントは成果物のプル (読み取り) のみ可能です。 この構成は、クライアントが操作するためにコンテナー イメージをプルする必要があるシナリオで使用されます。 この既定のモードは、既定でのセキュリティ保護のアプローチに沿ったもので、CLI バージョン 2.60.0 以降で有効です。
ReadWrite モード - このモードでは、クライアントは接続レジストリとの間で成果物のプルおよびプッシュ (読み取りと書き込み) が可能です。 接続されたレジストリにプッシュされた成果物は、クラウド レジストリと同期されます。 ReadWrite モードは、ローカル開発環境が配置されている場合に便利です。 イメージは、ローカルの接続されたレジストリにプッシュされ、そこからクラウドに同期されます。
レジストリの階層
それぞれの接続されたレジストリは、親に接続されている必要があります。 最上位の親はクラウド レジストリです。 入れ子になった IoT Edge など、階層状のシナリオでは、接続されたレジストリをどちらのモードでも入れ子にすることができます。 クラウド レジストリに接続されている親は、どちらのモードでも動作できます。
子レジストリは、親の機能と互換性がある必要があります。 したがって、ReadOnly モードと ReadWrite モードの接続レジストリはどちらも ReadWrite モードで動作する接続レジストリの子になることができますが、ReadOnly モードで動作する接続レジストリの子になれるのは ReadOnly モードのレジストリのみです。
クライアント アクセス
オンプレミスのクライアントは、Docker CLI などの標準ツールを使用して、接続レジストリからコンテンツをプッシュまたはプルします。 クライアント アクセスを管理するには、それぞれの接続されたレジストリにアクセスするための Azure コンテナー レジストリ トークンを作成します。 プルまたはプッシュ アクセス用のクライアント トークンは、レジストリ内の 1 つ以上のリポジトリに対してスコープを設定できます。
また、それぞれの接続されたレジストリは、その親レジストリと定期的に通信する必要があります。 このため、レジストリにはクラウド レジストリによって同期トークン (sync token) が発行されます。 このトークンは、同期および管理操作用に親レジストリで認証するために使用されます。
詳細については、「接続されたレジストリへのアクセスの管理」を参照してください。
制限事項
- トークンとスコープ マップの数は、1 つのコンテナー レジストリに対してそれぞれ 20,000 に制限されています。 これにより、クラウド レジストリの接続レジストリの数が間接的に制限されます。すべての接続レジストリには同期およびクライアント トークンが必要だからです。
- スコープ マップ内のリポジトリ アクセス許可の数は 500 に制限されています。
- 接続されたレジストリのクライアントの数は現在、20 に制限されています。
- リポジトリ、マニフェスト、またはタグ メタデータによるイメージ ロックは、接続レジストリでは現在サポートされていません。
- ReadOnly モードを使用する接続レジストリでは、リポジトリの削除はサポートされていません。
- 接続されたレジストリのリソース ログは、現在サポートされていません。
- 接続されたレジストリは、レジストリのホーム リージョン データ エンドポイントと結合されます。 geo レプリケーションの自動移行はサポートされていません。
- 接続レジストリを削除するには、オンプレミスのコンテナーを手動で削除し、クラウド内のそれぞれのスコープ マップまたはトークンを削除する必要があります。
- 接続されたレジストリの同期に関する制限事項は次のとおりです。
- 継続的同期の場合:
minMessageTtl
は 1 日ですmaxMessageTtl
は 90 日
- 時々接続されるシナリオで同期ウィンドウを指定する場合:
minSyncWindow
は 1 時間maxSyncWindow
7 日です
- 継続的同期の場合:
まとめ
この概要では、接続されたレジストリといくつかの基本的な概念について学習しました。 次のいずれかの記事に進み、接続されたレジストリを利用できる特定のシナリオについて学習してください。