Bicep を使ってマシン構成割り当てを作成する方法

Azure Bicep を使用して、マシン構成割り当てをデプロイできます。 この記事では、カスタム構成と組み込み構成の両方をデプロイする例を示します。

以下の各セクションの例には、名前が Microsoft.Compute/virtualMachines で始まる type プロパティが含まれています。 ゲスト構成リソース プロバイダー Microsoft.GuestConfiguration は、親の種類を参照する必要のある拡張リソースです。

例を Arc 対応サーバーなど、他のリソースの種類に変更するには、親の種類をリソース プロバイダーの名前に変更します。 Arc 対応サーバーの場合、リソース プロバイダーは Microsoft.HybridCompute/machines です。

次の "<>" フィールドを、お使いの環境に固有の値に置き換えます。

  • <vm_name>: 構成を適用するマシン リソースの名前を指定します。
  • <configuration_name>: 適用する構成の名前を指定します。
  • <vm_location>: マシン構成の割り当てを作成する Azure リージョンを指定します。
  • <Url_to_Package.zip>: カスタム コンテンツ パッケージの .zip ファイルへの HTTPS リンクを指定します。
  • <SHA256_hash_of_package.zip>: カスタム コンテンツ パッケージの .zip ファイルへの SHA256 ハッシュを指定します。

カスタム構成を割り当てる

カスタム構成を割り当てる例を次に示します。

resource myVM 'Microsoft.Compute/virtualMachines@2021-03-01' existing = {
  name: '<vm_name>'
}

resource myConfiguration 'Microsoft.GuestConfiguration/guestConfigurationAssignments@2020-06-25' = {
  name: '<configuration_name>'
  scope: myVM
  location: resourceGroup().location
  properties: {
    guestConfiguration: {
      name: '<configuration_name>'
      contentUri: '<Url_to_Package.zip>'
      contentHash: '<SHA256_hash_of_package.zip>'
      version: '1.*'
      assignmentType: 'ApplyAndMonitor'
    }
  }
}

組み込み構成を割り当てる

AzureWindowBaseline 組み込み構成を割り当てる例を次に示します。

resource myWindowsVM 'Microsoft.Compute/virtualMachines@2021-03-01' existing = {
  name: '<vm_name>'
}

resource AzureWindowsBaseline 'Microsoft.GuestConfiguration/guestConfigurationAssignments@2020-06-25' = {
  name: 'AzureWindowsBaseline'
  scope: myWindowsVM
  location: resourceGroup().location
  properties: {
    guestConfiguration: {
      name: 'AzureWindowsBaseline'
      version: '1.*'
      assignmentType: 'ApplyAndMonitor'
      configurationParameter: [
        {
          name: 'Minimum Password Length;ExpectedValue'
          value: '16'
        }
        {
          name: 'Minimum Password Length;RemediateValue'
          value: '16'
        }
        {
          name: 'Maximum Password Age;ExpectedValue'
          value: '75'
        }
        {
          name: 'Maximum Password Age;RemediateValue'
          value: '75'
        }
      ]
    }
  }
}