Dela via


Självstudie: Distribuera SAP Deployment Automation Framework för företagsskala

Den här självstudien visar hur du utför distributioner med hjälp av SAP Deployment Automation Framework. I det här exemplet används Azure Cloud Shell för att distribuera kontrollplanets infrastruktur. Den virtuella distributionsdatorn (VM) skapar den återstående infrastrukturen och SAP HANA-konfigurationerna.

I den här självstudien utför du följande åtgärder:

  • Distribuera kontrollplanet (distributionsinfrastruktur och bibliotek).
  • Distribuera arbetsbelastningszonen (liggande och system).
  • Ladda ned/ladda upp materialfaktura.
  • Konfigurera standardinställningar och SAP-specifika operativsysteminställningar.
  • Installera HANA-databasen.
  • Installera SAP Central Services-servern (SCS).
  • Läs in HANA-databasen.
  • Installera den primära programservern.

Det finns tre huvudsakliga steg i en SAP-distribution i Azure med automationsramverket:

  1. Förbered regionen. Du distribuerar komponenter för att stödja SAP Automation-ramverket i en angiven Azure-region. I det här steget gör du följande:

    1. Skapa distributionsmiljön.
    2. Skapa delad lagring för Terraform-tillståndsfiler.
    3. Skapa delad lagring för SAP-installationsmedia.
  2. Förbered arbetsbelastningszonen. Du distribuerar komponenterna i arbetsbelastningszonen, till exempel det virtuella nätverket och nyckelvalv.

  3. Distribuera systemet. Du distribuerar infrastrukturen för SAP-systemet.

Det finns flera arbetsflöden i distributionsautomatiseringsprocessen. Den här självstudien fokuserar på ett arbetsflöde för enkel distribution. Du kan distribuera det här arbetsflödet, den fristående SAP S4 HANA-miljön, med hjälp av Bash. I den här självstudien beskrivs den allmänna hierarkin och olika faser i distributionen.

Miljööversikt

SAP Deployment Automation Framework har två huvudkomponenter:

  • Distributionsinfrastruktur (kontrollplan)
  • SAP-infrastruktur (SAP-arbetsbelastning)

Följande diagram visar beroendet mellan kontrollplanet och programplanet.

Diagram that shows the DevOps tutorial infrastructure design.

Ramverket använder Terraform för infrastrukturdistribution och Ansible för operativsystemet och programkonfigurationen. Följande diagram visar den logiska separationen av kontrollplanet och arbetsbelastningszonen.

Diagram that shows the SAP Deployment Automation Framework environment.

Hanteringszon

Hanteringszonen innehåller den kontrollplansinfrastruktur som andra miljöer distribueras från. När hanteringszonen har distribuerats behöver du sällan, om någonsin, distribuera om.

Diagram that shows the control plane.

Distribueraren är körningsmotorn för SAP Automation-ramverket. Den här förkonfigurerade virtuella datorn används för att köra Terraform- och Ansible-kommandon.

SAP-biblioteket tillhandahåller beständig lagring för Terraform-tillståndsfilerna och det nedladdade SAP-installationsmediet för kontrollplanet.

Du konfigurerar distribueraren och biblioteket i en Terraform-variabelfil .tfvars . Mer information finns i Konfigurera kontrollplanet.

Arbetsbelastningszon

Ett SAP-program har vanligtvis flera distributionsnivåer. Du kan till exempel ha utvecklings-, kvalitetssäkrings- och produktionsnivåer. SAP Deployment Automation Framework anropar arbetsbelastningszonerna på dessa nivåer.

Diagram that shows the workload zone.

SAP-arbetsbelastningszonen innehåller nätverks- och delade komponenter för de virtuella SAP-datorerna. Dessa komponenter omfattar routningstabeller, nätverkssäkerhetsgrupper och virtuella nätverk. Landskapet ger möjlighet att dela upp distributioner i olika miljöer. Mer information finns i Konfigurera arbetsbelastningszonen.

Systemdistributionen består av de virtuella datorer som ska köra SAP-programmet, inklusive webb-, app- och databasnivåerna. Mer information finns i Konfigurera SAP-systemet.

Förutsättningar

SAP Deployment Automation Framework-lagringsplatsen är tillgänglig på GitHub.

Du måste distribuera Azure Bastion eller använda en SSH-klient (Secure Shell) för att ansluta till distribueraren. Använd valfri SSH-klient som du känner dig bekväm med.

Granska Azure-prenumerationskvoten

Se till att din Azure-prenumeration har en tillräcklig kärnoffert för DdSV4- och EdsV4-seriens SKU:er i den valda regionen. Cirka 50 kärnor som är tillgängliga för varje VM-familj bör räcka.

S-Användarkonto för nedladdning av SAP-programvara

Ett giltigt SAP-användarkonto (SAP-användare eller S-Användarkonto) med behörighet att ladda ned programvara krävs för att ladda ned SAP-programvaran.

Konfigurera Cloud Shell

  1. Gå till Azure Cloud Shell.

  2. Logga in på ditt Azure-konto.

    az login
    

    Autentisera din inloggning. Stäng inte fönstret förrän du uppmanas att göra det.

  3. Verifiera din aktiva prenumeration och registrera ditt prenumerations-ID:

    az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=table
    

    Eller:

    az account list --output=table | grep True
    
  4. Om det behövs ändrar du din aktiva prenumeration.

    az account set --subscription <Subscription ID>
    

    Kontrollera att din aktiva prenumeration har ändrats.

    az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=table
    
  5. Du kan också ta bort alla distributionsartefakter. Använd det här kommandot när du vill ta bort alla rester av tidigare distributionsartefakter.

    
    cd ~
    
    rm -rf Azure_SAP_Automated_Deployment .sap_deployment_automation .terraform.d
    
  6. Skapa distributionsmappen och klona lagringsplatsen.

    mkdir -p ${HOME}/Azure_SAP_Automated_Deployment; cd $_
    
    git clone https://github.com/Azure/sap-automation-bootstrap.git config
    
    git clone https://github.com/Azure/sap-automation.git sap-automation
    
    git clone https://github.com/Azure/sap-automation-samples.git samples
    
    cp -Rp samples/Terraform/WORKSPACES ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES
    
    
  7. Du kan också verifiera de versioner av Terraform och Azure CLI som är tillgängliga på din instans av Cloud Shell.

    ./sap-automation/deploy/scripts/helpers/check_workstation.sh
    

    Om du vill köra automationsramverket uppdaterar du till följande versioner:

