Azure 고객 사용량 특성

고객 사용 특성은 파트너로 사용자와 IP를 배포하는 동안 생성된 고객 구독에서 Azure 리소스의 사용량을 연결합니다. 내부 Microsoft 시스템에서 이러한 연결을 형성하면 소프트웨어를 실행하는 Azure 발자국에 대한 내부 가시성이 향상됩니다. 상업용 Marketplace의 Azure 애플리케이션 제품의 경우 이 추적 기능을 통해 Microsoft 영업 팀과 연계하고 Microsoft 파트너 프로그램에 대한 크레딧을 얻을 수 있습니다. 고객 사용량 특성은 상업용 Marketplace의 Azure 가상 머신 제품에 적용되지 않습니다. 최종 고객 구독에서 Azure 소비를 추적하기 위해 가상 머신 제품에 대해 마켓플레이스 게시자가 수행해야 하는 작업은 없습니다.

고객 사용량 특성은 세 가지 배포 옵션을 지원합니다.

  1. Azure Resource Manager 템플릿(상업용 Marketplace에서 "솔루션 템플릿" 또는 "관리되는 앱"이라고도 함)의 공통 기반인 Azure Resource Manager 템플릿: 파트너는 Resource Manager 템플릿을 만들어 Azure 솔루션의 인프라 및 구성을 정의합니다. Resource Manager 템플릿을 통해 고객은 솔루션의 리소스를 일관되고 반복 가능한 상태로 배포할 수 있습니다.
  2. Azure Resource Manager API: 파트너는 Resource Manager API를 호출하여 Resource Manager 템플릿을 배포하거나 Azure 서비스를 직접 프로비전할 수 있습니다.
  3. Terraform: 파트너는 Terraform을 사용하여 Resource Manager 템플릿을 배포하거나 Azure 서비스를 직접 배포할 수 있습니다.

상업용 Marketplace 외부의 고객 사용량 특성은 이 문서의 뒷부분에 있는 보조 사용 사례를 참조하세요.

Important

  • 고객 사용량 특성은 주로 Azure 리소스를 배포하고 관리하도록 설계된 시스템 통합자, 관리 서비스 공급자 또는 도구의 작업을 추적하기 위한 것이 아닙니다.

  • 고객 사용량 특성은 새 배포를 위한 것이며 이미 배포된 추적 리소스를 지원하지 않습니다.

    • 모든 Azure 서비스가 고객 사용량 특성과 호환되는 것은 아닙니다. AKS(Azure Kubernetes Services), VM Scale Sets 및 Azure Batch에는 사용량에 대한 보고 부족의 원인이 되는 알려진 문제가 있습니다.
    • 고객 사용량 특성 Azure 소비 데이터는 파트너와 외부적으로 공유되지 않습니다.

Azure 앱 상업용 마켓플레이스

상업용 Marketplace에 게시된 Azure 앱에서 Azure 사용량을 추적하는 것은 대부분 자동입니다. Marketplace Azure 앱 계획의 기술 구성의 일부로 Resource Manager 템플릿을 업로드하는 경우 파트너 센터는 Azure Resource Manager에서 읽을 수 있는 추적 ID를 추가합니다.

참고 항목

애플리케이션의 사용이 시스템에서 정확하게 특성화되도록 하려면 다음을 수행합니다.

  1. 리소스 종류 Microsoft.Resources/deployment에서 추적 ID를 변수로 정의하는 경우 계획의 기술 구성 페이지에서 파트너 센터에 표시되는 추적 ID로 변수를 바꿉니다(아래 Resource Manager 템플릿에 GUID 추가 참조).
  2. Resource Manager 템플릿이 고객 사용 특성 이외의 목적으로 Microsoft.Resources/deployments 유형의 리소스를 사용하는 경우 Microsoft는 귀하를 대신하여 고객 사용 특성 추적 ID를 추가할 수 없습니다. Microsoft.Resources/deployments 유형의 새 리소스를 추가하고 계획의 기술 구성 페이지에서 파트너 센터에 표시되는 추적 ID를 추가합니다(아래 Resource Manager 템플릿에 GUID 추가 참조).

