An Azure service that is used to provision Windows and Linux virtual machines.
Why is the option missing?
No documented rule for when the portal shows or hides it. But it's offering you Availability Zone, which suggests your region does have zones now. Microsoft has been adding them over time, so a list you read may predate that. Worth confirming which region is selected.
For a single VM you pick either a zone or a set, so selecting a zone hides the set option.
If no zone is selected and it's still missing, check whether the region supports aligned sets:
az vm list-skus --resource-type availabilitySets \
--query "[?name=='Aligned'].{Location:locationInfo[0].location, MaximumFaultDomainCount:capabilities[0].value}" \
-o table
Not in the output, that's your answer. In the output, it's the VM config.
Which regions support Availability Sets?
There isn't a list. They aren't region-gated the way zones are. The command above gives you the fault domain count per region, which is the thing that actually varies.
Does VM size or image type affect it?
Managed disks are required:
Only VMs with managed disks can be created in a managed availability set.
Past that nothing about size or image is documented, which is why the SKU check beats guessing.
Also worth knowing
You can't add an existing VM to a set, it's create-time only. And the portal hiding the option doesn't block you, since ARM, CLI and PowerShell all still take the availability set parameter.
Help make this community better for everyone: if this answer resolved your issue, please accept it or leave an upvote. If not, share more details in a comment so we can continue the discussion and find the right solution