How Do Cloud Providers Support IPv6?
As IPv4 address exhaustion continues and the internet transitions toward IPv6, cloud providers have significantly expanded their IPv6 capabilities. In 2025, all major cloud platforms offer robust IPv6 support, though implementation details, regional availability, and feature maturity vary considerably. This comprehensive guide covers how leading cloud providers handle IPv6, from basic configuration to advanced dual-stack architectures.
Overview: IPv6 in the Cloud Era
Cloud providers have embraced IPv6 to address several key challenges:
- IPv4 Address Scarcity: With IPv4 addresses increasingly expensive and scarce, IPv6 provides virtually unlimited address space
- Regulatory Compliance: The U.S. Federal Government mandated September 30, 2025 as the deadline requiring 80% of IP-enabled internet assets to run IPv6
- Cost Optimization: Some providers offer IPv6-only instances at reduced pricing
- Dual-stack architectures: Ensure compatibility with both legacy IPv4 and modern IPv6 clients
AWS IPv6 Support
Current Status (2025)
Amazon Web Services has achieved comprehensive IPv6 support across its core services, with major enhancements announced throughout 2025:
- September 2025: Amazon CloudFront now supports IPv6 origins for true end-to-end IPv6 delivery
- September 2025: Amazon EC2 Auto Scaling Groups added IPv6 support across all commercial regions (except New Zealand)
- September 2025: Amazon ECS tasks can now run in IPv6-only subnets
- August 2025: Application Load Balancer (ALB) allows IPv6-only provisioning without IPv4 addresses
Supported Services
VPC (Virtual Private Cloud):
- Full dual-stack support (IPv4 + IPv6)
- IPv6 CIDR blocks can be associated with existing VPCs
- Each subnet receives a /64 IPv6 CIDR block from the VPC's /56 range
- IPv6-only subnets supported for cost-optimized deployments
EC2 (Elastic Compute Cloud):
- All current generation instance types support IPv6
- Dual-stack operation: instances communicate over IPv4, IPv6, or both
- Auto Scaling Groups now support IPv6 in dual-stack configurations
- IPv6-only instances available with NAT64/DNS64 for IPv4 service access
Load Balancers:
- Application Load Balancer (ALB): Supports dualstack and IPv6-only modes
- Network Load Balancer (NLB): Full dual-stack support with UDP over IPv6
- Classic Load Balancer: Basic IPv6 support
CloudFront (CDN):
- Client-facing: IPv6 enabled by default for edge locations
- Origin-facing: IPv6, IPv4, or dual-stack origin connectivity (September 2025)
- End-to-end IPv6 delivery path now possible
Other Services with IPv6:
- API Gateway
- Lambda function URLs
- S3 (client-side IPv6)
- Route 53 (DNS with AAAA records)
Configuration Guide: AWS Dual-Stack VPC
Step 1: Associate IPv6 CIDR with VPC
# Using AWS CLI
aws ec2 associate-vpc-cidr-block \
--vpc-id vpc-12345678 \
--ipv6-cidr-block-network-border-group us-east-1 \
--amazon-provided-ipv6-cidr-block
Step 2: Add IPv6 CIDR to Subnets
aws ec2 associate-subnet-cidr-block \
--subnet-id subnet-12345678 \
--ipv6-cidr-block 2600:1f14:abc:1000::/64
Step 3: Update Route Tables
# Add IPv6 route to Internet Gateway
aws ec2 create-route \
--route-table-id rtb-12345678 \
--destination-ipv6-cidr-block ::/0 \
--gateway-id igw-12345678
Step 4: Configure Security Groups
# Allow IPv6 SSH access
aws ec2 authorize-security-group-ingress \
--group-id sg-12345678 \
--ip-permissions IpProtocol=tcp,FromPort=22,ToPort=22,Ipv6Ranges='[{CidrIpv6=::/0}]'
Step 5: Launch Dual-Stack EC2 Instance
aws ec2 run-instances \
--image-id ami-12345678 \
--instance-type t3.micro \
--subnet-id subnet-12345678 \
--ipv6-address-count 1
Best Practices: AWS
- Start with Dual-Stack: Enable both IPv4 and IPv6 initially; transition to IPv6-only gradually
- Use CloudFront for Global Apps: Leverage end-to-end IPv6 delivery for international users
- Leverage NAT64/DNS64: For IPv6-only subnets, use AWS-managed NAT64 to access IPv4 services
- Monitor with CloudWatch: Track IPv6 traffic separately using metrics like IPv6RequestCount
- Test Thoroughly: Validate both protocol paths before production deployment
Azure IPv6 Support
Current Status (2025)
Microsoft Azure provides comprehensive IPv6 support for Virtual Networks, virtual machines, and load balancers through its dual-stack (IPv4+IPv6) implementation.
Supported Services
Virtual Network (VNet):
- Dual-stack IPv4/IPv6 support for VNets and subnets
- Add IPv6 to existing IPv4-only deployments without recreation
- Standard SKU Public IPv6 addresses and prefixes
- No additional charge for IPv6 addresses (same pricing as IPv4)
Virtual Machines:
- Dual-stack VMs with IPv4 and IPv6 connectivity on single NIC
- Virtual Machine Scale Sets with automatic scaling for IPv6
- Instance-level public IPv6 addresses for direct internet connectivity
- Important: IPv6-only VMs not supported; each NIC requires at least one IPv4 configuration
Load Balancers:
- Standard IPv6 internal load balancer for multi-tier applications within VNets
- Basic IPv6 public load balancer for legacy deployments
- Load balancing for both inbound and outbound IPv6 connections
- Gateway Load Balancer and Application Gateway IPv6 support
Limitations (2025):
- ICMPv6 not currently supported in Network Security Groups
- Azure Firewall doesn't support IPv6 (can operate in dual-stack VNet but firewall subnet must be IPv4-only)
- Each VM NIC must have at least one IPv4 configuration
Configuration Guide: Azure Dual-Stack VM
Step 1: Create Dual-Stack Virtual Network
# Using Azure CLI
az network vnet create \
--name MyVNet \
--resource-group MyResourceGroup \
--address-prefixes 10.0.0.0/16 2001:db8::/48 \
--subnet-name MySubnet \
--subnet-prefixes 10.0.1.0/24 2001:db8:0:1::/64
Step 2: Create Public IPv6 Address
az network public-ip create \
--name MyPublicIPv6 \
--resource-group MyResourceGroup \
--version IPv6 \
--sku Standard
Step 3: Configure Network Interface
# Add IPv6 configuration to existing NIC
az network nic ip-config create \
--name ipv6-config \
--nic-name MyNIC \
--resource-group MyResourceGroup \
--vnet-name MyVNet \
--subnet MySubnet \
--private-ip-address-version IPv6 \
--public-ip-address MyPublicIPv6
Step 4: Update Network Security Group
# Allow IPv6 traffic
az network nsg rule create \
--resource-group MyResourceGroup \
--nsg-name MyNSG \
--name AllowIPv6 \
--protocol tcp \
--priority 1000 \
--destination-port-range 443 \
--access Allow \
--source-address-prefixes '::/0'
Best Practices: Azure
- Dual-Stack First: Always deploy dual-stack since IPv6-only VMs aren't supported
- Use Standard SKU: Premium Tier networking required for full IPv6 feature set
- Plan NSG Rules: Remember ICMPv6 isn't supported; plan testing accordingly
- Firewall Considerations: Keep Azure Firewall subnets IPv4-only
- Gradual Migration: Add IPv6 to existing deployments without disruption
Current Status (2025)
Google Cloud Platform (GCP) offers comprehensive IPv6 support through dual-stack and IPv6-only configurations, with recent enhancements extending across Compute Engine, VPC, and load balancing services.
Supported Services
VPC Networks:
- Custom mode VPC networks support IPv6 (auto-mode not supported)
- Dual-stack and IPv6-only subnet configurations
- Internal IPv6 uses ULA (Unique Local Addresses)
- External IPv6 uses GUA (Globally Unique Addresses)
- IPv6 access type (internal/external) inherited from subnet configuration
Compute Engine (GCE):
- Dual-stack instances (IPv4 + IPv6)
- IPv6-only instances available
- Stack type can be changed on existing instances
- Premium Tier required for IPv6 functionality
Cloud Load Balancing:
- Application Load Balancers support IPv6
- Proxy Network Load Balancers support IPv6
- Cloud Service Mesh with IPv6 dual-stack routing
Limitations (2025):
- Only custom mode VPC subnets supported (no auto-mode)
- IPv6 available only in Premium Tier networking
- VPC Network Peering and Cloud Interconnect can be configured as dual-stack but not IPv6-only
Configuration Guide: GCP Dual-Stack Instance
Step 1: Enable IPv6 on VPC Subnet
# Using gcloud CLI
gcloud compute networks subnets update SUBNET_NAME \
--stack-type=IPV4_IPV6 \
--ipv6-access-type=EXTERNAL
Step 2: Create Dual-Stack Instance
gcloud compute instances create INSTANCE_NAME \
--zone=us-central1-a \
--machine-type=e2-medium \
--subnet=SUBNET_NAME \
--stack-type=IPV4_IPV6 \
--ipv6-network-tier=PREMIUM
Step 3: Configure Firewall Rules
# Allow IPv6 HTTPS traffic
gcloud compute firewall-rules create allow-ipv6-https \
--network=NETWORK_NAME \
--allow=tcp:443 \
--source-ranges=::/0 \
--direction=INGRESS
Step 4: Update Load Balancer for Dual-Stack
# Configure forwarding rule with IPv6
gcloud compute forwarding-rules create ipv6-lb-forwarding-rule \
--load-balancing-scheme=EXTERNAL \
--network-tier=PREMIUM \
--ip-protocol=TCP \
--ports=443 \
--ip-version=IPV6 \
--backend-service=BACKEND_SERVICE
Best Practices: GCP
- Use Custom Mode VPCs: Required for IPv6 support
- Premium Tier Only: Budget for Premium Tier networking costs
- Choose Access Type Carefully: Internal (ULA) vs External (GUA) based on use case
- Test Stack Type Changes: Verify instance behavior when switching between IPv4, dual-stack, and IPv6-only
- Cloud Service Mesh: Leverage for advanced IPv6 routing in microservices architectures
Oracle Cloud Infrastructure IPv6 Support
Current Status (2025)
Oracle Cloud Infrastructure (OCI) has expanded IPv6 support significantly, with October 2025 updates enabling IPv6 on Compute Cloud@Customer and enhanced networking features.
Key Features
Virtual Cloud Network (VCN):
- Inbound and outbound IPv6 connections to internet
- VCN-to-VCN IPv6 communication
- Multiple IPv6 prefixes per VCN
- Oracle-allocated /56 prefixes or BYOIPv6 (Bring Your Own IP)
- ULA prefix support for private addressing
Compute Instances:
- IPv6 addresses assignable during instance launch
- SR-IOV VNIC support (required for Compute Cloud@Customer)
- Dynamic routing gateway (DRG) for on-premises connectivity via FastConnect and Site-to-Site VPN
Network Load Balancer:
- Dual-stack IPv6 address support
Configuration Guide: OCI IPv6 VCN
Step 1: Enable IPv6 on VCN
# Using OCI CLI
oci network vcn add-ipv6-vcn-cidr \
--vcn-id ocid1.vcn.oc1... \
--ipv6-prefix-cidr 2001:db8::/56
Step 2: Add IPv6 to Subnet
oci network subnet update \
--subnet-id ocid1.subnet.oc1... \
--ipv6-cidr-block 2001:db8:0:1::/64
Step 3: Configure Instance with IPv6
oci compute instance launch \
--availability-domain AD-1 \
--compartment-id ocid1.compartment.oc1... \
--shape VM.Standard2.1 \
--subnet-id ocid1.subnet.oc1... \
--assign-ipv6-ip true
Best Practices: OCI
- Plan Prefix Strategy: Decide between Oracle-allocated, BYOIP, or ULA prefixes upfront
- FastConnect for Hybrid: Use DRG with FastConnect for IPv6 on-premises connectivity
- SR-IOV Requirements: Verify VNIC type for Compute Cloud@Customer deployments
Other Cloud Providers
DigitalOcean
IPv6 Support: Available on all Droplets
Key Features:
- Automatic IPv6 allocation at instance creation
- /64 IPv6 subnet per Droplet
- Free IPv6 addressing
Limitations: Load Balancers have been slow to add IPv6 support (community requests ongoing)
Linode (Akamai Cloud)
IPv6 Support: Comprehensive across all services
Key Features:
- IPv6 enabled on NodeBalancers (load balancers)
- /64 IPv6 range per Linode instance
- /56 or /64 IPv6 pools available for larger deployments
Strengths: Early IPv6 adopter with mature implementation
Vultr
IPv6 Support: Industry-leading with IPv6-only pricing
Key Features:
- IPv6-only instances at $2.50/month (cost savings)
- IPv6 support on load balancers
- Dual-stack available on all plans
Strengths: Competitive pricing for IPv6-only workloads
Hetzner Cloud
IPv6 Support: Excellent with generous allocations
Key Features:
- /64 IPv6 subnet standard
- Additional /64 subnets available
- Load balancer IPv6 support
Cloud Provider IPv6 Comparison Table
| Provider |
Dual-Stack VPC |
IPv6-Only Instances |
Load Balancer IPv6 |
CDN IPv6 |
Cost Premium |
Regional Availability |
| AWS |
Yes |
Yes (with NAT64) |
Yes (ALB, NLB) |
Yes (CloudFront E2E) |
None |
All regions (except NZ for ASG) |
| Azure |
Yes |
No (requires IPv4) |
Yes (Standard LB) |
Yes (Front Door) |
None |
Global (most regions) |
| GCP |
Yes |
Yes |
Yes (ALB, proxy NLB) |
Yes (Cloud CDN) |
Premium Tier required |
Premium Tier regions |
| Oracle Cloud |
Yes |
Yes |
Yes (NLB) |
Limited |
None |
Most regions |
| DigitalOcean |
Yes |
No |
Partial |
No native CDN |
None |
All datacenters |
| Linode |
Yes |
No |
Yes |
No native CDN |
None |
All regions |
| Vultr |
Yes |
Yes |
Yes |
No native CDN |
Discount for IPv6-only |
All locations |
VPC/Network Configuration for Dual-Stack
General Architecture Pattern
Most cloud providers follow a similar pattern for dual-stack configuration:
- Network Layer: Associate IPv6 CIDR block with VPC/VNet (typically /56 or /48)
- Subnet Layer: Allocate /64 IPv6 subnet from VPC range
- Routing Layer: Add IPv6 default route (
::/0) pointing to Internet Gateway/NAT Gateway
- Security Layer: Create IPv6 firewall rules parallel to IPv4 rules
- Instance Layer: Assign IPv6 addresses to instances (auto or manual)
- DNS Layer: Create AAAA records alongside A records
Network Topology Best Practices
Three-Tier Architecture with Dual-Stack:
┌─────────────────────────────────────────────┐
│ Internet (IPv4 + IPv6) │
└────────────────┬────────────────────────────┘
│
┌────────────▼──────────────┐
│ Load Balancer │
│ (Dual-Stack) │
│ IPv4: Public │
│ IPv6: 2001:db8::1/64 │
└────────────┬───────────────┘
│
┌────────────▼──────────────┐
│ Application Tier │
│ (Private Subnet) │
│ IPv4: 10.0.1.0/24 │
│ IPv6: 2001:db8:0:1::/64 │
└────────────┬───────────────┘
│
┌────────────▼──────────────┐
│ Database Tier │
│ (Private Subnet) │
│ IPv4: 10.0.2.0/24 │
│ IPv6: 2001:db8:0:2::/64 │
└───────────────────────────┘
IPv6 Migration Strategies
Strategy 1: Dual-Stack (Recommended)
Approach: Run IPv4 and IPv6 simultaneously across all layers
Advantages:
- No service disruption
- Gradual client migration
- Easy rollback if issues arise
- Most widely supported by cloud providers
Timeline: 6-12 months for full deployment
Steps:
- Enable IPv6 on VPC/VNet (weeks 1-2)
- Configure load balancers for dual-stack (weeks 3-4)
- Deploy IPv6 to public-facing services (weeks 5-8)
- Gradually enable IPv6 on internal services (weeks 9-20)
- Monitor and optimize (weeks 21-48)
- Consider IPv6-only for new services (month 13+)
Strategy 2: IPv6-Only for New Workloads
Approach: Deploy new applications as IPv6-only, use NAT64/DNS64 for legacy IPv4 services
Advantages:
- Cost savings (AWS, Vultr offer discounts)
- Forces proper IPv6 implementation
- Reduces address management complexity
Considerations:
- Requires NAT64/DNS64 infrastructure
- May complicate debugging
- Some third-party services IPv4-only
Strategy 3: Phased Service Migration
Approach: Start with external-facing services, migrate internal systems later
Phase 1 (Months 1-3): Web servers, CDN, public APIs
Phase 2 (Months 4-6): Application servers, microservices
Phase 3 (Months 7-12): Databases, internal tools
Phase 4 (Month 13+): Legacy systems, gradual IPv4 retirement
Limitations and Regional Availability
AWS Limitations
- IPv6-only instances require NAT64/DNS64 for IPv4 service access
- Some legacy services (Classic Load Balancer) have limited IPv6 support
- S3 VPC endpoints don't support IPv6
- Auto Scaling Groups: IPv6 not available in New Zealand region
Azure Limitations
- Critical: IPv6-only VMs not supported (each NIC requires IPv4)
- ICMPv6 not supported in NSGs (complicates ping testing)
- Azure Firewall doesn't support IPv6
- Some regions have delayed IPv6 rollout for newer services
GCP Limitations
- Cost Factor: IPv6 requires Premium Tier networking (additional cost)
- Auto-mode VPC not supported (must use custom mode)
- VPC Peering can't be IPv6-only (dual-stack only)
- Cloud Interconnect IPv6 support varies by location
Oracle Cloud Limitations
- Compute Cloud@Customer requires SR-IOV VNICs
- Some third-party marketplace images lack IPv6 support
- Documentation less comprehensive than AWS/Azure/GCP
Smaller Providers
- DigitalOcean: Load Balancer IPv6 support lagging behind competitors
- CDN services generally less mature than AWS CloudFront or Azure Front Door
Cloud Provider Best Practices Summary
For AWS Users
- Leverage CloudFront for end-to-end IPv6 delivery (new in 2025)
- Use IPv6-only subnets with NAT64 for cost optimization
- Enable Auto Scaling Group IPv6 for elastic workloads
- Test ALB in IPv6-only mode for greenfield applications
- Use AWS PrivateLink with dual-stack NLB for service mesh architectures
For Azure Users
- Always provision dual-stack (IPv6-only VMs not supported)
- Upgrade to Standard SKU load balancers for full IPv6 feature set
- Plan around Azure Firewall IPv4-only limitation
- Use Virtual Machine Scale Sets for IPv6-capable auto-scaling
- Monitor NSG rules carefully (ICMPv6 not supported)
For GCP Users
- Budget for Premium Tier networking costs
- Use custom mode VPCs exclusively (required for IPv6)
- Plan IPv6 access type (internal vs external) based on architecture
- Leverage Cloud Service Mesh for advanced IPv6 routing
- Test stack type changes in non-production first
For Multi-Cloud Environments
- Standardize on dual-stack architecture across providers
- Use infrastructure-as-code (Terraform, Pulumi) for consistent IPv6 configuration
- Implement consistent IPv6 addressing scheme (avoid overlaps)
- Deploy monitoring across both protocols independently
- Test failover scenarios between IPv4 and IPv6 paths
Testing and Validation
Using test-ipv6.run for Cloud Validation
After configuring IPv6 in your cloud environment, validate connectivity using test-ipv6.run:
- Deploy Test Instance: Launch a dual-stack instance in your cloud VPC
- Access from Instance: Browse to test-ipv6.run from instance's browser or curl
- Verify Tests:
- IPv4 Only Test: Should pass (confirms IPv4 connectivity)
- IPv6 Only Test: Should pass (confirms IPv6 connectivity)
- Dual Stack Test: Should pass (confirms proper protocol selection)
- Protocol Preference: Shows which protocol browser prefers
Example from AWS EC2 instance:
# Test IPv4 connectivity
curl -4 https://api.ipify.org
# Test IPv6 connectivity
curl -6 https://api6.ipify.org
# Test dual-stack behavior
curl https://api64.ipify.org
# Full validation with test-ipv6.run backend
curl -s https://test-ipv6.run/api/check | jq
Scoring Interpretation
- Score 10 (Green): Full dual-stack with no issues - ideal cloud configuration
- Score 9 (Blue): Both protocols work but dual-stack test shows preference issues
- Score 0 (Red): IPv4-only or broken IPv6 - requires configuration fixes
Troubleshooting Cloud IPv6 Issues
AWS Common Issues:
- Missing IPv6 route in route table → Add
::/0 route to Internet Gateway
- Security group blocking IPv6 → Add
::/0 source for required ports
- Instance not receiving IPv6 address → Check subnet has IPv6 CIDR assigned
Azure Common Issues:
- NIC missing IPv6 configuration → Add secondary IP configuration with IPv6
- NSG rules incomplete → Ensure both IPv4 and IPv6 rules configured
- Standard SKU required → Upgrade from Basic to Standard Load Balancer
GCP Common Issues:
- Premium Tier not enabled → Upgrade network tier
- Auto-mode VPC → Recreate as custom mode VPC
- Stack type mismatch → Ensure subnet and instance stack types align
Conclusion
In 2025, all major cloud providers offer robust IPv6 support, though implementation maturity varies. AWS leads with end-to-end IPv6 delivery via CloudFront and comprehensive service coverage. Azure provides solid dual-stack capabilities but lacks IPv6-only VM support. GCP offers flexible configurations but requires Premium Tier. Smaller providers like Vultr innovate with IPv6-only pricing, while DigitalOcean and Linode provide straightforward implementations.
Key Recommendations:
- Start with dual-stack for maximum compatibility
- Test thoroughly using tools like test-ipv6.run
- Plan for long-term IPv4/IPv6 coexistence (years, not months)
- Budget appropriately (GCP Premium Tier, potential IPv4 address costs)
- Follow provider-specific best practices outlined above
The future is dual-stack transitioning to IPv6-only. Cloud providers are ready - the question is whether your applications are. Begin your IPv6 journey today by enabling dual-stack on a non-production VPC and validating with test-ipv6.run.
Additional Resources:
Last Updated: October 2025