クイック スタート: ARM テンプレートを使用して geo レプリケートコンテナー レジストリを作成する

このクイックスタートでは、Azure Resource Manager テンプレート (ARM テンプレート) を使用して Azure Container Registry インスタンスを作成する方法について説明します。 このテンプレートは、複数の Azure リージョン間でレジストリ コンテンツを自動的に同期する 、geo レプリケート されたレジストリを設定します。 geo レプリケーションを使用すると、リージョンデプロイからイメージにネットワークに近いアクセスが可能になり、1 つの管理エクスペリエンスが提供されます。 これは、 Premium レジストリ サービス レベルの機能です。

Azure Resource Manager テンプレートは、プロジェクトのインフラストラクチャと構成を定義する JavaScript Object Notation (JSON) ファイルです。 このテンプレートでは、宣言型の構文が使用されています。 デプロイを作成するための一連のプログラミング コマンドを記述しなくても、意図したデプロイを記述できます。

レプリケーションを含むレジストリは、ARM/Bicep テンプレートの完全モードのデプロイをサポートしていません。

環境が前提条件を満たしていて、ARM テンプレートの使用に慣れている場合は、 [Azure へのデプロイ] ボタンを選択します。 Azure portal でテンプレートが開きます。

Resource Manager テンプレートを Azure に配置するボタン。

Prerequisites

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

テンプレートを確認する

このクイックスタートで使用されるテンプレートは Azure クイックスタート テンプレートからのものです。 このテンプレートは、レジストリと追加のリージョン レプリカを設定します。

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.5.6.12127",
      "templateHash": "12610175857982700190"
    }
  },
  "parameters": {
    "acrName": {
      "type": "string",
      "defaultValue": "[format('acr{0}', uniqueString(resourceGroup().id))]",
      "maxLength": 50,
      "minLength": 5,
      "metadata": {
        "description": "Globally unique name of your Azure Container Registry"
      }
    },
    "acrAdminUserEnabled": {
      "type": "bool",
      "defaultValue": false,
      "metadata": {
        "description": "Enable admin user that has push / pull permission to the registry."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for registry home replica."
      }
    },
    "acrSku": {
      "type": "string",
      "defaultValue": "Premium",
      "allowedValues": [
        "Premium"
      ],
      "metadata": {
        "description": "Tier of your Azure Container Registry. Geo-replication requires Premium SKU."
      }
    },
    "acrReplicaLocation": {
      "type": "string",
      "metadata": {
        "description": "Short name for registry replica location."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ContainerRegistry/registries",
      "apiVersion": "2019-12-01-preview",
      "name": "[parameters('acrName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('acrSku')]"
      },
      "tags": {
        "displayName": "Container Registry",
        "container.registry": "[parameters('acrName')]"
      },
      "properties": {
        "adminUserEnabled": "[parameters('acrAdminUserEnabled')]"
      }
    },
    {
      "type": "Microsoft.ContainerRegistry/registries/replications",
      "apiVersion": "2019-12-01-preview",
      "name": "[format('{0}/{1}', parameters('acrName'), parameters('acrReplicaLocation'))]",
      "location": "[parameters('acrReplicaLocation')]",
      "properties": {},
      "dependsOn": [
        "[resourceId('Microsoft.ContainerRegistry/registries', parameters('acrName'))]"
      ]
    }
  ],
  "outputs": {
    "acrLoginServer": {
      "type": "string",
      "value": "[reference(resourceId('Microsoft.ContainerRegistry/registries', parameters('acrName'))).loginServer]"
    }
  }
}

テンプレートで定義されているリソースは次のとおりです。

その他の Azure Container Registry テンプレートのサンプルについては、クイックスタート テンプレート ギャラリーを参照してください。

テンプレートをデプロイする

  1. Azure にサインインし、テンプレートを開くには次のイメージを選択します。

    Resource Manager テンプレートを Azure に配置するボタン。

  2. 次の値を選択または入力します。

    • サブスクリプション: Azure サブスクリプションを選択します。

    • リソース グループ: [ 新規作成] を選択し、リソース グループの一意の名前を入力して、[ OK] を選択します

    • [リージョン] : リソース グループの場所を選択します。 例: 米国中部

    • Acr Name: レジストリに対して生成された名前を受け入れるか、名前を入力します。 名前はグローバルに一意である必要があります。

    • Acr Admin User Enabled: 既定値をそのまま使用します。

    • 場所: レジストリのホーム レプリカの生成された場所を受け入れるか、 米国中部などの場所を入力します。

    • Acr Sku: 既定値をそのまま使用します。

    • Acr レプリカの場所: リージョンの短い名前を使用して、レジストリ レプリカの場所を入力します。 ホーム レジストリの場所とは異なる必要があります。 例: westeurope

      テンプレートのプロパティ

  3. [Review + Create](確認と作成) を選択し、使用条件を確認します。 同意する場合は、 [作成] を選択します。

  4. レジストリが正常に作成されると、次の通知が表示されます。

    ポータル通知

テンプレートをデプロイするには Azure portal を使用します。 Azure portal に加えて、Azure PowerShell、Azure CLI、REST API を使用できます。 他のデプロイ方法については、「テンプレートのデプロイ」を参照してください。

デプロイされているリソースを確認する

Azure portal またはツール (Azure CLI など) を使用して、コンテナー レジストリのプロパティを確認します。

  1. ポータルでコンテナー レジストリを検索し、作成したコンテナー レジストリを選択します。

  2. [概要] ページで、レジストリのログイン サーバーを書き留めます。 Docker を使用してイメージにタグを付けてレジストリにプッシュするときに、この URI を使用します。 情報については、Docker CLI を使用した最初のイメージのプッシュに関するページを参照してください。

    レジストリの概要

  3. [ レプリケーション ] ページで、テンプレートを使用して追加されたホーム レプリカとレプリカの場所を確認します。 必要に応じて、このページにレプリカを追加します。

    レジストリ レプリケーション

リソースをクリーンアップする

不要になったら、リソース グループ、レジストリ、およびレジストリ レプリカを削除します。 これを行うには、Azure portal に移動し、レジストリを含むリソース グループを選択して、 [リソース グループの削除] を選択します。

リソース グループの削除

次のステップ