Skapa ett huvudnamn för tjänsten

Sap Automation-distributionsramverket använder tjänstens huvudnamn för distribution. Skapa ett huvudnamn för tjänsten för distributionen av kontrollplanet. Se till att använda ett konto med behörigheter för att skapa tjänstens huvudnamn.

När du väljer ett namn för tjänstens huvudnamn kontrollerar du att namnet är unikt i din Azure-klientorganisation.

  1. Ge tjänstens huvudnamn deltagarbehörighet och administratör för användaråtkomst.

    export    ARM_SUBSCRIPTION_ID="<subscriptionId>"
    export control_plane_env_code="LAB"
    
    az ad sp create-for-rbac --role="Contributor"           \
      --scopes="/subscriptions/${ARM_SUBSCRIPTION_ID}"      \
      --name="${control_plane_env_code}-Deployment-Account"
    

    Granska utdata. Till exempel:

    {
        "appId": "<AppId>",
        "displayName": "<environment>-Deployment-Account ",
        "name": "<AppId>",
        "password": "<AppSecret>",
        "tenant": "<TenantId>"
    }
    
  2. Kopiera ned utdatainformationen. Spara värdena för appId, passwordoch Tenant.

    Utdata mappar till följande parametrar. Du använder dessa parametrar i senare steg med automationskommandon.

    Parameterindatanamn Utdatanamn
    spn_id appId
    spn_secret password
    tenant_id tenant
  3. Du kan också tilldela rollen Administratör för användaråtkomst till tjänstens huvudnamn.

    export appId="<appId>"
    
    az role assignment create --assignee ${appId}   \
      --role "User Access Administrator"            \
      --scope /subscriptions/${ARM_SUBSCRIPTION_ID}
    

Viktigt!

Om du inte tilldelar rollen Administratör för användaråtkomst till tjänstens huvudnamn kan du inte tilldela behörigheter med hjälp av automatiseringen.

Konfigurera autentiseringsuppgifter för kontrollplanets webbprogram

Som en del av kontrollplanet för SAP Automation Framework kan du skapa ett interaktivt webbprogram som hjälper dig att skapa nödvändiga konfigurationsfiler.

Screenshot that shows the web app front page.

Skapa en appregistrering

Om du vill använda webbappen måste du först skapa en appregistrering i autentiseringssyfte. Öppna Cloud Shell och kör följande kommandon:

Ersätt LAB med din miljö efter behov.

export            env_code="LAB"
 
 
echo '[{"resourceAppId":"00000003-0000-0000-c000-000000000000","resourceAccess":[{"id":"e1fe6dd8-ba31-4d61-89e7-88639da4683d","type":"Scope"}]}]' >> manifest.json
 
export TF_VAR_app_registration_app_id=$(az ad app create \
    --display-name ${env_code}-webapp-registration       \
    --enable-id-token-issuance true                      \
    --sign-in-audience AzureADMyOrg                      \
    --required-resource-access @manifest.json            \
    --query "appId" --output tsv )
 
#remove the placeholder manifest.json
rm manifest.json
 
export TF_VAR_webapp_client_secret=$(az ad app credential reset \
    --id $TF_VAR_app_registration_app_id --append               \
    --query "password" --output tsv )
 
export TF_use_webapp=true
 
 
echo "App registration ID:  ${TF_VAR_app_registration_app_id}"
echo "App registration password:  ${TF_VAR_webapp_client_secret}"

Kommentar

Kontrollera att du är inloggad med hjälp av ett användarkonto som har de behörigheter som krävs för att skapa programregistreringar. Mer information om appregistreringar finns i Skapa en appregistrering.

Kopiera ned utdatainformationen. Se till att spara värdena för App registration ID och App registration password.

Utdata mappar till följande parametrar. Du använder dessa parametrar i senare steg med automationskommandon.

Parameterindatanamn Utdatanamn
app_registration_app_id App registration ID
webapp_client_secret App registration password

