Forum Discussion
SKU, quota and policy restrictions on Azure for Students and Free Subscriptions
Subject: Azure for Students VM Availability Appears Inconsistent Across Students
Hello everyone!
We're seeing an issue across multiple cohorts using Azure for Students subscriptions, and I'm hoping someone can clarify whether there are additional restrictions being applied behind the scenes.
We understand and accept the recent changes regarding:
- Allowed deployment regions for Azure for Students subscriptions
- The 4 vCPU quota limitations
- Regional capacity constraints
We've updated our teaching materials accordingly and have troubleshooting guidance for students.
However, we're observing behaviour that appears inconsistent between students with what seem to be identical subscription types.
Examples:
- Student A can deploy several B-series VM sizes in an approved region.
- Student B can deploy only one VM size in the same approved region.
- Student C sees "Size not available" for every VM size in multiple approved regions.
- Student D eventually succeeds only after trying several approved regions, despite having available credit and no existing VMs.
In one recent case, a student had:
- A Free subscription
- $200 credit available
- No deployed VMs
- No Allowed Regions policy visible (which made troubleshooting particularly confusing)
Most regions the student tested showed one or more of the following:
- No available VM sizes
- Family quota limit messages
- Unsupported availability zone messages
Eventually, Denmark East allowed deployment of a Standard_B2als_v2 VM, while several other regions did not.
I have collected examples from multiple students and am seeing several different failure modes:
- Total Regional Core quota exceeded (expected and understandable)
- Allowed Locations policy restrictions
- VM size unavailable in approved regions
- Policy assignments showing "Not Registered" because Microsoft.PolicyInsights is not registered
The challenge is that students with apparently identical Azure for Students subscriptions are not encountering the same restrictions.
Has Microsoft introduced additional backend controls, SKU filtering, capacity restrictions, or subscription-specific policies that are not surfaced clearly through the Azure portal?
From an educational perspective, the lack of consistency is making it difficult to provide reliable lab instructions because one student's successful deployment path may not work for another student with the same subscription type.
My questions are:
- Are there additional backend restrictions beyond the visible Allowed Locations policy and published vCPU quotas?
- Is VM size availability being dynamically restricted per student subscription?
- Are regional capacity controls being applied differently across Azure for Students subscriptions?
- Is there a recommended method for identifying which regions and VM families are actually deployable for a specific student before beginning a lab exercise?
Any clarification would be greatly appreciated, as we're trying to reduce classroom troubleshooting time and provide students with more reliable deployment guidance.
Thank you.
3 Replies
- Carlos_Chaves
Microsoft
Microsoft’s response confirms that your troubleshooting process is correct: Azure for Students subscriptions evaluate policies, quotas, SKU restrictions, availability zones, and live regional capacity separately, so a student can have allowed regions, available credit, and visible quota yet still be unable to deploy a VM. It is possible for all allowed regions to effectively fail at the same time due to SKU or capacity restrictions, and the “policy not started” or “Not Registered” behavior likely indicates a backend policy initialization or propagation issue rather than a normal quota problem. There also appears to be little educator-facing documentation warning that allowed regions do not guarantee deployable VM availability, meaning your educators independently worked out the practical deployment workflow very accurately, sorry for not being as supportive as I want, but that's what I found internally.
Let me know if you need anything else
- Carlos_Chaves
Microsoft
Hi CvWyk, going direct to your questions
Additional backend restrictions beyond visible policies? Yes, behavior strongly indicates additional subscription/SKU restrictions beyond visible policies. Dynamic VM restrictions per student? Evidence strongly suggests yes in practice, though Microsoft does not publicly document the exact mechanism. Regional capacity controls different across students? Yes — capacity and eligibility appear to vary per subscription and region. Best way to identify deployable SKUs? Use az vm list-skus and verify against each student’s allowed regions before labs. and for your students, here's a list to make things easier
Azure for Students VM Troubleshooting Checklist
Quick Student Guide
Use this checklist when your Azure VM deployment fails.
Step 1 — Confirm You Are Using an Allowed Region
Your student subscription only works in certain Azure regions.
Check allowed regions:
- Open Azure Portal
- Search for Policy
- Go to:
- Authoring → Assignments
- Open:
- Allowed resource deployment regions
- Write down your allowed regions
Only deploy VMs in those regions.
Step 2 — Try Another Allowed Region
Even allowed regions may fail temporarily due to Azure capacity shortages.
If deployment fails:
- Try another allowed region
- Test several approved regions
Some students only succeed after changing regions multiple times.
Step 3 — Use Recommended VM Sizes
Some older VM sizes are restricted or retired.
Recommended VM sizes:
- Standard_B2ats_v2
- Standard_B2ts_v2
- Standard_B2als_v2
Avoid:
- B1s
- older B-series VM sizes
Step 4 — Do NOT Select Availability Zones
Availability Zones can block VM creation on student subscriptions.
Best practice:
- Leave zone selection on default
- Use:
- “No infrastructure redundancy required”
This avoids:
- “Unsupported availability zone”
- “SKU unavailable in selected zone”
Step 5 — Check VM Quotas
You may hit VM quota limits even with free credit available.
Check quotas:
- Go to:
- Subscriptions → Usage + quotas
- Look for:
- Total Regional vCPU quota
- VM family quotas
Common error:
- “Total Regional Core quota exceeded”
Step 6 — If No VM Sizes Appear
Possible causes:
- region capacity exhausted
- restricted subscription
- unsupported VM family
- temporary Azure capacity issue
Try:
Another allowed region
Another Bsv2 VM size
Removing Availability Zones
Trying again laterStep 7 — Use CLI to Check Available VM Sizes (Advanced)
The Azure Portal sometimes shows incomplete information.
Azure CLI command:
Shell
az vm list-skus \
--location <region> \
--resource-type virtualMachines \
--output table
Show more lines
Example:
Shell
az vm list-skus \
--location denmarkeast \
--size Standard_B \
--all
``
Show more lines
This shows which VM sizes are actually available for your subscription
Step 8 — Still Not Working?
Document the following before asking for help:
Subscription type
Region used
VM size attempted
Exact error message
Screenshot of:- Allowed regions
- Usage + quotas page
This makes troubleshooting much faster.
Recommended “Safe” Student Deployment Setup
Setting
Recommended Value
Region
One of your allowed regions
VM Size
B2ats_v2 / B2ts_v2
Availability Zone
None
OS
Ubuntu Gen2
vCPU usage
Keep under 4 cores
Important Reality Check
Azure for Students subscriptions can behave differently between students because:
- allowed regions differ
- VM capacity changes dynamically
- some VM sizes are restricted
- region availability is not always consistent
A deployment that works for one student may fail for another student with the same subscription type.
- CvWykCopper Contributor
I appreciate your quick response Carlos Chavez 🤩
Thank you for confirming that our troubleshooting sheet matching your steps is correct. Our teachers discovered these independently and we figured it all out ourselves. I am unsure if any documentation exists to warn educators.We understand your steps. However, sometimes its a block on all 5 allowed regions. So it was a question of, can the policies clash so badly that a student cannot find a size or an available region?
The one student even had an error basically saying that the policy has 'not started', so it seems it was stuck?