Migrating Microsoft workloads to AWS can be a game-changer for your organization, but navigating Microsoft’s licensing requirements in the cloud can feel like walking through a minefield. After helping dozens of organizations through this process, I’ve learned that understanding licensing is often more critical than the technical migration itself.
In this comprehensive guide, I’ll break down everything you need to know about Microsoft Server and SQL Server licensing when migrating to AWS, complete with real-world examples and cost calculations.
The Microsoft Licensing Landscape in AWS
Understanding the Fundamentals
Microsoft offers several licensing models for running their software on AWS:
- License Included (LI) - AWS provides the license
- Bring Your Own License (BYOL) - Use existing licenses
- Dedicated Hosts - For specific compliance requirements
- Hybrid Benefit - Use on-premises licenses in the cloud
Let’s dive deep into each model with practical examples.
Windows Server Licensing on AWS
License Included (LI) Model
How it works: AWS includes Windows Server licensing in the hourly instance cost.
Real-world example: A financial services company migrating 50 web servers:
# Example: m5.large instances with Windows Server 2019
Instance Type: m5.large
Windows Server 2019 (License Included): $0.192/hour
Linux equivalent: $0.096/hour
License premium: $0.096/hour ($70.08/month per instance)
Total monthly cost for 50 instances:
50 × $0.192 × 24 × 30 = $6,912
License portion: 50 × $70.08 = $3,504 (50.7% of total cost)
When to use LI:
- Short-term projects (< 2 years)
- Variable workloads with auto-scaling
- No existing Windows Server licenses
- Want simplicity without license management
Bring Your Own License (BYOL) Model
How it works: Use your existing Windows Server licenses on AWS EC2.
Real-world example: Manufacturing company with existing Volume Licensing Agreement:
# Scenario: Company has 100 Windows Server Datacenter licenses
# Each Datacenter license covers unlimited VMs on up to 2 physical processors
Current on-premises: 20 physical servers (40 processors total)
AWS migration: 80 EC2 instances across various sizes
License calculation:
- Existing licenses: 100 Datacenter licenses
- Required for AWS: 40 licenses (80 instances ÷ 2 VMs per license)
- Available for AWS: 60 licenses (100 - 40 still used on-premises)
Monthly savings with BYOL:
80 instances × $70.08 license cost = $5,606.40 saved per month
Annual savings: $67,276.80
BYOL Requirements:
- Active Software Assurance (SA) or subscription licenses
- License mobility rights
- Proper license tracking and compliance
Dedicated Hosts for Windows Server
How it works: Rent entire physical servers to maintain license compliance.
Real-world example: Healthcare organization with strict compliance requirements:
# Scenario: Running legacy applications requiring specific licensing
Dedicated Host: m5.24xlarge
Cost: $4.608/hour ($3,358.08/month)
Capacity: Up to 48 vCPUs, 192 GB RAM
Can run multiple Windows VMs:
- 4x m5.6xlarge equivalent instances
- 8x m5.3xlarge equivalent instances
- 16x m5.xlarge equivalent instances
Cost comparison for 8 m5.3xlarge instances:
License Included: 8 × $0.384 × 24 × 30 = $2,211.84
Dedicated Host: $3,358.08
Additional cost: $1,146.24 (but provides compliance certainty)
When to use Dedicated Hosts:
- Regulatory compliance requirements
- Legacy applications with specific licensing terms
- Need for consistent physical placement
- Socket-based licensing requirements
SQL Server Licensing on AWS
SQL Server licensing is more complex due to various editions and core-based licensing models.
SQL Server License Included Options
AWS offers several SQL Server editions with licensing included:
# SQL Server 2019 pricing examples (us-east-1, as of 2025)
SQL Server Express (Free):
- db.t3.micro: $0.017/hour
- Limitations: 1GB RAM, 10GB database size
SQL Server Web Edition:
- db.t3.small: $0.044/hour
- db.m5.large: $0.300/hour
- Use case: Web applications, not internal business apps
SQL Server Standard Edition:
- db.t3.small: $0.132/hour
- db.m5.large: $0.388/hour
- db.r5.xlarge: $0.970/hour
SQL Server Enterprise Edition:
- db.m5.large: $1.088/hour
- db.r5.xlarge: $2.720/hour
- db.r5.4xlarge: $10.880/hour
Real-World Migration Example: E-commerce Platform
Scenario: Online retailer migrating from on-premises SQL Server to AWS RDS
Current Environment:
- 2x Physical servers with SQL Server 2019 Enterprise
- 32 cores total (16 cores per server)
- High availability with Always On Availability Groups
Migration Options Analysis:
Option 1: RDS SQL Server Enterprise (License Included)
Primary: db.r5.2xlarge (8 vCPUs, 64GB RAM)
Cost: $5.440/hour × 24 × 30 = $3,916.80/month
Multi-AZ for HA: Additional 100% cost
Total monthly cost: $7,833.60
Annual cost: $94,003.20
Option 2: BYOL with RDS
# Assuming existing Enterprise licenses with Software Assurance
Primary: db.r5.2xlarge (BYOL pricing)
Cost: $1.360/hour × 24 × 30 = $979.20/month
Multi-AZ: Additional 100% cost
Total monthly cost: $1,958.40
Annual cost: $23,500.80
Annual savings vs LI: $70,502.40 (75% reduction)
Option 3: EC2 with SQL Server BYOL
# Custom configuration with more control
Primary: m5.2xlarge with SQL Server Enterprise BYOL
EC2 cost: $0.384/hour × 24 × 30 = $276.48/month
EBS storage (1TB gp3): $80/month
Total per instance: $356.48/month
Secondary (for HA): Same configuration
Total monthly cost: $712.96
Annual cost: $8,555.52
Additional savings vs RDS BYOL: $14,945.28
SQL Server Core Licensing Calculations
Understanding core licensing is crucial for BYOL scenarios:
# SQL Server 2019 Enterprise Core Licensing
Minimum license requirement: 4 cores per processor
AWS vCPU to core mapping: 1 vCPU = 1 core (for licensing)
Example: db.r5.4xlarge (16 vCPUs)
Required licenses: 16 cores
Cost per core (Enterprise): ~$14,256 (list price)
Total license cost: 16 × $14,256 = $228,096
With Software Assurance (typical 25% annually):
Annual SA cost: $57,024
Monthly equivalent: $4,752
RDS Enterprise LI cost for same instance:
$10.880/hour × 24 × 30 = $7,833.60/month
BYOL advantage: $7,833.60 - $4,752 = $3,081.60/month savings
Hybrid Benefit and License Mobility
Azure Hybrid Benefit for AWS
While primarily an Azure feature, understanding Hybrid Benefit helps with overall licensing strategy:
Real-world example: Global corporation with hybrid cloud strategy:
# Scenario: 200 Windows Server Datacenter licenses with SA
Option 1: Use all licenses on-premises
Capacity: 200 licenses × 2 VMs = 400 VMs maximum
Option 2: Hybrid approach
On-premises: 100 licenses (200 VMs)
AWS BYOL: 100 licenses (200 VMs)
Total capacity: 400 VMs across both environments
Option 3: Azure Hybrid Benefit + AWS BYOL
Azure: 100 licenses with Hybrid Benefit (free Windows licensing)
AWS: 100 licenses with BYOL
Cost optimization: Save Windows licensing costs on Azure
License Mobility Rights
Requirements for SQL Server License Mobility:
- Software Assurance or subscription licenses
- Eligible shared server scenarios
- 90-day mobility period between environments
Real-world example: Disaster recovery setup:
# Primary: On-premises SQL Server
# DR: AWS RDS SQL Server with BYOL
Normal operation:
- On-premises: Active (using licenses)
- AWS: Standby (no license consumption)
During disaster:
- On-premises: Inactive
- AWS: Active (licenses moved within 90-day window)
- Cost: Only AWS infrastructure, no additional licensing
Cost Optimization Strategies
1. Right-Sizing Before Migration
Example: Over-provisioned on-premises servers:
# Current on-premises setup
Physical server: 32 cores, 128GB RAM
Utilization: 15% CPU, 40% RAM
SQL Server Enterprise licenses: 32 cores
# Optimized AWS setup
RDS instance: db.r5.xlarge (4 vCPUs, 32GB RAM)
Required licenses: 4 cores (87.5% reduction)
Performance: Equivalent due to better resource utilization
2. Reserved Instances for Predictable Workloads
# SQL Server Standard on RDS (License Included)
On-demand: db.m5.large at $0.388/hour
1-year Reserved: $0.251/hour (35% savings)
3-year Reserved: $0.167/hour (57% savings)
Annual savings (3-year RI):
($0.388 - $0.167) × 24 × 365 = $1,936.04 per instance
3. Spot Instances for Development/Testing
# Development environment with SQL Server Web Edition
On-demand: db.m5.large at $0.300/hour
Spot price (average): $0.090/hour (70% savings)
Monthly dev environment cost:
On-demand: $0.300 × 24 × 30 = $216
Spot: $0.090 × 24 × 30 = $64.80
Savings: $151.20/month per instance
Migration Planning and Best Practices
Phase 1: License Inventory and Assessment
Checklist:
- Document all Windows Server and SQL Server licenses
- Verify Software Assurance status
- Identify license types (OEM, Volume Licensing, etc.)
- Calculate current utilization rates
- Assess future growth requirements
Real-world example: Insurance company assessment:
# License inventory results
Windows Server Datacenter: 50 licenses (with SA)
Windows Server Standard: 100 licenses (without SA)
SQL Server Enterprise: 20 licenses (with SA)
SQL Server Standard: 40 licenses (mixed SA status)
# Migration strategy
BYOL eligible: Datacenter + Enterprise with SA
License Included: Standard editions without SA
Estimated annual savings: $180,000
Phase 2: Pilot Migration
Recommended approach:
- Start with non-critical development workloads
- Test both LI and BYOL models
- Validate performance and licensing compliance
- Document lessons learned
Phase 3: Production Migration
Migration waves:
- Wave 1: Simple web servers and file servers
- Wave 2: Application servers with moderate complexity
- Wave 3: Database servers and mission-critical applications
Compliance and Auditing Considerations
License Tracking Requirements
AWS Tools for Compliance:
- AWS License Manager for BYOL tracking
- AWS Config for resource compliance
- CloudTrail for audit logging
Example compliance setup:
# AWS License Manager configuration
LicenseConfiguration:
Name: "SQLServerEnterpriseBYOL"
LicenseCountingType: "Core"
LicenseCount: 64
LicenseRules:
- "Minimum cores per instance: 4"
- "Maximum cores per instance: 128"
Tags:
- Key: "Environment"
Value: "Production"
- Key: "LicenseType"
Value: "BYOL"
Microsoft Audit Preparation
Documentation requirements:
- License purchase records
- Software Assurance agreements
- AWS resource inventory
- Usage tracking reports
- Migration timeline documentation
Common Pitfalls and How to Avoid Them
1. Underestimating License Requirements
Mistake: Assuming 1:1 mapping between physical and virtual cores.
Solution: Understand Microsoft’s virtualization rights and core minimums.
# Incorrect assumption
Physical server: 16 cores
AWS instance: 16 vCPUs
Required licenses: 16 cores ❌
# Correct calculation
Physical server: 16 cores with unlimited virtualization rights
AWS instances: Multiple smaller instances within license rights
Required licenses: Based on actual usage, not 1:1 mapping ✅
2. Ignoring Software Assurance Expiration
Mistake: Planning BYOL migration without checking SA expiration dates.
Solution: Align migration timeline with SA renewal cycles.
3. Overlooking Regional Licensing Differences
Mistake: Assuming global license agreements apply everywhere.
Solution: Verify licensing terms for each AWS region.
Cost Calculator Examples
Small Business Migration (10 servers)
# Current on-premises costs
Windows Server Standard licenses: 10 × $1,323 = $13,230
SQL Server Standard (5 instances): 5 × $3,717 = $18,585
Annual licensing: $31,815
# AWS License Included option
Windows instances: 10 × m5.large × $0.192 × 24 × 365 = $16,819
SQL instances: 5 × db.m5.large × $0.388 × 24 × 365 = $16,999
Annual AWS cost: $33,818
# Recommendation: License Included (minimal difference, no complexity)
Enterprise Migration (100+ servers)
# Current on-premises costs
Windows Server Datacenter: 50 × $6,155 = $307,750
SQL Server Enterprise: 20 × $14,256 × 16 cores = $4,561,920
Annual licensing: $4,869,670
# AWS BYOL option (with existing SA)
Windows instances: 100 × various sizes = ~$50,000/year
SQL instances: 20 × various sizes = ~$200,000/year
SA costs: $4,869,670 × 25% = $1,217,418
Annual total: $1,467,418
# Annual savings: $3,402,252 (70% reduction)
Future-Proofing Your Licensing Strategy
Subscription-Based Licensing
Microsoft is moving toward subscription models:
- Windows Server subscription
- SQL Server subscription
- Microsoft 365 integration
Benefits:
- Predictable monthly costs
- Automatic updates and support
- Better alignment with cloud consumption
Modernization Opportunities
Consider these alternatives:
- Amazon RDS for PostgreSQL (open source)
- Amazon Aurora (MySQL/PostgreSQL compatible)
- AWS Database Migration Service for schema conversion
- Containerization with Amazon ECS/EKS
Conclusion
Microsoft licensing in AWS doesn’t have to be a barrier to cloud adoption. With proper planning and understanding of the options available, you can:
- Reduce licensing costs by 30-70% through BYOL and optimization
- Simplify management with License Included options for smaller workloads
- Maintain compliance through proper tracking and documentation
- Future-proof your strategy with subscription models
Key Takeaways
- Inventory first: Know what licenses you have and their SA status
- Calculate carefully: Compare all options including infrastructure costs
- Start small: Pilot with non-critical workloads
- Plan for compliance: Set up proper tracking from day one
- Consider alternatives: Evaluate open-source and cloud-native options
Next Steps
- Conduct a licensing assessment of your current environment
- Use AWS Pricing Calculator to model different scenarios
- Engage with AWS and Microsoft licensing specialists
- Plan a pilot migration to validate your approach
- Develop a comprehensive migration roadmap
Remember, the goal isn’t just to move to the cloud – it’s to optimize your total cost of ownership while maintaining compliance and improving operational efficiency.
Have you navigated Microsoft licensing challenges in your AWS migration? Share your experiences and questions in the comments below. I’d love to hear about your specific scenarios and help with any licensing puzzles you’re facing!
#AWS #Microsoft #SQLServer #WindowsServer #CloudMigration #Licensing #BYOL #CostOptimization