Azure Managed Service Column <Azure運用コラム>

コンテナサービスに欠かせない!Azure Container Registryとは?

Category: 入門編

2022.11.21

コンテナサービスに欠かせない!Azure Container Registryとは?

近年クラウド基盤の普及に伴いコンテナ型の仮想化技術が注目を集めています。コンテナエンジンで代表的なものが Docker です。現在は Docker の仕様がベンダー業界で統一仕様として取り扱われています。

Docker はコンテナ型アプリケーション実行環境です。 Docker を利用することで、 OS 内部に独立したアプリケーションの実行環境を素早く展開することができ、環境変化に柔軟に対応できることから、コンテナ型の仮想技術は、 DX 時代を支える技術として今後さらなる活用が予想されています。

Azure も多くのコンテナサービスを提供しています。今回はその中から、コンテナのイメージを保存するサービスである Azure Container Registry について紹介します。

1.Registry(レジストリ)とは

大前提として Registry とはどのような役目を担う機能でしょうか?ここで言うレジストリはコンテナレジストリと呼ばれるものです。一般的にレジストリと言うと、 Windows OS におけるシステム情報を格納するデータベースを想像される方も多いかもしれません。しかしそのレジストリとは全く異なるものです。

Docker のようなコンテナサービスを使用する場合、アプリケーションやサービスを作成し、依存関係をコンテナイメージとしてパッケージ化します。そのイメージを保存する役割がレジストリです。レジストリはイメージが格納される本棚のようなものであり、サービスや Web アプリを実行するコンテナを構築するために使用することができます。

レジストリは Docker Hub 、 Quay.io 、 GCP Container Registry 、 Amazon Elastic Container Registry 、など様々なサービスが存在します。 Azure Container Registry もその一つです。また自社で Docker イメージ用にレジストリをオンプレミス環境に保持することもできます。

このようにサービスとして公に提供する、パブリックレジストリと、自社でオンプレミス環境に構築するプライベートレジストリの 2 つのタイプがあります。

Repository(レポジトリ)との違い

もう一つ混同されがちなものとして Repository (レポジトリ)という機能概念があります。レジストリは Docker イメージを保存するサービスです。それに対しレポジトリはタグによってイメージの違いを識別しています。その為、イメージの名前は同じでもイメージの履歴を追跡することが可能となりバージョン管理サービスなどに用いられる仕組みです。

レジストリがイメージを保管する本棚であるのに対し、レポジトリがそれぞれの本の中での版数を管理する改訂履歴の機能に例えられるでしょう。

Docker コンテナ、イメージ、レジストリについて学習する

図版出典:Microsoft 公式サイト

2.Docker Registryとは

Docker Registry はコンテナの標準仕様でもある Docker により提供される、イメージの一元管理レポジトリサービスです。公式の Docker Registry では、各種 Linux ディストリビューションの公式イメージや、有志で作成されたイメージなどが配布されています。現在、 Docker Registry は Version 2.0 系が主流となっており、商用サポートが可能な Docker Trusted Registry というサービスも存在します。

また「 Docker イメージの保管先を厳密にコントロールしたい」「イメージの配布方法についても完全に管理したい」など自社のポリシーにあわせ細かく設定を行いたい場合は、自社が管理するサーバー上で Docker Registry コンテナを実行し、プライベートレジストリとして利用することもできます。

3.Azure Container Registryとは

ここまで、レジストリに関する基礎知識と Docker Registry について解説してきました。本章からは Azure のレジストリサービスである Azure Container Registry について解説します。

Azure Container Registry概要

Azure Container Registry はオープンソースの Docker Registry 2.0 に基づくマネージドレジストリサービスです。コンテナイメージおよび関連するデータを格納して配布します。

Azure Container Registry はマルチアーキテクチャイメージをサポートしており、 Windows の Docker イメージと Linux の Docker イメージの両方をサポートしているため、 OS が異なるそれぞれのイメージを同一名でレジストリに保持できます。取得する OS に合わせて自動的に適切なイメージが選択され配布されます。

