Azure Compute Virtual Machine Scale Set Extension
This page shows how to write Terraform and Azure Resource Manager for Compute Virtual Machine Scale Set Extension and write them securely.
azurerm_virtual_machine_scale_set_extension (Terraform)
The Virtual Machine Scale Set Extension in Compute can be configured in Terraform with the resource name azurerm_virtual_machine_scale_set_extension
. The following sections describe 10 examples of how to use the resource and its parameters.
Example Usage from GitHub
resource "azurerm_virtual_machine_scale_set_extension" "oms_agent" {
auto_upgrade_minor_version = true
name = "OMSExtension"
publisher = "Microsoft.EnterpriseCloud.Monitoring"
type = "OmsAgentForLinux"
type_handler_version = "1.4"
resource "azurerm_virtual_machine_scale_set_extension" "ue4extension" {
name = var.extension_name
depends_on = []
virtual_machine_scale_set_id = var.virtual_machine_scale_set_id
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
resource "azurerm_virtual_machine_scale_set_extension" "oms_agent" {
auto_upgrade_minor_version = true
name = "OMSExtension"
publisher = "Microsoft.EnterpriseCloud.Monitoring"
type = "OmsAgentForLinux"
type_handler_version = "1.4"
resource "azurerm_virtual_machine_scale_set_extension" "dynatrace_extension" {
name = var.name
virtual_machine_scale_set_id = azurerm_linux_virtual_machine_scale_set.resource.id
publisher = "dynatrace.ruxit"
type = "oneAgentLinux"
type_handler_version = "1.0"
resource "azurerm_virtual_machine_scale_set_extension" "example" {
name = "examplevss"
virtual_machine_scale_set_id = azurerm_linux_virtual_machine_scale_set.example.id
publisher = "Microsoft.Azure.Extensions"
type = "CustomScript"
type_handler_version = "2.0"
resource "azurerm_virtual_machine_scale_set_extension" "dynatrace-oneagent" {
count = var.virtual_machine_type == "vmss" ? 1 : 0
name = "Dynatrace"
virtual_machine_scale_set_id = var.virtual_machine_scale_set_id
resource "azurerm_virtual_machine_scale_set_extension" "this" {
auto_upgrade_minor_version = var.auto_upgrade_minor_version
force_update_tag = var.force_update_tag
name = var.name
protected_settings = var.protected_settings
provision_after_extensions = var.provision_after_extensions
resource "azurerm_virtual_machine_scale_set_extension" "this" {
auto_upgrade_minor_version = var.auto_upgrade_minor_version
force_update_tag = var.force_update_tag
name = var.name
protected_settings = var.protected_settings
provision_after_extensions = var.provision_after_extensions
resource "azurerm_virtual_machine_scale_set_extension" "vmss_ext_da" {
virtual_machine_scale_set_id = azurerm_windows_virtual_machine_scale_set.vmss.id
auto_upgrade_minor_version = true
name = "DependencyAgentWindows"
publisher = "Microsoft.Azure.Monitoring.DependencyAgent"
type = "DependencyAgentWindows"
resource "azurerm_virtual_machine_scale_set_extension" "new_terraform_vmss_web_ext_1" {
name = "new_terraform_vmss_web_ext_1"
virtual_machine_scale_set_id = azurerm_windows_virtual_machine_scale_set.new_terraform_vmss_web.id
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
type_handler_version = "1.9"
Parameters
-
auto_upgrade_minor_version
optional - bool -
force_update_tag
optional - string -
id
optional computed - string -
name
required - string -
protected_settings
optional - string -
provision_after_extensions
optional - list of string -
publisher
required - string -
settings
optional - string -
type
required - string -
type_handler_version
required - string -
virtual_machine_scale_set_id
required - string -
timeouts
single block
Explanation in Terraform Registry
Manages an Extension for a Virtual Machine Scale Set.
NOTE: This resource is not intended to be used with the
azurerm_virtual_machine_scale_set
resource - instead it's intended for this to be used with theazurerm_linux_virtual_machine_scale_set
andazurerm_windows_virtual_machine_scale_set
resources.
Tips: Best Practices for The Other Azure Compute Resources
In addition to the azurerm_linux_virtual_machine, Azure Compute has the other resources that should be configured for security reasons. Please check some examples of those resources and precautions.
azurerm_linux_virtual_machine
Ensure to use SSH authentication for virtual machines
It is better to use SSH authentication for virtual machines instead of password authentication to enforce more secure ways.
azurerm_managed_disk
Ensure to enable the encryption on managed disks
It is better to enable the encryption on managed disks.
azurerm_virtual_machine
Ensure to use SSH authentication for virtual machines
It is better to use SSH authentication for virtual machines instead of password authentication to enforce more secure ways.
Microsoft.Compute/virtualMachineScaleSets/extensions (Azure Resource Manager)
The virtualMachineScaleSets/extensions in Microsoft.Compute can be configured in Azure Resource Manager with the resource name Microsoft.Compute/virtualMachineScaleSets/extensions
. The following sections describe how to use the resource and its parameters.
Example Usage from GitHub
An example could not be found in GitHub.
Frequently asked questions
What is Azure Compute Virtual Machine Scale Set Extension?
Azure Compute Virtual Machine Scale Set Extension is a resource for Compute of Microsoft Azure. Settings can be wrote in Terraform.
Where can I find the example code for the Azure Compute Virtual Machine Scale Set Extension?
For Terraform, the jamesrcounts/terraform-packer, jmarymee/Unreal-Pixel-Streaming-on-Azure and jamesrcounts/azure-devops-vmss-pool source code examples are useful. See the Terraform Example section for further details.