Azure Container Registry とは?Azure のイメージ store
Azure Container Registry(ACR)は、コンテナイメージと OCI artifact のための Azure のマネージドなプライベートレジストリで、アクセス制御のために Entra ID と統合されています。
パイプラインが Azure 向けにイメージを build すると、それが存在する場所が ACR です。AKS、Container Apps、App Service はすべてそこから pull します。Azure ネイティブであるため、認証は Entra ID と managed identity に結びつき、デプロイはレジストリのパスワードを保存せずにイメージを pull できます。
リポジトリとタグ
各アプリケーションはリポジトリにマッピングされ、各 build はタグ付けされたイメージ(多くの場合 commit SHA)をプッシュします。ACR はイメージに加えて Helm chart のような OCI artifact もサポートし、デプロイ用の artifact を 1 か所にまとめます。
認証
- 誰がプッシュ・pull できるかを決める Entra ID のアイデンティティと RBAC role。
- AKS や Container Apps が secret なしで pull するための managed identity。
- CI パイプライン向けの OIDC を使った service principal。
サービス tier
ACR には Basic、Standard、Premium の tier があります。Premium は geo-replication、より大きな storage、private-link networking を追加します。geo-replication は、複数リージョンの cluster の近くにイメージを保ち、より速い pull を実現します。
組み込み機能
ACR は ACR Tasks でイメージの build をクラウド上で実行し、脆弱性をスキャンし、content trust を強制できます。これらの機能は、build とデプロイの間のサプライチェーンを保護するのに役立ちます。
CI/CD での役割
パイプラインは ACR にログインし、イメージを build してタグを付け、プッシュします。デプロイステップはそのタグを AKS、Container Apps、App Service で参照します。GitHub Actions は OIDC 経由で service principal に認証し、managed identity によりランタイムは鍵なしでイメージを pull できます。
重要なポイント
- ACR はイメージと OCI artifact のための Azure のマネージドなプライベートレジストリです。
- 認証は Entra ID と managed identity を使うため、ランタイムはパスワードなしで pull します。
- パイプラインは AKS や Container Apps へデプロイする前に、タグ付けしたイメージをここへプッシュします。