Visa konfigurationsfiler

  1. Öppna Visual Studio Code från Cloud Shell.

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES
    code .
    
  2. Expandera katalogen WORKSPACES . Det finns sex undermappar: CONFIGURATION, DEPLOYER, LANDSCAPE, LIBRARY, SYSTEMoch BOMS. Expandera var och en av dessa mappar för att hitta konfigurationsfiler för regional distribution.

  3. Leta upp Terraform-variabelfilerna i lämplig undermapp. Terraform-variabelfilen DEPLOYER kan till exempel se ut som i det här exemplet:

    # The environment value is a mandatory field, it is used for partitioning the environments, for example, PROD and NP.
    environment = "LAB"
    # The location/region value is a mandatory field, it is used to control where the resources are deployed
    location = "swedencentral"
    
    # management_network_address_space is the address space for management virtual network
    management_network_address_space = "10.10.20.0/25"
    # management_subnet_address_prefix is the address prefix for the management subnet
    management_subnet_address_prefix = "10.10.20.64/28"
    
    # management_firewall_subnet_address_prefix is the address prefix for the firewall subnet
    management_firewall_subnet_address_prefix = "10.10.20.0/26"
    firewall_deployment = true
    
    # management_bastion_subnet_address_prefix is the address prefix for the bastion subnet
    management_bastion_subnet_address_prefix = "10.10.20.128/26"
    bastion_deployment = true
    
    # deployer_enable_public_ip controls if the deployer Virtual machines will have Public IPs
    deployer_enable_public_ip = true
    
    # deployer_count defines how many deployer VMs will be deployed
    deployer_count = 1
    
    # use_service_endpoint defines that the management subnets have service endpoints enabled
    use_service_endpoint = true
    
    # use_private_endpoint defines that the storage accounts and key vaults have private endpoints enabled
    use_private_endpoint = false
    
    # enable_firewall_for_keyvaults_and_storage defines that the storage accounts and key vaults have firewall enabled
    enable_firewall_for_keyvaults_and_storage = false
    
    # public_network_access_enabled controls if storage account and key vaults have public network access enabled
    public_network_access_enabled = true
    
    

    Observera platserna för Terraform-variabelfilen för framtida redigeringar under distributionen.

  4. Leta upp Terraform-variabelfilerna för SAP-biblioteket i lämplig undermapp. Terraform-variabelfilen LIBRARY kan till exempel se ut som i det här exemplet:

    # The environment value is a mandatory field, it is used for partitioning the environments, for example, PROD and NP.
    environment = "LAB"
    # The location/region value is a mandatory field, it is used to control where the resources are deployed
    location = "swedencentral"
    
    #Defines the DNS suffix for the resources
    dns_label = "lab.sdaf.contoso.net"
    
    # use_private_endpoint defines that the storage accounts and key vaults have private endpoints enabled
    use_private_endpoint = false
    

    Observera platserna för Terraform-variabelfilen för framtida redigeringar under distributionen.

Viktigt!

Se till att matchar dns_label din instans av Azure Privat DNS.

Distribuera kontrollplanet

Använd skriptet deploy_controlplane.sh för att distribuera distribueraren och biblioteket. Dessa distributionsdelar utgör kontrollplanet för ett valt automatiseringsområde.

Distributionen går igenom cykler för att distribuera infrastrukturen, uppdatera tillståndet och ladda upp Terraform-tillståndsfilerna till bibliotekets lagringskonto. Alla dessa steg paketeras i ett enda distributionsskript. Skriptet behöver platsen för konfigurationsfilen för distribueraren och biblioteket och några andra parametrar.

Välj till exempel Europa, västra som distributionsplats, med namnet SECEpå fyra tecken , enligt beskrivningen ovan. Exempelkonfigurationsfilen LAB-SECE-DEP05-INFRASTRUCTURE.tfvars för distribueraren finns i ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/DEPLOYER/LAB-SECE-DEP05-INFRASTRUCTURE mappen.

Sap Library-exempelkonfigurationsfilen LAB-SECE-SAP_LIBRARY.tfvars ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LIBRARY/LAB-SECE-SAP_LIBRARY finns i mappen .

  1. Ange miljövariablerna för tjänstens huvudnamn:

    
    export ARM_SUBSCRIPTION_ID="<subscriptionId>"
    export       ARM_CLIENT_ID="<appId>"
    export   ARM_CLIENT_SECRET="<password>"
    export       ARM_TENANT_ID="<tenantId>"
    
    

    Om du kör skriptet från en arbetsstation som inte ingår i distributionsnätverket eller från Cloud Shell kan du använda följande kommando för att ange miljövariabeln för att tillåta anslutning från din IP-adress:

    export TF_VAR_Agent_IP=<your-public-ip-address>
    

    Om du distribuerar konfigurationswebbprogrammet måste du också ange följande miljövariabler:

    
    export TF_VAR_app_registration_app_id=<appRegistrationId>
    export    TF_VAR_webapp_client_secret=<appRegistrationPassword>
    export                  TF_use_webapp=true
    
  2. Skapa distribueraren och SAP-biblioteket och lägg till information om tjänstens huvudnamn i distributionsnyckelvalvet med hjälp av det här skriptet:

    
    export            env_code="LAB"
    export           vnet_code="DEP05"
    export         region_code="SECE"
    
    export     DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
    export         CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES"
    export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
    
    cd $CONFIG_REPO_PATH
    
    az login --service-principal -u "${ARM_CLIENT_ID}" -p="${ARM_CLIENT_SECRET}" --tenant "${ARM_TENANT_ID}"
    
    deployer_parameter_file="${CONFIG_REPO_PATH}/DEPLOYER/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE.tfvars"
    library_parameter_file="${CONFIG_REPO_PATH}/LIBRARY/${env_code}-${region_code}-SAP_LIBRARY/${env_code}-${region_code}-SAP_LIBRARY.tfvars"
    
    ${SAP_AUTOMATION_REPO_PATH}/deploy/scripts/deploy_controlplane.sh  \
        --deployer_parameter_file "${deployer_parameter_file}"         \
        --library_parameter_file "${library_parameter_file}"           \
        --subscription "${ARM_SUBSCRIPTION_ID}"                        \
        --spn_id "${ARM_CLIENT_ID}"                                    \
        --spn_secret "${ARM_CLIENT_SECRET}"                            \
        --tenant_id "${ARM_TENANT_ID}"
    
    

    Om du stöter på autentiseringsproblem kör du az logout för att logga ut och rensa token-cache. Kör az login sedan för att autentisera igen.

    Vänta tills automationsramverket kör Terraform-åtgärderna plan och apply.

    Distributionen av distribueraren kan köras i cirka 15 till 20 minuter.

    Du måste notera några värden för kommande steg. Leta efter det här textblocket i utdata:

    #########################################################################################
    #                                                                                       #
    #  Please save these values:                                                            #
    #     - Key Vault: LABSECEDEP05user39B                                                  #
    #     - Deployer IP: x.x.x.x                                                            #
    #     - Storage Account: labsecetfstate53e                                              #
    #     - Web Application Name: lab-sece-sapdeployment39B                                 #
    #     - App registration Id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx                       #
    #                                                                                       #
    #########################################################################################
    
  3. Gå till Azure-portalen.

    Välj Resursgrupper. Leta efter nya resursgrupper för distributionsinfrastrukturen och biblioteket. Du kan till exempel se LAB-[region]-DEP05-INFRASTRUCTURE och LAB-[region]-SAP_LIBRARY.

    Innehållet i resursgruppen distribuerare och SAP-bibliotek visas här.

    Screenshot that shows deployer resources.

    Screenshot that shows library resources.

    Terraform-tillståndsfilen placeras nu i lagringskontot vars namn innehåller tfstate. Lagringskontot har en container med namnet tfstate med distributions- och bibliotekstillståndsfilerna. Innehållet i containern tfstate efter en lyckad kontrollplansdistribution visas här.

    Screenshot that shows the control plane Terraform state files.

