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

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

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

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

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

Button to deploy the Resource Manager template to Azure.

前提条件

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 にサインインし、テンプレートを開くには次のイメージを選択します。

    Button to deploy the Resource Manager template to Azure.

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

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

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

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

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

    • [Acr Admin User Enabled](ACR 管理者ユーザーの有効) : 既定値を受け入れます。

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

    • [Acr Sku](ACR の SKU) : 既定値を受け入れます。

    • [Acr Replica Location](Acr レプリカの場所) : リージョンの短い名前を使用して、レジストリ レプリカの場所を入力します。 ホーム レジストリの場所とは違う場所にする必要があります。 例: westeurope

      Template properties

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

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

    Portal notification

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

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

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

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

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

    Registry overview

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

    Registry replications

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

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

Delete resource group

次のステップ

このクイックスタートでは、ARM テンプレートを使用して Azure Container Registry を作成し、別の場所にレジストリ レプリカを構成しました。 Azure Container Registry のチュートリアルに進んで、ACR についての理解を深めましょう。

テンプレートの作成手順について説明したチュートリアルについては、次のページを参照してください。

初めての ARM テンプレートを作成してデプロイする[