Azure 사용자 지정 리소스 공급자 개요

Azure 사용자 지정 공급자는 Azure에 대한 확장성 플랫폼입니다. 기본 Azure 환경을 보강하는 데 사용할 수 있는 사용자 지정 API를 정의할 수 있습니다. 이 설명서에서는 다음에 대해 설명합니다.

  • Azure 사용자 지정 리소스 공급자를 빌드하고 배포하는 방법.
  • Azure 사용자 지정 리소스 공급자를 활용하여 기존 워크플로를 확장하는 방법.
  • 시작하기 위한 가이드 및 코드 샘플을 찾을 수 있는 위치.

Diagram of Azure Custom Resource Providers, displaying the relationship between Azure Resource Manager, custom resource providers, and resources.

Important

사용자 지정 리소스 공급자는 현재 퍼블릭 미리 보기 상태입니다. 이 미리 보기 버전은 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 사용하지 않는 것이 좋습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

사용자 지정 리소스 공급자가 수행할 수 있는 작업

Azure 사용자 지정 리소스 공급자를 사용하여 다음과 같은 작업을 수행할 수 있습니다.

  • 내부 및 외부 서비스를 포함하도록 Azure Resource Manager REST API를 확장합니다.
  • 기존 Azure 워크플로 위에 사용자 지정 시나리오를 사용하도록 설정합니다.
  • Azure Resource Manager 템플릿 컨트롤 및 효과를 사용자 지정합니다.

사용자 지정 리소스 공급자란?

Azure 사용자 지정 리소스 공급자는 Azure와 엔드포인트 간에 계약을 만들면서 생성됩니다. 해당 계약은 새 리소스(Microsoft.CustomProviders/resourceProviders)를 통해 새 리소스 및 작업 목록을 정의합니다. 그러면 사용자 지정 리소스 공급자는 Azure에서 이러한 새 API를 노출합니다. Azure 사용자 지정 리소스 공급자는 사용자 지정 리소스 공급자, 엔드포인트, 사용자 지정 리소스의 세 부분으로 구성됩니다.

사용자 지정 리소스 공급자를 빌드하는 방법

사용자 지정 리소스 공급자는 Azure와 엔드포인트 간의 계약 목록입니다. 이러한 계약은 Azure가 엔드포인트와 상호 작용하는 방법을 설명합니다. 리소스 공급자는 프록시와 같이 작동하며 지정된 엔드포인트에 요청 및 응답을 전달합니다. 리소스 공급자는 두 가지 유형의 계약(resourceTypesactions)을 지정할 수 있습니다. 이러한 설정은 엔드포인트 정의를 통해 사용하도록 설정됩니다. 엔드포인트 정의는 이름, routingType, 엔드포인트의 세 필드로 구성됩니다.

샘플 엔드포인트:

{
  "name": "{endpointDefinitionName}",
  "routingType": "Proxy",
  "endpoint": "https://{endpointURL}/"
}
속성 필수 설명
name 엔드포인트 정의의 이름입니다. Azure는 이 이름을 API를 통해 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/
resourceProviders/{resourceProviderName}/{endpointDefinitionName}' 아래에 노출합니다.
routingType 아니요 엔드포인트와의 계약 유형을 결정합니다. 지정하지 않는 경우 기본값은 "Proxy"입니다.
endpoint 요청을 라우팅하는 엔드포인트입니다. 응답은 물론 요청의 부작용도 처리합니다.

사용자 지정 리소스 빌드

ResourceTypes는 Azure에 추가되는 새 사용자 지정 리소스에 대해 설명합니다. 이는 기본 RESTful CRUD 메서드를 노출합니다. 사용자 지정 리소스 만들기에 대해 자세히 알아보기

resourceTypes를 사용하는 샘플 사용자 지정 리소스 공급자:

{
  "properties": {
    "resourceTypes": [
      {
        "name": "myCustomResources",
        "routingType": "Proxy",
        "endpoint": "https://{endpointURL}/"
      }
    ]
  },
  "location": "eastus"
}

위의 샘플에 대해 Azure에 추가된 API:

HttpMethod 샘플 URI 설명
PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
새 리소스를 만드는 Azure REST API 호출입니다.
Delete /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
기존 리소스를 삭제하는 Azure REST API 호출입니다.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources/{customResourceName}?api-version=2018-09-01-preview
기존 리소스를 검색하는 Azure REST API 호출입니다.
GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomResources?api-version=2018-09-01-preview
기존 리소스 목록을 검색하는 Azure REST API 호출입니다.

사용자 지정 작업 빌드

작업은 Azure에 추가되는 새 작업을 설명합니다. 이러한 리소스는 리소스 공급자의 맨 위에 노출되거나 resourceType 아래에 중첩될 수 있습니다. 사용자 지정 작업 만들기에 대한 자세한 정보 참조

작업을 포함하는 샘플 사용자 지정 리소스 공급자:

{
  "properties": {
    "actions": [
      {
        "name": "myCustomAction",
        "routingType": "Proxy",
        "endpoint": "https://{endpointURL}/"
      }
    ]
  },
  "location": "eastus"
}

위의 샘플에 대해 Azure에 추가된 API:

HttpMethod 샘플 URI 설명
게시 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/
providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/
myCustomAction?api-version=2018-09-01-preview
작업을 활성화하기 위한 Azure REST API 호출입니다.

도움말 찾기

Azure 사용자 지정 공급자 개발에 대한 질문이 있는 경우 Stack Overflow에 문의하세요. 이미 비슷한 질문을 받고 답변했을 수 있으므로 게시하기 전에 먼저 확인하세요. 빠른 응답을 얻으려면 azure-custom-providers 태그를 추가하세요.

다음 단계

이 문서에서는 사용자 지정 리소스 공급자에 대해 알아보았습니다. 사용자 지정 리소스 공급자를 만들려면 다음 문서로 이동합니다.