Kända problem och lösningar

Här följer några felsökningstips:

  • Om du får följande fel när du skapar distributionsmodulen kontrollerar du att du är i WORKSPACES katalogen när du kör skriptet:

    Incorrect parameter file.
    The file must contain the environment attribute!!
    
  • Följande fel är tillfälligt. Kör samma kommando igen, deploy_controlplane.sh.

    Error: file provisioner error
    ..
    timeout - last error: dial tcp
    
  • Om du har autentiseringsproblem direkt när du har kört skriptet deploy_controlplane.shkör du det här kommandot:

    az logout
    
    az login
    

Anslut till den virtuella distributionsdatorn

När kontrollplanet har distribuerats lagras Terraform-tillståndet med hjälp av fjärrserverdelen azurerm. Alla hemligheter för att ansluta till den virtuella distributionsdatorn är tillgängliga i ett nyckelvalv i distribuerarens resursgrupp.

Så här ansluter du till den virtuella distributionsdatorn:

  1. Logga in på Azure-portalen.

  2. Välj eller sök efter Nyckelvalv.

  3. På sidan Nyckelvalv letar du reda på nyckelvalvet för distribueraren. Namnet börjar med LAB[REGION]DEP05user. Filtrera efter resursgrupp eller plats om det behövs.

  4. I avsnittet Inställningar i den vänstra rutan väljer du Hemligheter.

  5. Leta upp och välj hemligheten som innehåller sshkey. Det kan se ut som LAB-[REGION]-DEP05-sshkey.

  6. På hemlighetens sida väljer du den aktuella versionen. Kopiera sedan det hemliga värdet.

  7. Öppna en oformaterad textredigerare. Kopiera i det hemliga värdet.

  8. Spara filen där du behåller SSH-nycklar. Använd till exempel C:\\Users\\<your-username>\\.ssh.

  9. Spara filen. Om du uppmanas att spara som typ väljer du Alla filer om SSH inte är ett alternativ. Använd till exempel deployer.ssh.

  10. Anslut till den virtuella distributionsdatorn via valfri SSH-klient, till exempel Visual Studio Code. Använd den offentliga IP-adress som du antecknade tidigare och SSH-nyckeln som du laddade ned. Anvisningar om hur du ansluter till distribueraren med hjälp av Visual Studio Code finns i Anslut till distribueraren med hjälp av Visual Studio Code. Om du använder PuTTY konverterar du SSH-nyckelfilen först med PuTTYGen.

Kommentar

Standardanvändarnamnet är azureadm.

Se till att filen som du använder för att spara SSH-nyckeln kan spara filen med rätt format, dvs. utan tecken för vagnretur (CR). Använd Visual Studio Code eller Anteckningar++.

När du är ansluten till den virtuella distributionsdatorn kan du ladda ned SAP-programvaran med hjälp av bommen (Bill of Materials).

Anslut till den virtuella distributionsdatorn när du inte använder en offentlig IP-adress

För distributioner utan offentlig IP-anslutning tillåts inte direkt anslutning via Internet. I dessa fall kan du använda en Azure Bastion-hoppruta eller utföra nästa steg från en dator som har anslutning till det virtuella Azure-nätverket.

I följande exempel används Azure Bastion.

Så här ansluter du till distribueraren:

  1. Logga in på Azure-portalen.

  2. Gå till den resursgrupp som innehåller den virtuella distributionsdatorn.

  3. Anslut till den virtuella datorn med hjälp av Azure Bastion.

  4. Standardanvändarnamnet är azureadm.

  5. Välj Privat SSH-nyckel från Azure Key Vault.

  6. Välj den prenumeration som innehåller kontrollplanet.

  7. Välj nyckelvalvet för distribueraren.

  8. I listan med hemligheter väljer du hemligheten som slutar med -sshkey.

  9. Anslut till den virtuella datorn.

Resten av uppgifterna måste köras på distribueraren.

Skydda kontrollplanet

Kontrollplanet är den mest kritiska delen av SAP-automatiseringsramverket. Det är viktigt att säkra kontrollplanet. Följande steg hjälper dig att skydda kontrollplanet.

