빠른 시작: ARM 템플릿을 사용하여 지리적으로 복제된 컨테이너 레지스트리 만들기

이 빠른 시작에서는 ARM 템플릿(Azure Resource Manager 템플릿)을 사용하여 Azure Container Registry 인스턴스를 만드는 방법을 보여 줍니다. 이 템플릿은 여러 Azure 지역의 레지스트리 콘텐츠를 자동으로 동기화하는 지역 복제 레지스트리를 설정합니다. 지역 복제는 단일 관리 환경을 제공하는 동시에 지역 배포의 이미지에 대한 네트워크 방식의 액세스를 지원합니다. 프리미엄 레지스트리 서비스 계층의 기능입니다.

Azure Resource Manager 템플릿은 프로젝트의 인프라 및 구성을 정의하는 JSON(JavaScript Object Notation) 파일입니다. 이 템플릿은 선언적 구문을 사용합니다. 배포를 만들기 위한 프로그래밍 명령 시퀀스를 작성하지 않고 의도한 배포를 설명합니다.

복제가 있는 레지스트리는 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 구독을 선택합니다.

    • 리소스 그룹: 새로 만들기를 선택하고 리소스 그룹에 고유한 이름을 입력한 다음, 확인을 선택합니다.

    • 지역: 리소스 그룹에 대한 위치를 선택합니다. 예: 미국 중부.

    • ACR 이름: 레지스트리에 대해 생성된 이름을 적용하거나 이름을 입력합니다. 전역적으로 고유해야 합니다.

    • Acr 관리 사용자 사용: 기본값을 적용합니다.

    • 위치: 레지스트리의 홈 복제본에 대해 생성된 위치를 수락하거나 미국 중부와 같은 위치를 입력합니다.

    • Acr Sku: 기본값을 적용합니다.

    • ACR 복제본 위치: 지역의 짧은 이름을 사용하여 레지스트리 복제본의 위치를 입력합니다. 홈 레지스트리 위치와 달라야 합니다. 예: westeurope.

      Template properties

  3. 검토 + 만들기를 선택한 다음, 사용 약관을 검토합니다. 동의하면 만들기를 선택합니다.

  4. 레지스트리가 성공적으로 만들어지면 다음과 같이 알림을 받게 됩니다.

    Portal notification

Azure Portal은 템플릿을 배포하는데 사용됩니다. Azure Portal 외에도 Azure PowerShell, Azure CLI 및 REST API를 사용할 수 있습니다. 다른 배포 방법을 알아보려면 템플릿 배포를 참조하세요.

배포된 리소스 검토

Azure Portal 또는 Azure CLI와 같은 도구를 사용하여 컨테이너 레지스트리의 속성을 검토합니다.

  1. 포털에서 Container Registry를 검색하고, 생성한 컨테이너 레지스트리를 선택합니다.

  2. 개요 페이지에서 레지스트리의 로그인 서버를 확인합니다. Docker를 사용하여 이미지에 태그를 지정하고 레지스트리에 푸시할 때 이 URI를 사용합니다. 자세한 내용은 Docker CLI를 사용하여 첫 번째 이미지 푸시를 참조하세요.

    Registry overview

  3. 복제본 페이지에서 홈 복제본과 템플릿을 통해 추가된 복제본의 위치를 확인합니다. 원하는 경우 이 페이지에서 복제본을 더 추가합니다.

    Registry replications

리소스 정리

더 이상 필요하지 않으면 리소스 그룹, 레지스트리 및 레지스트리 복제본을 삭제합니다. 이렇게 하려면 Azure Portal로 이동하고, 레지스트리가 포함된 리소스 그룹을 선택한 다음, 리소스 그룹 삭제를 선택합니다.

Delete resource group

다음 단계

이 빠른 시작에서는 ARM 템플릿을 사용하여 Azure Container Registry를 만들고 다른 위치에 레지스트리 복제본을 구성했습니다. Azure Container Registry 자습서를 계속 진행하여 ACR에 대해 자세히 알아보세요.

템플릿을 만드는 과정을 안내하는 단계별 자습서는 다음을 참조하세요.