Edit

Share via


Create infrastructure for a distributed highly available SAP system with customized resource names using Azure CLI

Azure Center for SAP solutions is an Azure service that deploys and manages SAP systems on Azure. When Azure Center for SAP solutions creates infrastructure, it assigns default names to Azure resources, such as virtual machines (VMs), network interfaces, and load balancers. If your organization requires specific naming conventions for governance or easier resource identification, you can customize these names during deployment.

In this article, you use Azure CLI to deploy infrastructure for a distributed, highly available (HA) SAP system and customize the resource names that Azure Center for SAP solutions assigns to the deployed infrastructure.

Prerequisites

  • An Azure subscription. If you don't have an Azure subscription, you can create a free account.

  • The Microsoft.Workloads resource provider registered on the subscription where you're deploying the SAP system:

    az provider register --namespace 'Microsoft.Workloads'
    
  • An Azure account with Azure Center for SAP solutions administrator and Managed Identity Operator role access to the subscriptions and resource groups in which you create the Virtual Instance for SAP solutions (VIS) resource.

  • A user-assigned managed identity that has Azure Center for SAP solutions service role access on the subscription or at least all resource groups (Compute, Network, Storage). If you plan to install SAP software through Azure Center for SAP solutions, also assign the Reader and Data Access role to the identity on the storage account where you store the SAP media.

  • A network configured for your infrastructure deployment.

  • A minimum of four cores of either Standard_D4ds_v4 or Standard_E4s_v3 SKUs available in your subscription.

  • Sufficient quotas for your Azure subscription. If the quotas are low, you might need to create a support request before creating your infrastructure deployment. Otherwise, you might experience deployment failures or an Insufficient quota error.

  • The SAP Application Performance Standard (SAPS) and database memory size that you need so that Azure Center for SAP solutions can size your SAP system. If you're unsure, you can select the VMs directly, such as:

    • One or more ASCS VMs, which make up a single ASCS instance in the VIS.
    • One or more database VMs, which make up a single database instance in the VIS.
    • A single application server VM, which makes up a single application instance in the VIS. Depending on the number of application servers that you deploy or register, there can be multiple application instances.

Azure Cloud Shell

Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. You can use either Bash or PowerShell with Cloud Shell to work with Azure services. You can use the Cloud Shell preinstalled commands to run the code in this article, without having to install anything on your local environment.

To start Azure Cloud Shell:

Option Example/Link
Select Try It in the upper-right corner of a code or command block. Selecting Try It doesn't automatically copy the code or command to Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Button to launch Azure Cloud Shell.
Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Screenshot that shows the Cloud Shell button in the Azure portal

To use Azure Cloud Shell:

  1. Start Cloud Shell.

  2. Select the Copy button on a code block (or command block) to copy the code or command.

  3. Paste the code or command into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux, or by selecting Cmd+Shift+V on macOS.

  4. Select Enter to run the code or command.

Review SAP-certified Azure SKUs for your deployment type

  1. Run az workloads sap-supported-sku to get a list of SKUs supported for your SAP system deployment type:

    az workloads sap-supported-sku --app-location "eastus" --database-type "HANA" --deployment-type "ThreeTier" --environment "Prod" --high-availability-type "AvailabilitySet" --sap-product "S4HANA" --location "eastus"
    
  2. Review the output to identify supported SKUs for the app tier and database tier. You can use any of these SKUs when you deploy infrastructure, or use the recommended SKUs from the next section.

  1. Run az workloads sap-sizing-recommendation to get SAP system sizing recommendations by providing SAPS input for the application tier and memory required for the database tier:

    az workloads sap-sizing-recommendation --app-location "eastus" --database-type "HANA" --db-memory 1024 --deployment-type "ThreeTier" --environment "Prod" --high-availability-type "AvailabilitySet" --sap-product "S4HANA" --saps 75000 --location "eastus2" --db-scale-method ScaleUp
    
  2. Review the recommended SKUs from the output. You use these values when you create the configuration file.

Create a JSON configuration file with custom resource names

  1. Download the sample payload or use the examples in the REST API documentation for Azure Center for SAP solutions.

  2. Open the JSON file and replace the default resource names with your custom names. The following parameters are available for customization:

    • VM name
    • Host name
    • Network interface name
    • OS disk name
    • Load balancer name
    • Frontend IP configuration names
    • Backend pool names
    • Health probe names
    • Data disk names: default, hanaData or hana/data, hanaLog or hana/log, usrSap or usr/sap, hanaShared or hana/shared, backup
    • Shared storage account name
    • Shared storage account private endpoint name
  3. Save the JSON file. Remember the file path for use in the deployment command.

Deploy infrastructure for your SAP system

  1. Run az workloads sap-virtual-instance create to deploy infrastructure for your SAP system with a three-tier HA architecture:

    az workloads sap-virtual-instance create -g <Resource_Group_Name> -n <VIS_Name> --environment NonProd --sap-product s4hana --configuration <Payload_file_path> --identity "{type:UserAssigned,userAssignedIdentities:{<Managed_Identity_ResourceID>:{}}}"
    
  2. Wait for the deployment to complete. The command creates your SAP system infrastructure and the Virtual Instance for SAP solutions (VIS) resource that represents your SAP system in Azure.

Clean up resources

If you no longer need the VIS resource, delete it by running az workloads sap-virtual-instance delete:

az workloads sap-virtual-instance delete -g <Resource_Group_Name> -n <VIS_Name>

This command deletes only the VIS and other resources created by Azure Center for SAP solutions. It doesn't delete the deployed infrastructure, such as VMs and disks. To remove those resources, delete them separately through the Azure portal or Azure CLI.

Next step