Du bör uppdatera kontrollplansfilen tfvars för att aktivera privata slutpunkter och blockera offentlig åtkomst till lagringskonton och nyckelvalv.

  1. Om du vill kopiera konfigurationsfilerna för kontrollplanet till den virtuella distributionsdatorn kan du använda skriptet sync_deployer.sh . Logga in på den virtuella distributionsdatorn och uppdatera följande kommando för att använda namnet på ditt Terraform-tillståndslagringskonto. Kör sedan följande skript:

    
    terraform_state_storage_account=labsecetfstate###
    
    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES
    
    ../sap-automation/deploy/scripts/sync_deployer.sh --storageaccountname $terraform_state_storage_account --state_subscription $ARM_SUBSCRIPTION_ID
    
    
    

    Det här kommandot kopierar konfigurationsfilerna tfvars från SAP-bibliotekets lagringskonto till den virtuella distributionsdatorn.

  2. Ändra konfigurationsfilerna för kontrollplanet till:

    
        # use_private_endpoint defines that the storage accounts and key vaults have private endpoints enabled
        use_private_endpoint = true
    
        # enable_firewall_for_keyvaults_and_storage defines that the storage accounts and key vaults have firewall enabled
        enable_firewall_for_keyvaults_and_storage = true
    
        # public_network_access_enabled controls if storage account and key vaults have public network access enabled
        public_network_access_enabled = false
    
        #if you want to use the webapp
        use_webapp=true 
    
    
  3. Kör distributionen igen för att tillämpa ändringarna. Uppdatera namnet på lagringskontot och nyckelvalvet i skriptet.

    
    export ARM_SUBSCRIPTION_ID="<subscriptionId>"
    export       ARM_CLIENT_ID="<appId>"
    export   ARM_CLIENT_SECRET="<password>"
    export       ARM_TENANT_ID="<tenantId>"
    
    
  4. Skapa distribueraren och SAP-biblioteket.

    
    export            env_code="LAB"
    export           vnet_code="DEP05"
    export         region_code="SECE"
    
    terraform_state_storage_account=labsecetfstate###
                         vault_name="LABSECEDEP05user###"
    
    export     DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
    export         CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES"
    export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
    
    cd $CONFIG_REPO_PATH
    
    deployer_parameter_file="${CONFIG_REPO_PATH}/DEPLOYER/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE.tfvars"
     library_parameter_file="${CONFIG_REPO_PATH}/LIBRARY/${env_code}-${region_code}-SAP_LIBRARY/${env_code}-${region_code}-SAP_LIBRARY.tfvars"
    
    az logout 
    az login --service-principal -u "${ARM_CLIENT_ID}" -p="${ARM_CLIENT_SECRET}" --tenant "${ARM_TENANT_ID}"
    
    ${SAP_AUTOMATION_REPO_PATH}/deploy/scripts/deploy_controlplane.sh  \
        --deployer_parameter_file "${deployer_parameter_file}"         \
        --library_parameter_file "${library_parameter_file}"           \
        --subscription "${ARM_SUBSCRIPTION_ID}"                        \
        --storageaccountname "${terraform_state_storage_account}"      \
        --vault "${vault_name}"
    

Distribuera webbprogrammet

Du kan distribuera webbprogrammet med hjälp av följande skript:

export            env_code="LAB"
export           vnet_code="DEP05"
export         region_code="SECE"
export         webapp_name="<webAppName>"
export              app_id="<appRegistrationId>"
export           webapp_id="<webAppId>"

export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"

cd $DEPLOYMENT_REPO_PATH
cd Webapp/SDAF

dotnet build SDAFWebApp.csproj
dotnet publish SDAFWebApp.csproj --output publish
cd publish

zip -r SDAF.zip .

