Linux용 확장을 배포하려면 다음을 수행합니다.
Set-AzVMExtension -Publisher 'Microsoft.GuestConfiguration' -ExtensionType 'ConfigurationForLinux' -Name 'AzurePolicyforLinux' -TypeHandlerVersion 1.0 -ResourceGroupName '<myResourceGroup>' -Location '<myLocation>' -VMName '<myVM>' -EnableAutomaticUpgrade $true
Windows용 확장을 배포하려면 다음을 수행합니다.
Set-AzVMExtension -Publisher 'Microsoft.GuestConfiguration' -ExtensionType 'ConfigurationforWindows' -Name 'AzurePolicyforWindows' -TypeHandlerVersion 1.0 -ResourceGroupName '<myResourceGroup>' -Location '<myLocation>' -VMName '<myVM>' -EnableAutomaticUpgrade $true
배포 템플릿
배포 템플릿은 ARM(Azure Resource Manager), Bicep 및 Terraform에도 사용할 수 있습니다. 배포 템플릿 세부 정보는 Microsoft.GuestConfiguration guestConfigurationAssignments를 참조하세요.
비고
다음 배포 예제에서 매개 변수 값을 구성에 대한 특정 값으로 바꿉 <placeholder> 니다.
 
배포 고려 사항
Machine Configuration 확장을 설치하고 배포하기 전에 다음 고려 사항을 검토합니다.
              인스턴스 이름입니다. 컴퓨터 구성 확장을 설치할 때 확장의 인스턴스 이름을 설정하거나 AzurePolicyforWindows.로 설정 AzurePolicyforLinux 해야 합니다. 앞에서 설명한 보안 기준 정의 정책에는 이러한 특정 문자열이 필요합니다.
 
              버전. 기본적으로 모든 배포는 최신 버전으로 업데이트됩니다. 달리 지정하지 않는 한 속성의 autoUpgradeMinorVersion 값은 기본값 true 으로 설정됩니다. 이 기능은 새 버전의 Machine Configuration 확장이 릴리스될 때 코드 업데이트에 대한 우려를 완화하는 데 도움이 됩니다.
 
              자동 업그레이드. Machine Configuration 확장은 이 속성을 지원합니다 enableAutomaticUpgrade . 이 속성을 설정 true하면 이후 릴리스를 사용할 수 있게 되면 Azure에서 자동으로 최신 버전의 확장으로 업그레이드됩니다. 자세한 내용은 Azure에서 VM 및 Virtual Machine Scale Sets에 대한 자동 확장 업그레이드를 참조하세요.
 
              Azure Policy ID 요구 사항을 포함하여 대규모로 최신 버전의 Machine Configuration 확장을 배포하려면 정책 할당 만들기의 단계에 따라 비준수 리소스를 식별합니다. Azure Policy를 사용하여 다음 할당을 만듭니다.
 
              기타 속성입니다. 컴퓨터 구성 확장에 설정 또는 보호된 설정 속성을 포함할 필요가 없습니다. 에이전트는 Azure REST API 게스트 구성 할당 리소스에서 이 클래스의 정보를 검색합니다. 예를 들어 ConfigurationUri, Mode및 ConfigurationSetting 속성은 각각 VM 확장이 아닌 구성별로 관리됩니다.
 
ARM template
Linux용 확장을 배포하려면 다음을 수행합니다.
{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "[concat(parameters('VMName'), '/AzurePolicyforLinux')]",
  "apiVersion": "2020-12-01",
  "___location": "[parameters('___location')]",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', parameters('VMName'))]"
  ],
  "properties": {
    "publisher": "Microsoft.GuestConfiguration",
    "type": "ConfigurationForLinux",
    "typeHandlerVersion": "1.0",
    "autoUpgradeMinorVersion": true,
    "enableAutomaticUpgrade": true, 
    "settings": {},
    "protectedSettings": {}
  }
}
Windows용 확장을 배포하려면 다음을 수행합니다.
{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "[concat(parameters('VMName'), '/AzurePolicyforWindows')]",
  "apiVersion": "2020-12-01",
  "___location": "[parameters('___location')]",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', parameters('VMName'))]"
  ],
  "properties": {
    "publisher": "Microsoft.GuestConfiguration",
    "type": "ConfigurationforWindows",
    "typeHandlerVersion": "1.0",
    "autoUpgradeMinorVersion": true,
    "enableAutomaticUpgrade": true, 
    "settings": {},
    "protectedSettings": {}
  }
}
Bicep 템플릿
Linux용 확장을 배포하려면 다음을 수행합니다.
resource virtualMachine 'Microsoft.Compute/virtualMachines@2021-03-01' existing = {
  name: 'VMName'
}
resource windowsVMGuestConfigExtension 'Microsoft.Compute/virtualMachines/extensions@2020-12-01' = {
  parent: virtualMachine
  name: 'AzurePolicyforLinux'
  ___location: resourceGroup().___location
  properties: {
    publisher: 'Microsoft.GuestConfiguration'
    type: 'ConfigurationForLinux'
    typeHandlerVersion: '1.0'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
    settings: {}
    protectedSettings: {}
  }
}
Windows용 확장을 배포하려면 다음을 수행합니다.
resource virtualMachine 'Microsoft.Compute/virtualMachines@2021-03-01' existing = {
  name: 'VMName'
}
resource windowsVMGuestConfigExtension 'Microsoft.Compute/virtualMachines/extensions@2020-12-01' = {
  parent: virtualMachine
  name: 'AzurePolicyforWindows'
  ___location: resourceGroup().___location
  properties: {
    publisher: 'Microsoft.GuestConfiguration'
    type: 'ConfigurationforWindows'
    typeHandlerVersion: '1.0'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
    settings: {}
    protectedSettings: {}
  }
}
Linux용 확장을 배포하려면 다음을 수행합니다.
resource "azurerm_virtual_machine_extension" "gc" {
  name                       = "AzurePolicyforLinux"
  virtual_machine_id         = "<myVMID>"
  publisher                  = "Microsoft.GuestConfiguration"
  type                       = "ConfigurationForLinux"
  type_handler_version       = "1.0"
  auto_upgrade_minor_version = "true"
}
Windows용 확장을 배포하려면 다음을 수행합니다.
resource "azurerm_virtual_machine_extension" "gc" {
  name                       = "AzurePolicyforWindows"
  virtual_machine_id         = "<myVMID>"
  publisher                  = "Microsoft.GuestConfiguration"
  type                       = "ConfigurationforWindows"
  type_handler_version       = "1.0"
  auto_upgrade_minor_version = "true"
}
오류 메시지
다음 표에서는 게스트 구성 확장 사용과 관련된 가능한 오류 메시지를 나열합니다.
| 오류 코드 | 
Description | 
| 
              NoComplianceReport | 
VM은 규정 준수 데이터를 보고하지 않았습니다. | 
| 
              GCExtensionMissing | 
컴퓨터 구성(게스트 구성) 확장이 없습니다. | 
| 
              ManagedIdentityMissing | 
관리 ID가 없습니다. | 
| 
              UserIdentityMissing | 
사용자 할당 ID가 없습니다. | 
| 
              GCExtensionManagedIdentityMissing | 
컴퓨터 구성(게스트 구성) 확장 및 관리 ID가 없습니다. | 
| 
              GCExtensionUserIdentityMissing | 
컴퓨터 구성(게스트 구성) 확장 및 사용자 할당 ID가 없습니다. | 
| 
              GCExtensionIdentityMissing | 
컴퓨터 구성(게스트 구성) 확장, 관리 ID 및 사용자 할당 ID가 없습니다. | 
다음 단계