Azure Virtual Machines

azureVirtual machineazure-virtual-machine

Linux or Windows machines you boot from an image and patch yourself, on demand or on Spot capacity, optionally confidential.

Provider
azure
Category
Compute
Also known as
Spot VM, Azure Spot Virtual Machines, Confidential VM
Properties · 3 set by this component
propertytypevaluesrequiredkind defaultthis component
attestation · component propertyboolean—no—inherited
capacity · component propertyenumon-demand | spotnoon-demandinherited
confidentialComputingTechnology · component propertyenumamd-sev-snp | intel-tdxno—inherited
confidentialOsDiskEncryption · component propertyboolean—no—inherited
diskEncryptionboolean—no—▸ true
evictionNoticeSeconds · component propertyinteger—no—inherited
evictionPolicy · component propertyenumdeallocate | deleteno—inherited
instancesinteger—no—inherited
managedboolean—nofalse▸ false
managedDisks · component propertyboolean—notrueinherited
maxPriceUsd · component propertystring—no—inherited
memoryEncryption · component propertyboolean—no—inherited
memoryGibinteger—no—inherited
osenumlinux | windows | aix | ibm-inolinuxinherited
osDiskSizeGib · component propertyinteger—no127inherited
publicIpboolean—no—inherited
secureBoot · component propertyboolean—no—inherited
securityType · component propertyenumstandard | trusted-launch | confidentialnotrusted-launchinherited
sizeVcpuinteger—no—inherited
slaBacked · component propertyboolean—no—inherited
virtualTpm · component propertyboolean—no—inherited
zoneRedundantboolean—no—▸ false
Rules that apply · 1

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

stateful-node-without-zone-redundancy

A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.

  • — all of these hold:
  • — the node's `stateless` is false
  • — the node sits inside exactly 1 availability-zone group
  • — this does not hold:
  • — the node sits inside at least one cell group
Use it in a design
nodes:
  - { id: "virtual-machine", component: "azure-virtual-machine" }
Other Virtual machine products · 60
Auto Scalingalibaba-auto-scalingalibabacloudvirtual-machineElastic Compute Servicealibaba-ecsalibabacloudvirtual-machineEdge Node Servicealibaba-ensalibabacloudvirtual-machineSimple Application Serveralibaba-simple-application-serveralibabacloudvirtual-machineAmazon EC2aws-ec2awsvirtual-machineAmazon EC2 Auto Scalingaws-ec2-auto-scalingawsvirtual-machineAmazon EC2 Dedicated Hostsaws-ec2-dedicated-hostawsvirtual-machineAmazon Elastic VMware Serviceaws-evsawsvirtual-machineAmazon Lightsailaws-lightsailawsvirtual-machineAWS Nitro Enclavesaws-nitro-enclaveawsvirtual-machineAzure BareMetal Infrastructureazure-baremetal-infrastructureazurevirtual-machineAzure Compute Fleetazure-compute-fleetazurevirtual-machineAzure Dedicated Hostazure-dedicated-hostazurevirtual-machineAzure Data Science Virtual Machineazure-dsvmazurevirtual-machineNutanix Cloud Clusters on Azureazure-nutanix-cloud-clustersazurevirtual-machineAzure Virtual Machine Scale Setsazure-vm-scale-setazurevirtual-machineAzure VMware Solutionazure-vmware-solutionazurevirtual-machineCrusoe Cloud VMcrusoevirtual-machineFirecrackerfirecrackervirtual-machineMicrosoft Hyper-Vhyper-vvirtual-machineKubeVirtkubevirtvirtual-machineLambda Cloud instancelambda-labsvirtual-machineKVM with libvirtlibvirtvirtual-machineNebius AI Cloud VMnebiusvirtual-machineNutanix AHVnutanix-ahvvirtual-machineOpenStack Novaopenstack-novavirtual-machineoVirtovirtvirtual-machineProxmox VEproxmoxvirtual-machineRunpod Podrunpodvirtual-machineVast.ai instancevast-aivirtual-machineGeneric virtual machinevirtual-machinevirtual-machineVMware vSpherevspherevirtual-machineXCP-ngxcp-ngvirtual-machineXenServerxenservervirtual-machineDigitalOcean Bare Metal GPUsdigitalocean-bare-metal-gpudigitaloceanvirtual-machineDropletsdigitalocean-dropletdigitaloceanvirtual-machineDroplet Autoscale Pooldigitalocean-droplet-autoscaledigitaloceanvirtual-machineBare Metal Solutiongoogle-bare-metal-solutiongcpvirtual-machineCloud TPUgoogle-cloud-tpugcpvirtual-machineCompute Enginegoogle-compute-enginegcpvirtual-machine
and 20 more → Virtual machine page
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Azure Virtual Machines: a leased machine you boot from an image and keep patching yourself
# ("Overview of virtual machines in Azure"). Managed disks are encrypted at rest with
# platform-managed keys by default ("Server-side encryption of Azure managed disks").
#
# Spot and confidential VMs are this component, not separate ones: both are priced and created as
# Virtual Machines.
#
# capacity: "spot" is Azure Spot Virtual Machines, unused capacity that Azure reclaims with 30
# seconds' notice and no SLA ("About Azure Spot Virtual Machines",
# https://learn.microsoft.com/en-us/azure/virtual-machines/spot-vms). evictionPolicy, maxPriceUsd,
# evictionNoticeSeconds and slaBacked mean something only when capacity is "spot", so none is
# defaulted. Azure's own defaults for a Spot VM: eviction policy Deallocate, max price -1 (never
# evicted for price), 30 seconds' notice, no SLA.
#
# securityType: "confidential" is an Azure confidential VM: memory encrypted in use by the hardware,
# behind a hardware-enforced boundary between the guest and the virtualization stack ("About Azure
# confidential VMs",
# https://learn.microsoft.com/en-us/azure/confidential-computing/confidential-vm-overview). It boots
# only after successful attestation and carries a dedicated vTPM; confidential OS disk encryption
# is optional and cannot be changed after deployment, and Secure Boot is on only when that
# encryption is selected. confidentialComputingTechnology, memoryEncryption, attestation and
# confidentialOsDiskEncryption mean something only when securityType is "confidential"; virtualTpm
# and secureBoot also apply to "trusted-launch". None is defaulted.
schemaVersion: "1"
type: "component"
id: "azure-virtual-machine"
kind: "virtual-machine"
provider: "azure"
docs: "https://learn.microsoft.com/en-us/azure/virtual-machines/overview"
aliases: ["Spot VM", "Azure Spot Virtual Machines", "Confidential VM"]
defaults:
  managed: false
  diskEncryption: true
  zoneRedundant: false
properties:
  capacity:
    type: "enum"
    values: ["on-demand", "spot"]
    default: "on-demand"
  securityType:
    type: "enum"
    values: ["standard", "trusted-launch", "confidential"]
    default: "trusted-launch"
  osDiskSizeGib:
    type: "integer"
    default: 127
  managedDisks:
    type: "boolean"
    default: true
  evictionPolicy:
    type: "enum"
    values: ["deallocate", "delete"]
  maxPriceUsd:
    type: "string"
  evictionNoticeSeconds:
    type: "integer"
  slaBacked:
    type: "boolean"
  confidentialComputingTechnology:
    type: "enum"
    values: ["amd-sev-snp", "intel-tdx"]
  memoryEncryption:
    type: "boolean"
  attestation:
    type: "boolean"
  virtualTpm:
    type: "boolean"
  confidentialOsDiskEncryption:
    type: "boolean"
  secureBoot:
    type: "boolean"

The same page as markdown, for an agent: /catalogue/components/azure-virtual-machine.md