az webapp deploy --resource-group ${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE --name $webapp_name --src-path SDAF.zip --type zip

az ad app update --id $app_id --web-home-page-url https://$webapp_name.azurewebsites.net --web-redirect-uris https://$webapp_name.azurewebsites.net/ https://$webapp_name.azurewebsites.net/.auth/login/aad/callback
az role assignment create --assignee $webapp_id --role reader --subscription $ARM_SUBSCRIPTION_ID --scope /subscriptions/$ARM_SUBSCRIPTION_ID
az webapp restart --resource-group ${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE --name $webapp_name 

Samla in information om arbetsbelastningszoner

  1. Samla in följande information i en textredigerare. Den här informationen samlades in i slutet av fasen "Distribuera kontrollplanet".

    1. Namnet på lagringskontot för Terraform-tillståndsfilen i biblioteksresursgruppen:

      • Efter föregående exempel är LAB-SECE-SAP_LIBRARYresursgruppen .
      • Namnet på lagringskontot innehåller labsecetfstate.
    2. Namnet på nyckelvalvet i resursgruppen deployer:

      • Efter föregående exempel är LAB-SECE-DEP05-INFRASTRUCTUREresursgruppen .
      • Namnet på nyckelvalvet innehåller LABSECEDEP05user.
    3. Den offentliga IP-adressen för den virtuella distributionsdatorn. Gå till din distribuerares resursgrupp, öppna den virtuella distributionsdatorn och kopiera den offentliga IP-adressen.

  2. Du måste samla in följande information:

    1. Namnet på distributionstillståndsfilen finns under biblioteksresursgruppen:
      • Välj Biblioteksresursgrupp>TillståndslagringskontoContainrar.>>tfstate Kopiera namnet på distributionstillståndsfilen.
      • Efter föregående exempel är LAB-SECE-DEP05-INFRASTRUCTURE.terraform.tfstatenamnet på blobben .
  3. Om det behövs registrerar du tjänstens huvudnamn. I den här självstudien behövs inte det här steget.

    Första gången en miljö instansieras måste ett huvudnamn för tjänsten registreras. I den här självstudien finns kontrollplanet i LAB miljön och arbetsbelastningszonen finns också i LAB. Därför måste ett huvudnamn för tjänsten registreras för LAB miljön.

    export ARM_SUBSCRIPTION_ID="<subscriptionId>"
    export       ARM_CLIENT_ID="<appID>"
    export   ARM_CLIENT_SECRET="<password>"
    export       ARM_TENANT_ID="<tenant>"
    export           key_vault="<vaultName>"
    export            env_code="LAB"
    export         region_code="SECE"
    
    export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
    export         CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES"
    
    
    
    ${SAP_AUTOMATION_REPO_PATH}/deploy/scripts/set_secrets.sh \
        --environment "${env_code}"                           \
        --region "${region_code}"                             \
        --vault "${key_vault}"                                \
        --subscription "${ARM_SUBSCRIPTION_ID}"               \
        --spn_id "${ARM_CLIENT_ID}"                           \
        --spn_secret "${ARM_CLIENT_SECRET}"                   \
        --tenant_id "${ARM_TENANT_ID}"
    

Förbereda distributionen av arbetsbelastningszonen

Anslut till den virtuella distributionsdatorn för följande steg. En kopia av lagringsplatsen finns nu där.

Distribuera arbetsbelastningszonen

Använd skriptet install_workloadzone för att distribuera SAP-arbetsbelastningszonen.

  1. Gå till mappen på Azure_SAP_Automated_Deployment den virtuella distributionsdatorn.

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/LAB-SECE-SAP04-INFRASTRUCTURE
    
  2. Du kan också öppna konfigurationsfilen för arbetsbelastningszonen och, om det behövs, ändra nätverkets logiska namn så att det matchar nätverksnamnet.

  3. Starta distributionen av arbetsbelastningszonen. Informationen som du samlade in tidigare behövs här:

    • Namnet på distributionsfilen tfstate (finns i containern tfstate )
    • Namnet på lagringskontot tfstate
    • Namn på distributionsnyckelvalvet

export     ARM_SUBSCRIPTION_ID="<subscriptionId>"
export           ARM_CLIENT_ID="<appId>"
export       ARM_CLIENT_SECRET="<password>"
export           ARM_TENANT_ID="<tenantId>"
export       deployer_env_code="LAB"
export            sap_env_code="LAB"
export             region_code="SECE"

export      deployer_vnet_code="DEP05"
export               vnet_code="SAP04"

export tfstate_storage_account="<storageaccountName>"
export               key_vault="<vaultName>"

export CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES"
export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"

az login --service-principal -u "${ARM_CLIENT_ID}" -p="${ARM_CLIENT_SECRET}" --tenant "${ARM_TENANT_ID}"

cd "${CONFIG_REPO_PATH}/LANDSCAPE/${sap_env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE"

parameterFile="${sap_env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE.tfvars"
deployerState="${deployer_env_code}-${region_code}-${deployer_vnet_code}-INFRASTRUCTURE.terraform.tfstate"

$SAP_AUTOMATION_REPO_PATH/deploy/scripts/install_workloadzone.sh  \
    --parameterfile "${parameterFile}"                            \
    --deployer_environment "${deployer_env_code}"                 \
    --deployer_tfstate_key  "${deployerState}"                    \
    --keyvault "${key_vault}"                                     \
    --storageaccountname "${tfstate_storage_account}"             \
    --subscription "${ARM_SUBSCRIPTION_ID}"                       \
    --spn_id "${ARM_CLIENT_ID}"                                   \
    --spn_secret "${ARM_CLIENT_SECRET}"                           \
    --tenant_id "${ARM_TENANT_ID}"

Distributionen av arbetsbelastningszonen bör starta automatiskt.

Vänta tills distributionen är klar. Den nya resursgruppen visas i Azure-portalen.

Förbereda distributionen av SAP-systeminfrastrukturen

Anslut till den virtuella distributionsdatorn för följande steg. En kopia av lagringsplatsen finns nu där.

Gå till WORKSPACES/SYSTEM mappen och kopiera de exempelkonfigurationsfiler som ska användas från lagringsplatsen.

Distribuera SAP-systeminfrastrukturen

När arbetsbelastningszonen är klar kan du distribuera SAP-systeminfrastrukturresurserna. SAP-systemet skapar dina virtuella datorer och stödkomponenter för ditt SAP-program. Använd skriptet installer.sh för att distribuera SAP-systemet.

SAP-systemet distribuerar:

  • Databasnivån, som distribuerar virtuella databasdatorer och deras diskar och en Azure Standard Load Balancer-instans. Du kan köra HANA-databaser eller AnyDB-databaser på den här nivån.
  • SCS-nivån, som distribuerar ett kunddefinierat antal virtuella datorer och en Azure Standard Load Balancer-instans.
  • Programnivån, som distribuerar de virtuella datorerna och deras diskar.
  • Web Dispatcher-nivån.

Distribuera SAP-systemet.


export             sap_env_code="LAB"
export              region_code="SECE"
export                vnet_code="SAP04"
export                      SID="L00"

export         CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES"
export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"

cd ${CONFIG_REPO_PATH}/SYSTEM/${sap_env_code}-${region_code}-${vnet_code}-${SID}

${DEPLOYMENT_REPO_PATH}/deploy/scripts/installer.sh                             \
    --parameterfile "${sap_env_code}-${region_code}-${vnet_code}-${SID}.tfvars" \
    --type sap_system

Kontrollera att systemresursgruppen nu finns i Azure-portalen.

Hämta SAP-programvara med hjälp av materialräkningen

Automation-ramverket ger dig verktyg för att ladda ned programvara från SAP med hjälp av SAP BOM. Programvaran laddas ned till SAP-biblioteket, som fungerar som arkiv för alla medier som krävs för att distribuera SAP.

SAP BOM efterliknar SAP-underhållshanteraren. Det finns relevanta produktidentifierare och en uppsättning nedladdnings-URL:er.

Ett exempel på ett extrahering av en BOM-fil ser ut som i det här exemplet:


---
name:    'S41909SPS03_v0010'
target:  'S/4 HANA 1909 SPS 03'
version: 7

product_ids:
  dbl:       NW_ABAP_DB:S4HANA1909.CORE.HDB.ABAP
  scs:       NW_ABAP_ASCS:S4HANA1909.CORE.HDB.ABAP
  scs_ha:    NW_ABAP_ASCS:S4HANA1909.CORE.HDB.ABAPHA
  pas:       NW_ABAP_CI:S4HANA1909.CORE.HDB.ABAP
  pas_ha:    NW_ABAP_CI:S4HANA1909.CORE.HDB.ABAPHA
  app:       NW_DI:S4HANA1909.CORE.HDB.PD
  app_ha:    NW_DI:S4HANA1909.CORE.HDB.ABAPHA
  web:       NW_Webdispatcher:NW750.IND.PD
  ers:       NW_ERS:S4HANA1909.CORE.HDB.ABAP
  ers_ha:    NW_ERS:S4HANA1909.CORE.HDB.ABAPHA

materials:
  dependencies:
    - name:     HANA_2_00_055_v0005ms

  media:
    # SAPCAR 7.22
    - name:         SAPCAR
      archive:      SAPCAR_1010-70006178.EXE
      checksum:     dff45f8df953ef09dc560ea2689e53d46a14788d5d184834bb56544d342d7b
      filename:     SAPCAR
      permissions:  '0755'
      url:          https://softwaredownloads.sap.com/file/0020000002208852020

    # Kernel
    - name:         "Kernel Part I ; OS: Linux on x86_64 64bit ; DB: Database independent"

För den här exempelkonfigurationen är LAB-SECE-DEP05-INFRASTRUCTUREresursgruppen . Namnet på distributionsnyckelvalvet innehåller LABSECEDEP05user i namnet. Du använder den här informationen för att konfigurera din distribuerarens nyckelvalvshemligheter.

  1. Anslut till den virtuella distributionsdatorn för följande steg. En kopia av lagringsplatsen finns nu där.

  2. Lägg till en hemlighet med användarnamnet för ditt SAP-användarkonto. Ersätt <vaultName> med namnet på ditt distributionsnyckelvalv. Ersätt <sap-username> även med ditt SAP-användarnamn.

    export key_vault=<vaultName>
        sap_username=<sap-username>
    
    az keyvault secret set --name "S-Username" --vault-name $key_vault --value "${sap_username}";
    
  3. Lägg till en hemlighet med lösenordet för ditt SAP-användarkonto. Ersätt <vaultName> med namnet på distributionsnyckelvalvet och ersätt <sap-password> med ditt SAP-lösenord.

    Kommentar

    Det är viktigt att använda enkla citattecken när du anger sap_user_password . Användningen av specialtecken i lösenordet kan annars orsaka oförutsägbara resultat.

    sap_user_password='<sap-password>'
    
    az keyvault secret set --name "S-Password" --vault-name "${key_vault}" --value="${sap_user_password}";
    
  4. Konfigurera SAP-parameterfilen för nedladdningsprocessen. Ladda sedan ned SAP-programvaran med ansible-spelböcker. Kör följande kommandon:

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES
    mkdir BOMS
    cd BOMS
    
    vi sap-parameters.yaml
    
  5. bom_base_name Uppdatera med namnet BOM. Ersätt <Deployer KeyVault Name> med namnet på Azure-nyckelvalvet för distributionsresursgruppen.

    Filen bör se ut ungefär som i följande exempelkonfiguration:

    
    bom_base_name:                 S42022SPS00_v0001ms
    deployer_kv_name:              <vaultName>
    BOM_directory:                 ${HOME}/Azure_SAP_Automated_Deployment/samples/SAP
    
    
  6. Kör Ansible-spelboken för att ladda ned programvaran. Ett sätt att köra spelböckerna är att använda Nedladdningsmenyn. Kör skriptet download_menu.

    ${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/download_menu.sh
    
  7. Välj vilka spelböcker som ska köras.

    1) BoM Downloader
    3) Quit
    Please select playbook:
    

    Välj spelboken 1) BoM Downloader för att ladda ned SAP-programvaran som beskrivs i BOM-filen till lagringskontot. Kontrollera att containern sapbits har alla dina media för installation.

    Du kan köra spelboken med hjälp av konfigurationsmenyn eller direkt från kommandoraden.

    
    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/BOMS/
    
    export           ANSIBLE_PRIVATE_KEY_FILE=sshkey
    
    playbook_options=(
            --inventory-file="${sap_sid}_hosts.yaml"
            --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
            --extra-vars="_workspace_directory=`pwd`"
            --extra-vars="@sap-parameters.yaml"
            --extra-vars="bom_processing=true"
            "${@}"
    )
    
    # Run the playbook to retrieve the ssh key from the Azure key vault
    ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
    
    # Run the playbook to perform the Operating System configuration
    ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_bom_downloader.yaml
    
    
    

    Om du vill kan du även skicka autentiseringsuppgifterna för SAP-användare som parametrar.

    
    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/BOMS/
    
    sap_username=<sap-username>
    sap_user_password='<sap-password>'
    
    export           ANSIBLE_PRIVATE_KEY_FILE=sshkey
    
    playbook_options=(
            --inventory-file="${sap_sid}_hosts.yaml"
            --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
            --extra-vars="_workspace_directory=`pwd`"
            --extra-vars="@sap-parameters.yaml"
            --extra-vars="s_user=${sap_username}"
            --extra-vars="s_password=${sap_user_password}"
            --extra-vars="bom_processing=true"
            "${@}"
    )
    
    # Run the playbook to retrieve the ssh key from the Azure key vault
    ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
    
    # Run the playbook to perform the Operating System configuration
    ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_bom_downloader.yaml
    
    
    