Azure Resource Manager API를 사용하는 경우 코드가 리소스를 배포할 때 Azure Resource Manager에 전달하려면 아래 지침에 따라 추적 ID를 추가해야 합니다. 이 ID는 Azure 애플리케이션 플랜의 기술 구성 페이지에 있는 파트너 센터에 표시됩니다.

참고 항목

기존 Azure 앱의 경우 각 계획의 기술 구성에서 추적 ID를 업데이트하기 위해 2021년 3월에 일회성 마이그레이션이 시작되었습니다. 이러한 제품의 이전 배포 사용량은 Microsoft 시스템에서 다시 추적됩니다기본.

제품을 업데이트할 때 기본 템플릿 파일에 더 이상 Microsoft.Resources/deployments 리소스 유형을 추가할 필요가 없습니다.

기타 사용 사례

고객 사용량 특성을 사용하여 상업용 Marketplace에서 사용할 수 없는 솔루션의 Azure 사용량을 추적할 수 있습니다. 이러한 솔루션은 일반적으로 빠른 시작 리포지토리, 프라이빗 GitHub 리포지토리에 상주하거나, 지속성 IP(예: 배포 가능하고 확장 가능한 앱)를 만드는 1:1 고객 계약에서 제공됩니다.

몇 가지 수동 단계가 필요합니다.

  1. 추적 ID로 사용할 하나 이상의 GUID를 만듭니다.
  2. 파트너 센터에서 이 GUID를 등록합니다.
  3. 등록된 GUID를 Azure 앱 및/또는 사용자 에이전트 문자열에 추가합니다.

GUID 만들기

파트너 센터에서 상업용 Marketplace의 Azure 앱을 대신하여 만드는 추적 ID와 달리 고객 사용 특성의 다른 용도로는 추적 ID로 사용할 GUID를 만들어야 합니다. GUID는 326진수의 고유 참조 식별자입니다. 추적을 위한 GUID를 만들려면 예를 들어 PowerShell을 통해 GUID 생성기를 사용해야 합니다.

[guid]::NewGuid()

각 제품 및 배포 채널에 대해 고유한 GUID를 만들어야 합니다. 보고를 분할하지 않으려는 경우 제품의 여러 배포 채널에 단일 GUID를 사용할 수 있습니다. 보고는 PartnerID 및 GUID별로 발생합니다.

GUID 등록

GUID는 파트너 센터로 연결될 수 있도록 파트너 센터에 등록해야 합니다.

  1. 파트너 센터에 로그인합니다.

  2. 상업용 Marketplace 게시자로 등록합니다.

  3. 오른쪽 위 모서리에서 설정(기어 아이콘)를 선택한 다음 계정 설정을 선택합니다.

  4. 조직 프로필>식별자를>선택하여 추적 GUID를 추가합니다.

  5. GUID 상자에 추적 GUID를 입력합니다. 접두사 없이 pid- GUID만 입력합니다. 설명 상자에 솔루션 이름 또는 설명을 입력합니다.

  6. 둘 이상의 GUID를 등록하려면 추적 GUID 추가를 다시 선택합니다. 페이지에 추가 상자가 표시됩니다.

  7. 저장을 선택합니다.

Resource Manager 템플릿에 GUID 추가

Resource Manager 템플릿에 등록된 GUID를 추가하려면 주 템플릿 파일을 한 번만 수정하면 됩니다.

  1. Resource Manager 템플릿을 엽니다.

  2. 기본 템플릿 파일에 Microsoft.Resources/deployments 유형의 새 리소스를 추가합니다. 리소스는 mainTemplate.json 또는 azuredeploy.json 파일에만 있어야 하며, 중첩되거나 연결된 템플릿에 있으면 안됩니다.

  3. 접두사 뒤의 pid- GUID 값을 리소스 이름으로 입력합니다. 예를 들어 GUID가 eb7927c8-dd66-43e1-b0cf-c346a422063인 경우 리소스 이름은 pid-eb7927c8-dd66-43e1-b0cf-c346a422063입니다. 예시:

{ // add this resource to the resources section in the mainTemplate.json
    "apiVersion": "2020-06-01",
    "name": "pid-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", // use your generated GUID here
    "type": "Microsoft.Resources/deployments",
    "properties": {
        "mode": "Incremental",
        "template": {
            "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
            "contentVersion": "1.0.0.0",
            "resources": []
        }
    }
} // remove all comments from the file when complete
  1. 템플릿에서 오류를 확인합니다.

  2. 적절한 리포지토리에 템플릿을 다시 게시합니다.

  3. 템플릿 배포에서 GUID 성공을 확인합니다.

Resource Manager 템플릿 만들기 및 게시에 대한 자세한 내용은 첫 번째 Resource Manager 템플릿 만들기 및 배포를 참조하세요.

GUID로 추적되는 배포 확인

템플릿을 수정하고 테스트 배포를 실행한 후 다음 PowerShell 스크립트를 사용하여 배포 및 태그가 지정된 리소스를 검색합니다.

이 스크립트를 사용하여 GUID가 Resource Manager 템플릿에 성공적으로 추가되었는지 확인할 수 있습니다. 이 스크립트는 Resource Manager API 또는 Terraform 배포에는 적용되지 않습니다.

Azure에 로그인합니다. 스크립트를 실행하기 전에 확인하려는 배포가 있는 구독을 선택합니다. 배포의 구독 컨텍스트 내에서 스크립트를 실행합니다.

GUID(아래 "deploymentName"이라고 함) 및 배포의 resourceGroupName 이름은 필수 매개 변수입니다.

GitHub에서 원래 Verify-DeploymentGuid 스크립트 를 가져올 수 있습니다.

Param(
    [string][Parameter(Mandatory=$true)]$deploymentName, # the full name of the deployment, e.g. pid-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    [string][Parameter(Mandatory=$true)]$resourceGroupName
)

# Get the correlationId of the named deployment
$correlationId = (Get-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -Name "$deploymentName").correlationId

# Find all deployments with that correlationId
$deployments = Get-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName | Where-Object{$_.correlationId -eq $correlationId}

# Find all deploymentOperations in all deployments with that correlationId as PowerShell doesn't surface outputResources on the deployment or correlationId on the deploymentOperation

foreach ($deployment in $deployments){
    # Get deploymentOperations by deploymentName
    # then the resourceIds for each resource
    ($deployment | Get-AzResourceGroupDeploymentOperation | Where-Object{$_.targetResource -notlike "*Microsoft.Resources/deployments*"}).TargetResource
}

고객에게 알림

파트너는 고객에게 고객 사용량 특성을 사용하는 배포에 대해 알려야 합니다. 다음 예제에는 이러한 배포에 대해 고객에게 알리는 데 사용할 수 있는 콘텐츠가 포함되어 있습니다. 이 예제에서는 <PARTNER>를 회사 이름으로 바꿉니다. 파트너는 고객이 추적에서 제외될 수 있는 옵션을 포함하여 알림이 데이터 개인 정보 보호 및 수집 정책과 일치하는지 확인해야 합니다.

Resource Manager 템플릿 배포 알림

이 템플릿을 배포하면 Microsoft에서 배포된 Azure 리소스를 사용하여 <PARTNER> 소프트웨어의 설치를 식별할 수 있습니다. Microsoft는 소프트웨어를 지원하는 데 사용되는 이러한 리소스의 상관 관계를 지정할 수 있습니다. Microsoft는 제품에 대한 최상의 환경을 제공하고 비즈니스를 운영하기 위해 이 정보를 수집합니다. 데이터는 Microsoft의 개인 정보 취급 방침 https://www.microsoft.com/trustcenter에 따라 수집되고 제어됩니다.

SDK 또는 API 배포 알림

이 <PARTNER> 소프트웨어를 배포하면 Microsoft에서 배포된 Azure 리소스를 사용하여 <PARTNER> 소프트웨어의 설치를 식별할 수 있습니다. Microsoft는 소프트웨어를 지원하는 데 사용되는 이러한 리소스의 상관 관계를 지정할 수 있습니다. Microsoft는 제품에 대한 최상의 환경을 제공하고 비즈니스를 운영하기 위해 이 정보를 수집합니다. 데이터는 Microsoft의 개인 정보 취급 방침 https://www.microsoft.com/trustcenter에 따라 수집되고 제어됩니다.

Resource Manager API 사용

경우에 따라 Resource Manager REST API에 대해 직접 호출하여 Azure 서비스를 배포할 수 있습니다. 여러 SDK를 Azure 지원 이러한 호출을 사용하도록 설정합니다. SDK 중 하나를 사용하거나 REST API를 직접 호출하여 리소스를 배포할 수 있습니다.

고객 사용량 특성을 사용하도록 설정하려면 API 호출을 디자인할 때 추적 ID를 요청의 사용자 에이전트 헤더에 포함합니다. 접두사를 사용하여 문자열의 서식을 지정 pid- 합니다. 예:

//Commercial Marketplace Azure app
pid-contoso-myoffer-partnercenter //copy the tracking ID exactly as it appears in Partner Center

//Other use cases
pid-b6addd8f-5ff4-4fc0-a2b5-0ec7861106c4 //enter your GUID after "pid-"

Important

상업용 Marketplace에서 Azure 앱과 함께 Resource Manager API를 사용하는 경우 파트너 센터에 제공된 추적 ID를 사용합니다. GUID를 사용하지 마세요.

다양한 SDK가 Resource Manager API와 다르게 상호 작용하며 코드에 몇 가지 차이점이 필요합니다. 아래 예제에서는 GUID를 사용하는 상업용 Marketplace 접근 방식을 소개하고 인기 있는 다양한 Azure SDK를 다룹니다.

예: Python SDK

Python의 경우 구성 특성을 사용합니다. UserAgent에만 특성을 추가할 수 있습니다. 예시:

client = azure.mgmt.servicebus.ServiceBusManagementClient(**parameters)
client.config.add_user_agent("pid-b6addd8f-5ff4-4fc0-a2b5-0ec7861106c4")

Important

각 클라이언트에 대한 특성을 추가합니다. 전역 정적 구성은 없습니다. 모든 클라이언트가 추적 중인지 확인하기 위해 클라이언트 팩터리에 태그를 지정할 수 있습니다. 자세한 내용은 GitHub에서 이 클라이언트 팩터리 샘플을 참조하세요.

예: .NET SDK