このように Azure Container Registry は保存するイメージの OS を利用者が気にする必要がなく、 OS が異なる複数の Docker イメージを管理することができます。

また、 Azure Container Registry は Azure CLI 、 Azure portal 、 API サポートなどのツールが用意されており Azure のほかのコンテナ関連サービスと連携が可能です。

Azure Container Registry 機能

Azure Container Registry は Webhooks 、統合認証、 geo レプリケーション、ゾーン冗長など多くのオプション機能が利用できます。主な機能を紹介します。

Webhooks

Webhooks とは HTTP エンドポイントです。他のサービスと連携するために呼び出し可能なユーザー定義のアドレスを設定することができます。

レジストリでの認証機能

Azure Container Registry は様々な認証に対応することができます。マイクロソフトが推奨しているのはレジストリに対する直接認証、 Azure Active Directory との統合認証です。他の認証オプションについては公式サイトをご参照ください。

保存時の暗号化

Azure Container Registry 内のすべてのイメージとその他のデータは保存時に暗号化することが可能です。

geoレプリケーション

Azure Container Registry は、 geo レプリケーションにより、単一レジストリとして機能させながら、レプリケート先のリージョンでローカルに運用することができます。

特定の地域で障害が発生した場合に、レジストリにアクセスできなくなるのを防ぐための機能であり、またネットワーク上の近い場所のレジストリにアクセスできることで、リージョンのデプロイのパフォーマンスと信頼性が向上します。

ゾーン冗長性

選択した Azure リージョンでゾーン冗長を有効にすることが可能です。 geo レプリケーションとゾーン冗長を組み合わせることにより、レジストリの信頼性とパフォーマンスを向上します。

ストレージとの連携

Azure Container Registry では、レジストリのストレージの制限まで、必要な数のリポジトリ、イメージ、レイヤー、またはタグを作成することができます。ストレージは全てのプラン共通で、 20 TiB までとなります。

Azure Container Registry サービスレベル

Azure Container Registry には Basic 、 Standard 、 Premium の 3 つのサービスレベルが存在します。それぞれのプランにはここまで紹介した Webhook 統合、 Azure Active Directory によるレジストリ認証機能などがサポートされています。

Basic 、 Standard 、および Premium はすべて同じプログラム機能を提供されますが、上位のサービスほどパフォーマンスとスケールが向上します。特に Premium では、ここまで紹介した、 geo レプリケーション、可用性ゾーンの拡張が可能となるため、より信頼性の高い環境を構築することができます。

他の項目も Basic 、 Standard 、および Premium のサービスレベルによって制限事項が異なりますので公式サイトでご確認ください。

サービス階層の機能と制限

図版出典:Microsoft 公式サイト

Azure Container Registryの料金について

Azure Container Registry は Basic 、 Standard 、 Premium の 3 つのサービスレベルに応じて日額の料金体系が用意されています。すべてのサービスレベルで追加のストレージが日額で利用できます。

また専用のコンピューティング環境で Azure Container Registry タスクを実行できます。その場合、タスクの実行にかかった時間ではなく、割り当てられた CPU 数/秒で課金されます。詳しくは公式サイトにてご確認ください。

4.まとめ

本記事ではレジストリについての基礎知識と Azure Container Registry について解説しました。 Azure Container Registry を構成することで、コンテナイメージを格納して、コンテナワークロードをすばやく、スケーラブルに取得できるようになります。コンテナ技術のメリットをより効果的に活用するために重要なサービスです。

また Azure が提供している様々なサービスと組み合わせ活用することが可能です。自社の規模や利用状況に合わせ導入の検討をお勧めします。また導入や効果的な利用については専門家へ相談されることを推奨いたします。

Azure の導入を相談したい

Azure導入支援サービス

Azure 導入支援サービス

Microsoft Azure 導入の具体的な方法の検討や技術検証を専門家にサポートいたします。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • Azure導入支援・構築・運用サービス総合カタログ

    Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
    Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。

Microsoft Azureを利用したシステムの設計・構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

Azure導入個別相談会(無料)

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php