Installation av SAP-program

SAP-programinstallationen sker via Ansible-spelböcker.

Gå till mappen för systemdistribution.

cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

Kontrollera att du har följande filer i de aktuella mapparna: sap-parameters.yaml och L00_host.yaml.

För ett fristående SAP S/4HANA-system finns det åtta spelböcker att köra i följd. Ett sätt att köra spelböckerna är att använda konfigurationsmenyn.

Kör skriptet configuration_menu.

${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/configuration_menu.sh

Diagram that shows the SAP Deployment Automation Ansible configuration menu.

Välj vilka spelböcker som ska köras.

Spelbok: Grundläggande operativsystemkonfiguration

Den här spelboken utför den allmänna konfigurationskonfigurationen för operativsystemet på alla datorer, vilket inkluderar konfiguration av programlagringsplatser, paket och tjänster.

Du kan köra spelboken med hjälp av konfigurationsmenyn eller kommandoraden.


cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

export                            sap_sid=L00
export           ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to perform the Operating System configuration
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_01_os_base_config.yaml

Spelbok: SAP-specifik operativsystemkonfiguration

Den här spelboken utför konfigurationskonfigurationen för SAP-operativsystemet på alla datorer. Stegen omfattar skapande av volymgrupper och filsystem samt konfiguration av programlagringsplatser, paket och tjänster.

Du kan köra spelboken med hjälp av konfigurationsmenyn eller kommandoraden.


cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

export                            sap_sid=L00
export           ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to perform the SAP Specific Operating System configuration
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_02_os_sap_specific_config.yaml

Spelbok: BOM-bearbetning

Den här spelboken laddar ned SAP-programvaran till den virtuella SCS-datorn.

Du kan köra spelboken med hjälp av konfigurationsmenyn eller kommandoraden.


cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

export                   sap_sid=L00
export  ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_03_bom_processing.yaml

Spelbok: SCS-installation

Den här spelboken installerar SAP Central Services. För konfigurationer med hög tillgänglighet installerar spelboken även SAP ERS-instansen och konfigurerar Pacemaker.

Du kan köra spelboken med hjälp av konfigurationsmenyn eller kommandoraden.


cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

export                   sap_sid=L00
export  ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_00_00_sap_scs_install.yaml

Spelbok: Installation av databasinstans

Den här spelboken installerar databasinstanserna.

Du kan köra spelboken med hjälp av konfigurationsmenyn eller kommandoraden.


cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

export                   sap_sid=L00
export  ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_04_00_00_db_install.yaml

Spelbok: Databasinläsning

Den här spelboken anropar databasinläsningsaktiviteten från den primära programservern.

Du kan köra spelboken med hjälp av konfigurationsmenyn eller kommandoraden.


cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

export                   sap_sid=L00
export  ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_01_sap_dbload.yaml

Spelbok: Databas med hög tillgänglighet

Den här spelboken konfigurerar databasens höga tillgänglighet. För HANA innebär det HANA-systemreplikering och Pacemaker för HANA-databasen.

Du kan köra spelboken med hjälp av konfigurationsmenyn eller kommandoraden.


cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

export                   sap_sid=L00
export  ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_04_00_01_db_ha.yaml

Spelbok: Installation av primär programserver

Den här spelboken installerar den primära programservern. Du kan köra spelboken med hjälp av konfigurationsmenyn eller kommandoraden.


cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

export                   sap_sid=L00
export  ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_02_sap_pas_install.yaml

Spelbok: Programserverinstallationer

Den här spelboken installerar programservrarna. Du kan köra spelboken med hjälp av konfigurationsmenyn eller kommandoraden.


cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

export                   sap_sid=L00
export  ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_02_sap_app_install.yaml

Spelbok: Installationer av Web Dispatcher

Den här spelboken installerar Web Dispatchers. Du kan köra spelboken med hjälp av konfigurationsmenyn eller kommandoraden.

Nu har du distribuerat och konfigurerat ett fristående HANA-system. Om du behöver konfigurera en SAP HANA-databas med hög tillgänglighet (HA) kör du HANA HA-spelboken.


cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/

export                   sap_sid=L00
export  ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_04_sap_web_install.yaml

Rensa installationen

Det är viktigt att rensa SAP-installationen från den här självstudien när du är klar. Annars fortsätter du att debiteras kostnader relaterade till resurserna.

Om du vill ta bort hela SAP-infrastrukturen som du distribuerade måste du:

  • Ta bort sap-systeminfrastrukturresurserna.
  • Ta bort alla arbetsbelastningszoner (liggande).
  • Ta bort kontrollplanet.

Kör borttagningen av dina SAP-infrastrukturresurser och arbetsbelastningszoner från den virtuella distributionsdatorn. Kör borttagningen av kontrollplanet från Cloud Shell.

Innan du börjar loggar du in på ditt Azure-konto. Kontrollera sedan att du har rätt prenumeration.

Ta bort SAP-infrastrukturen

Gå till undermappen LAB-SECE-SAP01-L00 SYSTEM i mappen. Kör sedan det här kommandot:

export  sap_env_code="LAB"
export   region_code="SECE"
export sap_vnet_code="SAP04"

cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/${sap_env_code}-${region_code}-${sap_vnet_code}-L00

${DEPLOYMENT_REPO_PATH}/deploy/scripts/remover.sh                   \
  --parameterfile "${sap_env_code}-${region_code}-${sap_vnet_code}-L00.tfvars" \
  --type sap_system

Ta bort SAP-arbetsbelastningszonen

Gå till undermappen LAB-XXXX-SAP01-INFRASTRUCTURE LANDSCAPE i mappen. Kör sedan följande kommando:


export  sap_env_code="LAB"
export   region_code="SECE"
export sap_vnet_code="SAP01"

cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/${sap_env_code}-${region_code}-${sap_vnet_code}-INFRASTRUCTURE

${DEPLOYMENT_REPO_PATH}/deploy/scripts/remover.sh                                       \
      --parameterfile ${sap_env_code}-${region_code}-${sap_vnet_code}-INFRASTRUCTURE.tfvars \
      --type sap_landscape

Ta bort kontrollplanet

Logga in på Cloud Shell.

Öppna mappen WORKSPACES.

cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/

Exportera följande två miljövariabler:

export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
export ARM_SUBSCRIPTION_ID="<subscriptionId>"

Kör följande kommando:

export region_code="SECE"
export    env_code="LAB"
export   vnet_code="DEP05"

cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES
${DEPLOYMENT_REPO_PATH}/deploy/scripts/remove_controlplane.sh                                                                                                \
    --deployer_parameter_file DEPLOYER/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE.tfvars  \
    --library_parameter_file LIBRARY/${env_code}-${region_code}-SAP_LIBRARY/${env_code}-${region_code}-SAP_LIBRARY.tfvars

Kontrollera att alla resurser rensas.

Gå vidare