.NET의 경우 사용자 에이전트를 설정해야 합니다. Microsoft.Azure.Management.Fluent 라이브러리를 사용하여 다음 코드(예: C#)를 사용하여 사용자 에이전트를 설정합니다.

var azure = Microsoft.Azure.Management.Fluent.Azure
    .Configure()
    // Add your pid in the user agent header
    .WithUserAgent("pid-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", String.Empty) 
    .Authenticate(/* Credentials created via Microsoft.Azure.Management.ResourceManager.Fluent.SdkContext.AzureCredentialsFactory */)
    .WithSubscription("<subscription ID>");

Important

2023년 6월 현재 최신 파트너 센터 .NET SDK 릴리스 3.4.0이 보관됩니다. 유용한 정보가 포함된 추가 정보 파일함께 GitHub에서 SDK 릴리스를 다운로드할 수 있습니다.

파트너는 파트너 센터 REST API계속 사용하는 것이 좋습니다.

예: Azure PowerShell

Azure PowerShell을 통해 리소스를 배포하는 경우 다음 방법을 사용하여 GUID를 추가합니다.

[Microsoft.Azure.Common.Authentication.AzureSession]::ClientFactory.AddUserAgent("pid-eb7927c8-dd66-43e1-b0cf-c346a422063")

참고 항목

Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

예: Azure CLI

Azure CLI를 사용하여 GUID를 추가하는 경우 AZURE_HTTP_USER_AGENT 스크립트 범위 내에 환경 변수를 설정합니다. 셸 범위에 대해 전역적으로 변수를 설정할 수도 있습니다.

export AZURE_HTTP_USER_AGENT='pid-eb7927c8-dd66-43e1-b0cf-c346a422063'

자세한 내용은 Go용 Azure SDK를 참조 하세요.

Terraform 사용

Terraform에 대한 지원은 Azure 공급자의 1.21.0 릴리스를 https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/CHANGELOG.md#1210-january-11-2019통해 사용할 수 있습니다. 이는 Terraform을 통해 솔루션을 배포하는 모든 파트너 및 Azure 공급자(버전 1.21.0 이상)에서 배포 및 계량된 모든 리소스에 적용됩니다.

Terraform용 Azure 공급자는 솔루션에 사용되는 추적 GUID를 지정하기 위해 partner_id이라는 새로운 선택적 필드를 추가했습니다. 이 필드의 값은 ARM_PARTNER_ID 환경 변수에서도 사용할 수 있습니다.

provider "azurerm" {
          subscription_id = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
          client_id = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
          ……
          # new stuff for ISV attribution
          partner_id = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

Important

상업용 Marketplace에서 Azure 앱과 함께 Terraform을 사용하는 경우 파트너 센터에 제공된 전체 추적 ID를 사용합니다. GUID를 사용하지 마세요.

지원 받기

파트너 센터의 상업용 Marketplace 프로그램 지원에서 상업용 Marketplace의 지원 옵션에 대해 알아봅니다.

기술 상담 요청을 제출하는 방법

  1. 파트너 기술 서비스를 방문 하세요.
  2. 클라우드 인프라 및 관리를 선택하면 기술 경험을 볼 수 있습니다.
  3. 배포 서비스>요청 제출을 선택합니다.
  4. MSA(Microsoft AI Cloud 파트너 프로그램 계정) 또는 Microsoft Entra ID(파트너 대시보드 계정)를 사용하여 로그인합니다.
  5. 열리는 양식의 연락처 정보를 완료/검토합니다. 상담 세부 정보가 미리 채워져 있거나 드롭다운 옵션이 있을 수 있습니다.
  6. 제목과 문제에 대한 자세한 설명을 입력합니다.
  7. 제출을 선택합니다.

Technical Presales 및 Deployment Services 사용 스크린 샷을 사용하여 단계별 지침을 확인합니다.

Microsoft 파트너 기술 컨설턴트에게 연락하여 요구 사항을 범위로 설정하는 전화를 설정합니다.

FAQ

추적 ID를 추가한 후 변경할 수 있나요?

상업용 마켓플레이스의 Azure 앱에 대한 추적 ID는 파트너 센터를 통해 자동으로 관리됩니다. 그러나 고객은 템플릿을 다운로드하고 추적 ID를 변경하거나 제거할 수 있습니다. 파트너는 제거 또는 편집을 방지하기 위해 추적 ID의 역할을 고객에게 사전에 설명해야 합니다. 추적 ID를 변경하면 기존 배포가 아닌 새 배포 및 리소스에만 영향을 줍니다.

GitHub와 같은 비 Microsoft 리포지토리에서 배포된 템플릿을 추적할 수 있나요?

예, 템플릿이 배포될 때 추적 ID가 있는 한 사용량은 추적됩니다. microsoft가 아닌 리포지토리에서 배포된 게시자와 템플릿 간의 연결을 기본 먼저 Azure Portal의 상업용 Marketplace 목록에서 게시된 템플릿(추적 ID 포함)의 복사본을 다운로드합니다. 해당 버전을 GitHub 또는 다른 타사 리포지토리에 게시합니다.

템플릿이 상업용 Marketplace에 나열되지 않고 등록된 GUID를 포함하는 경우 GItHub 또는 다른 타사 리포지토리에 게시하는 버전에 GUID가 있는지 확인합니다.

Microsoft는 고객과 고객 사용량 특성 데이터를 공유하나요?

아니요. Microsoft는 고객 사용량 특성을 통해 추적된 Azure 소비 데이터를 파트너와 외부적으로 공유하지 않습니다.

고객은 고객 사용량 특성 보고를 받나요?

아니요. 고객은 Azure Portal 내의 모든 리소스 또는 리소스 그룹의 사용량을 추적할 수 있습니다. 고객 사용량 특성 추적 ID로 구분된 사용량은 고객에게 표시되지 않습니다.

고객 사용량 특성은 Azure 사용량을 파트너의 반복 가능하고 배포 가능한 IP와 연결하여 배포 시 연결을 형성하는 메커니즘입니다. DPOR 및 PAL은 고객이 참여하는 시간 동안 컨설팅(시스템 통합자) 또는 관리(관리되는 서비스 공급자) 파트너를 고객의 관련 Azure 공간과 연결하는 데 사용됩니다.