Migrate compute resources to global Azure

Important

Since August 2018, we have not been accepting new customers or deploying any new features and services into the original Microsoft Cloud Germany locations.

Based on the evolution in customers’ needs, we recently launched two new datacenter regions in Germany, offering customer data residency, full connectivity to Microsoft’s global cloud network, as well as market competitive pricing.

Additionally, on Sept 30th, 2020, we announced that the Microsoft Cloud Germany would be closing on October 29th, 2021. More details are available here: https://www.microsoft.com/cloud-platform/germany-cloud-regions.

Take advantage of the breadth of functionality, enterprise-grade security, and comprehensive features available in our new German datacenter regions by migrating today.

This article has information that can help you migrate Azure compute resources from Azure Germany to global Azure.

Compute IaaS

You can't directly migrate Azure compute infrastructure as a service (IaaS) resources from Azure Germany to global Azure. But, there are multiple ways you can "duplicate" your VMs.

Duplicate by using Site Recovery

Azure Site Recovery can help you migrate your VMs from Azure Germany to global Azure. Because the source and target are in different tenants in a migration from Azure Germany to global Azure, you can't use the normal Azure Disaster Recovery option that's available for VMs. The trick is to set up a Site Recovery vault in the target environment (global Azure) and to proceed like you're moving a physical server to Azure. In the Azure portal, select a replication path labeled Not virtualized. When the replication is finished, do a failover.

Note

The following steps are the same steps you would take to migrate a physical server that's running on-premises to Azure.

To learn more, review this helpful Site Recovery tutorial. For a quick overview, here's a shorter and slightly adapted version of the process:

Install a configuration/process server in your source environment to build the server images. Then, replicate the images to the Azure Recovery Services vault in your target environment. The work is all done by the configuration server. You don't need to touch the individual servers.

  1. Sign in to the Azure Germany portal.
  2. Compare the OS versions of the VMs you want to migrate against the support matrix.
  3. Set up a new VM in your source Azure Virtual Network instance to act as the configuration server:
    1. Select DS4v3 or higher (4 to 8 cores, 16-GB memory).
    2. Attach an additional disk that has at least 1 TB of available space (for the VM images).
    3. Use Windows Server 2012 R2 or later.
  4. Make sure that ports 443 and 9443 are open for the subnet in both directions.
  5. Sign in to the new VM (ConfigurationServer).
  6. In your remote desktop session, sign in to the global Azure portal by using your global Azure credentials.
  7. Set up a virtual network in which the replicated VMs will run.
  8. Create an Azure Storage account.
  9. Set up the Recovery Services vault.
  10. Define Protection goal (To Azure > Not virtualized/other).
  11. Download the Recovery Unified Setup installation file (Prepare Infrastructure > Source). When you open the portal URL from within ConfigurationServer, the file is downloaded to the correct server. From outside ConfigurationServer, upload the installation file to ConfigurationServer.
  12. Download the vault registration key (upload it to ConfigurationServer like in the preceding step, if necessary).
  13. Run the Recovery Unified Setup installation on ConfigurationServer.
  14. Set up the target environment (check that you're still signed in to the target portal).
  15. Define the replication policy.
  16. Start replication.

After replication initially succeeds, test the scenario by doing a test failover. Verify and delete the test. Your final step is to do the real failover.

Caution

Syncing back to the source VM doesn't occur. If you want to migrate again, clean up everything and start again at the beginning!

Duplicate by using Resource Manager template export/import

You can export the Azure Resource Manager template that you use to deploy to your local machine. Edit the template to change the location and other parameters or variables. Then, redeploy in global Azure.

Important

Change location, Azure Key Vault secrets, certificates, and other GUIDs to be consistent with the new region.

Export the Resource Manager template in the portal by selecting the resource group. Select deployments, and then select the most recent deployment. Select Template in the left menu and download the template.

A .zip file that has several files in it downloads. The PowerShell, Azure CLI, Ruby, or .NET scripts help you deploy your template. The file parameters.json has all the input from the last deployment. It's likely that you will need to change some settings in this file. Edit the template.json file if you want to redeploy only a subset of the resources.

For more information:

Cloud Services

You can redeploy Azure Cloud Services resources by providing the .cspkg and .cscfg definitions again.

Azure portal

To redeploy cloud services in the Azure portal:

  1. Create a new cloud service by using your .cspkg and .cscfg definitions.
  2. Update the CNAME or A record to point traffic to the new cloud service.
  3. When traffic points to the new cloud service, delete the old cloud service in Azure Germany.

PowerShell

To redeploy cloud services by using PowerShell:

  1. Create a new cloud service by using your .cspkg and .cscfg definitions.

    New-AzureService -ServiceName <yourServiceName> -Label <MyTestService> -Location <westeurope>
    
  2. Create a new deployment by using your .cspkg and .cscfg definitions.

    New-AzureDeployment -ServiceName <yourServiceName> -Slot <Production> -Package <YourCspkgFile.cspkg> -Configuration <YourConfigFile.cscfg>
    
  3. Update the CNAME or A record to point traffic to the new cloud service.

  4. When traffic points to the new cloud service, delete the old cloud service in Azure Germany.

    Remove-AzureService -ServiceName <yourOldServiceName>
    

REST API

To redeploy cloud services by using the REST API:

  1. Create a new cloud service in the target environment.

    https://management.core.windows.net/<subscription-id>/services/hostedservices
    
  2. Create a new deployment by using the Create Deployment API. To find your .cspkg and .cscfg definitions, you can call the Get Package API.

    https://management.core.windows.net/<subscription-id>/services/hostedservices/<cloudservice-name>/deploymentslots/production
    
  3. When traffic points to the new cloud service, delete the old cloud service in Azure Germany.

    https://management.core.cloudapi.de/<subscription-id>/services/hostedservices/<old-cloudservice-name>
    

For more information:

Service Fabric

You can't migrate Azure Service Fabric resources from Azure Germany to global Azure. You must redeploy Service Fabric resources in the new environment.

You can get information about your current Service Fabric environment by using PowerShell cmdlets. Access all cmdlets that are related to Service Fabric by entering Get-Help *ServiceFabric* in PowerShell.

For more information:

Batch

You can't migrate Azure Batch account data from one region to another. The account might have running VMs associated with it and be actively interacting with data in storage accounts, databases, or other storage systems.

Redeploy your deployment scripts, templates, or code in the new region. Redeployment includes the following tasks:

  1. Create a Batch account.
  2. Increase your Batch account quota.
  3. Create Batch pools.
  4. Create new storage accounts, databases, and other services that are used to persist input and output data.
  5. Update your configuration and code to point to the new Batch account and use new credentials.

For more information:

Functions

Migrating Azure Functions resources from Azure Germany to global Azure isn't supported at this time. We recommend that you export the Resource Manager template, change the location, and then redeploy to the target region.

Important

Change location, Key Vault secrets, certificates, App Settings, and other GUIDs to be consistent with the new region.

For more information:

Virtual machine scale sets

To migrate virtual machine scale sets to global Azure, export the Resource Manager template, adapt it to the new environment, and then redeploy to the target region. Export only the base template and redeploy the template in the new environment. Individual virtual machine scale set instances should all be the same.

Important

Change location, Key Vault secrets, certificates, and other GUIDs to be consistent with the new region.

For more information:

Web Apps

Currently, apps that you created by using the Web Apps feature of Azure App Service can't be migrated from Azure Germany to global Azure. We recommend that you export a web app as a Resource Manager template, and then redeploy after you change the location property to the new region.

Important

Change location, Key Vault secrets, certificates, and other GUIDs to be consistent with the new region.

For more information:

Next steps

Learn about tools, techniques, and recommendations for migrating resources in the following service categories: