Kurz: Nasazení architektury SAP Deployment Automation Framework pro podnikové škálování

V tomto kurzu se dozvíte, jak provádět nasazení pomocí architektury SAP Deployment Automation Framework. V tomto příkladu se k nasazení infrastruktury řídicí roviny používá Azure Cloud Shell. Virtuální počítač nasazovacího nástroje vytvoří zbývající infrastrukturu a konfigurace SAP HANA.

V tomto kurzu provedete následující úlohy:

  • Nasaďte řídicí rovinu (infrastrukturu a knihovnu pro nasazení).
  • Nasaďte zónu úloh (na šířku a systém).
  • Stáhnout nebo nahrát fakturu k materiálům
  • Nakonfigurujte standardní nastavení operačního systému a operačního systému specifického pro SAP.
  • Nainstalujte databázi HANA.
  • Nainstalujte server SAP Central Services (SCS).
  • Načtěte databázi HANA.
  • Nainstalujte primární aplikační server.

Nasazení SAP v Azure s architekturou automation zahrnuje tři hlavní kroky:

  1. Připravte oblast. Nasadíte komponenty pro podporu architektury automatizace SAP v zadané oblasti Azure. V tomto kroku:

    1. Vytvořte prostředí nasazení.
    2. Vytvořte sdílené úložiště pro soubory stavu Terraformu.
    3. Vytvořte sdílené úložiště pro instalační médium SAP.
  2. Připravte zónu úlohy. Nasadíte komponenty zóny úloh, jako jsou virtuální síť a trezory klíčů.

  3. Nasaďte systém. Nasadíte infrastrukturu pro systém SAP.

V procesu automatizace nasazení existuje několik pracovních postupů. Tento kurz se zaměřuje na jeden pracovní postup pro snadné nasazení. Tento pracovní postup, samostatné prostředí SAP S4 HANA, můžete nasadit pomocí bashe. Tento kurz popisuje obecnou hierarchii a různé fáze nasazení.

Přehled prostředí

Sap Deployment Automation Framework má dvě hlavní komponenty:

  • Infrastruktura nasazení (řídicí rovina)
  • Infrastruktura SAP (úloha SAP)

Následující diagram znázorňuje závislost mezi řídicí rovinou a rovinou aplikace.

Diagram that shows the DevOps tutorial infrastructure design.

Architektura používá Terraform pro nasazení infrastruktury a Ansible pro konfiguraci operačního systému a aplikace. Následující diagram znázorňuje logické oddělení řídicí roviny a zóny úloh.

Diagram that shows the SAP Deployment Automation Framework environment.

Zóna správy

Zóna správy obsahuje infrastrukturu řídicí roviny, ze které se nasazují jiná prostředí. Po nasazení zóny správy je potřeba provést opětovné nasazení jen zřídka.

Diagram that shows the control plane.

Nasazovač je prováděcí modul architektury automatizace SAP. Tento předkonfigurovaný virtuální počítač se používá k provádění příkazů Terraform a Ansible.

Knihovna SAP poskytuje trvalé úložiště pro stavové soubory Terraformu a stažené instalační médium SAP pro řídicí rovinu.

Nasazovač a knihovnu nakonfigurujete v souboru proměnné Terraformu .tfvars . Další informace naleznete v tématu Konfigurace řídicí roviny.

Zóna úloh

Aplikace SAP má obvykle více úrovní nasazení. Můžete mít například úroveň vývoje, zajištění kvality a produkční úrovně. Rozhraní SAP Deployment Automation Framework volá tyto zóny úloh vrstvy.

Diagram that shows the workload zone.

Zóna úloh SAP obsahuje síťové a sdílené komponenty pro virtuální počítače SAP. Mezi tyto komponenty patří směrovací tabulky, skupiny zabezpečení sítě a virtuální sítě. Tato oblast poskytuje příležitost rozdělit nasazení do různých prostředí. Další informace najdete v tématu Konfigurace zóny úloh.

Nasazení systému se skládá z virtuálních počítačů pro spuštění aplikace SAP, včetně webových, aplikačních a databázových vrstev. Další informace najdete v tématu Konfigurace systému SAP.

Požadavky

Úložiště SAP Deployment Automation Framework je k dispozici na GitHubu.

K připojení k nasazovacímu nástroji je potřeba nasadit Azure Bastion nebo použít klienta SSH (Secure Shell). Používejte libovolného klienta SSH, se kterým se můžete cítit pohodlně.

Kontrola kvóty předplatného Azure

Ujistěte se, že vaše předplatné Azure má dostatečnou základní nabídku pro skladové položky řady DdSV4 a EdsV4 ve vybrané oblasti. Pro každou řadu virtuálních počítačů by mělo stačit přibližně 50 jader.

S-User account for SAP software download

Ke stažení softwaru SAP se vyžaduje platný uživatelský účet SAP (účet SAP-User nebo S-User) s oprávněními ke stažení softwaru.

Nastavení Cloud Shellu

  1. Přejděte na Azure Cloud Shell.

  2. Přihlaste se ke svému účtu Azure.

    az login
    

    Ověřte své přihlášení. Nezavírejte okno, dokud se nezobrazí výzva.

  3. Ověřte aktivní předplatné a poznamenejte si ID předplatného:

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

    Nebo:

    az account list --output=table | grep True
    
  4. V případě potřeby změňte aktivní předplatné.

    az account set --subscription <Subscription ID>
    

    Ověřte, že se změnilo vaše aktivní předplatné.

    az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=table
    
  5. Volitelně můžete odebrat všechny artefakty nasazení. Tento příkaz použijte, pokud chcete odebrat všechny zbytky předchozích artefaktů nasazení.

    
    cd ~
    
    rm -rf Azure_SAP_Automated_Deployment .sap_deployment_automation .terraform.d
    
  6. Vytvořte složku nasazení a naklonujte úložiště.

    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. Volitelně můžete ověřit verze Terraformu a Azure CLI dostupné ve vaší instanci Cloud Shellu.

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

    Pokud chcete spustit architekturu automatizace, aktualizujte na následující verze:

Vytvoření instančního objektu služby

Architektura nasazení automatizace SAP používá k nasazení instanční objekty. Vytvořte instanční objekt pro nasazení řídicí roviny. Ujistěte se, že k vytváření instančních objektů používáte účet s oprávněními.

Když zvolíte název instančního objektu, ujistěte se, že je název v rámci vašeho tenanta Azure jedinečný.

  1. Udělte oprávnění přispěvatele instančního objektu a přístupu uživatelů Správa istrator.

    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"
    

    Zkontrolujte výstup. Příklad:

    {
        "appId": "<AppId>",
        "displayName": "<environment>-Deployment-Account ",
        "name": "<AppId>",
        "password": "<AppSecret>",
        "tenant": "<TenantId>"
    }
    
  2. Zkopírujte podrobnosti výstupu. Nezapomeňte uložit hodnoty pro appId, passworda Tenant.

    Výstup se mapuje na následující parametry. Tyto parametry použijete v pozdějších krocích s příkazy automatizace.

    Název vstupu parametru Název výstupu
    spn_id appId
    spn_secret password
    tenant_id tenant
  3. Volitelně přiřaďte roli Uživatelský přístup k instančnímu objektu Správa istrator.

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

Důležité

Pokud k instančnímu objektu nepřiřazujete roli User Access Správa istrator, nemůžete přiřadit oprávnění pomocí automatizace.

Konfigurace přihlašovacích údajů webové aplikace řídicí roviny

Jako součást řídicí roviny architektury automatizace SAP můžete volitelně vytvořit interaktivní webovou aplikaci, která vám pomůže při vytváření požadovaných konfiguračních souborů.

Screenshot that shows the web app front page.

Vytvoření registrace aplikace

Pokud chcete webovou aplikaci použít, musíte nejprve vytvořit registraci aplikace pro účely ověřování. Otevřete Cloud Shell a spusťte následující příkazy:

Podle potřeby nahraďte testovací prostředím.

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}"

Poznámka:

Ujistěte se, že jste přihlášeni pomocí uživatelského účtu, který má požadovaná oprávnění k vytváření registrací aplikací. Další informace o registracích aplikací najdete v tématu Vytvoření registrace aplikace.

Zkopírujte podrobnosti výstupu. Nezapomeňte uložit hodnoty pro App registration ID a App registration password.

Výstup se mapuje na následující parametry. Tyto parametry použijete v pozdějších krocích s příkazy automatizace.

Název vstupu parametru Název výstupu
app_registration_app_id App registration ID
webapp_client_secret App registration password

Zobrazení konfiguračních souborů

  1. Otevřete Visual Studio Code z Cloud Shellu.

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES
    code .
    
  2. WORKSPACES Rozbalte adresář. Existuje šest podsložek: CONFIGURATION, DEPLOYER, LANDSCAPE, LIBRARY, SYSTEM, a BOMS. Rozbalte každou z těchto složek a vyhledejte konfigurační soubory místního nasazení.

  3. Vyhledejte soubory proměnných Terraformu v příslušné podsložce. Například soubor proměnné Terraformu DEPLOYER může vypadat jako v tomto příkladu:

    # 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
    
    

    Poznamenejte si umístění souboru proměnných Terraformu pro budoucí úpravy během nasazování.

  4. Vyhledejte soubory proměnných Terraformu pro knihovnu SAP v příslušné podsložce. Například soubor proměnné Terraformu LIBRARY může vypadat jako v tomto příkladu:

    # 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
    

    Poznamenejte si umístění souboru proměnných Terraformu pro budoucí úpravy během nasazování.

Důležité

Ujistěte se, že dns_label odpovídá vaší instanci Azure Privátní DNS.

Nasazení řídicí roviny

Pomocí skriptu deploy_controlplane.sh nasaďte nasazér a knihovnu. Tyto části nasazení tvoří řídicí rovinu pro zvolenou oblast automatizace.

Nasazení prochází cykly nasazení infrastruktury, aktualizace stavu a nahrání stavových souborů Terraformu do účtu úložiště knihovny. Všechny tyto kroky jsou zabalené do jednoho skriptu nasazení. Skript potřebuje umístění konfiguračního souboru pro deployer a knihovnu a některé další parametry.

Jako umístění nasazení vyberte například západní Evropu s názvem SECEčtyř znaků, jak jsme popsali dříve. Ukázkový konfigurační soubor LAB-SECE-DEP05-INFRASTRUCTURE.tfvars nasazovacího nástroje je ve ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/DEPLOYER/LAB-SECE-DEP05-INFRASTRUCTURE složce.

Ukázkový konfigurační soubor LAB-SECE-SAP_LIBRARY.tfvars knihovny SAP je ve ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LIBRARY/LAB-SECE-SAP_LIBRARY složce.

  1. Nastavte proměnné prostředí pro instanční objekt:

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

    Pokud skript spouštíte z pracovní stanice, která není součástí sítě nasazení nebo z Cloud Shellu, můžete pomocí následujícího příkazu nastavit proměnnou prostředí pro povolení připojení z vaší IP adresy:

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

    Pokud nasazujete konfigurační webovou aplikaci, musíte také nastavit následující proměnné prostředí:

    
    export TF_VAR_app_registration_app_id=<appRegistrationId>
    export    TF_VAR_webapp_client_secret=<appRegistrationPassword>
    export                  TF_use_webapp=true
    
  2. Pomocí tohoto skriptu vytvořte nasazovací modul a knihovnu SAP a přidejte do trezoru klíčů nasazení podrobnosti instančního objektu:

    
    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}"
    
    

    Pokud narazíte na problémy s ověřováním, spusťte az logout odhlášení a vymazání token-cache. Pak spusťte az login znovu ověření.

    Počkejte, až architektura automatizace spustí operace plan Terraformu a apply.

    Nasazení nasazovacího modulu může běžet přibližně 15 až 20 minut.

    Je potřeba si poznamenat některé hodnoty pro nadcházející kroky. Ve výstupu vyhledejte tento blok textu:

    #########################################################################################
    #                                                                                       #
    #  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. Přejděte na Azure Portal.

    Vyberte Skupiny prostředků. Vyhledejte nové skupiny prostředků pro infrastrukturu a knihovnu deployeru. Můžete například vidět LAB-[region]-DEP05-INFRASTRUCTURE a LAB-[region]-SAP_LIBRARY.

    Tady se zobrazí obsah nasazovacího nástroje a skupiny prostředků knihovny SAP.

    Screenshot that shows deployer resources.

    Screenshot that shows library resources.

    Soubor stavu Terraformu je nyní umístěn v účtu úložiště, jehož název obsahuje tfstate. Účet úložiště má kontejner s názvem tfstate deployer a soubory stavu knihovny. Tady se zobrazí obsah kontejneru tfstate po úspěšném nasazení roviny řízení.

    Screenshot that shows the control plane Terraform state files.

Běžné problémy a jejich řešení

Tady je několik tipů pro řešení potíží:

  • Pokud při vytváření modulu deployeru dojde k následující chybě, ujistěte se, že jste v WORKSPACES adresáři při spuštění skriptu:

    Incorrect parameter file.
    The file must contain the environment attribute!!
    
  • Následující chyba je přechodná. Znovu spusťte stejný příkaz, deploy_controlplane.sh.

    Error: file provisioner error
    ..
    timeout - last error: dial tcp
    
  • Pokud máte problémy s ověřováním přímo po spuštění skriptu deploy_controlplane.sh, spusťte tento příkaz:

    az logout
    
    az login
    

Připojení k virtuálnímu počítači nasazovacího nástroje

Po nasazení řídicí roviny se stav Terraformu uloží pomocí vzdáleného back-endu azurerm. Všechny tajné kódy pro připojení k virtuálnímu počítači nasazujícího nástroje jsou k dispozici v trezoru klíčů ve skupině prostředků deployeru.

Připojení k virtuálnímu počítači nasazovacího nástroje:

  1. Přihlaste se k portálu Azure.

  2. Vyberte nebo vyhledejte trezory klíčů.

  3. Na stránce trezoru klíčů vyhledejte trezor klíčů nasazovacího nástroje. Název začíná LAB[REGION]DEP05userna . V případě potřeby vyfiltrujte podle skupiny prostředků nebo umístění.

  4. V části Nastavení v levém podokně vyberte Tajné kódy.

  5. Vyhledejte a vyberte tajný klíč, který obsahuje klíč sshkey. Může to vypadat jako LAB-[REGION]-DEP05-sshkey.

  6. Na stránce tajného kódu vyberte aktuální verzi. Potom zkopírujte hodnotu tajného kódu.

  7. Otevřete editor prostého textu. Zkopírujte v hodnotě tajného kódu.

  8. Uložte soubor, do kterého uchováváte klíče SSH. Například použijte C:\\Users\\<your-username>\\.ssh.

  9. Uložte soubor. Pokud se zobrazí výzva k uložení jako typu, vyberte Všechny soubory , pokud není možnost SSH . Například použijte deployer.ssh.

  10. Připojení k virtuálnímu počítači nasazovacího nástroje prostřednictvím libovolného klienta SSH, jako je Visual Studio Code. Použijte veřejnou IP adresu, kterou jste si poznamenali dříve, a klíč SSH, který jste stáhli. Pokyny k připojení k nasazovacímu nástroji pomocí editoru Visual Studio Code najdete v tématu Připojení k nasazovacímu nástroji pomocí editoru Visual Studio Code. Pokud používáte PuTTY, nejprve pomocí PuTTYGen převeďte soubor klíče SSH.

Poznámka:

Výchozí uživatelské jméno je azureadm.

Ujistěte se, že soubor, který používáte k uložení klíče SSH, může soubor uložit pomocí správného formátu, tj. bez znaků cr (carriage return). Použijte Visual Studio Code nebo Poznámkový blok++.

Po připojení k virtuálnímu počítači nasazovacího nástroje si můžete software SAP stáhnout pomocí kusovníku (KUSOVNÍK).

Připojení k virtuálnímu počítači nasazovacího nástroje, když nepoužíváte veřejnou IP adresu

U nasazení bez připojení k veřejné IP adrese není povolené přímé připojení přes internet. V těchto případech můžete použít jump box služby Azure Bastion nebo provést další krok z počítače, který má připojení k virtuální síti Azure.

Následující příklad používá Azure Bastion.

Připojení k nasazéru:

  1. Přihlaste se k portálu Azure.

  2. Přejděte do skupiny prostředků, která obsahuje virtuální počítač nasazovacího nástroje.

  3. Připojení k virtuálnímu počítači pomocí služby Azure Bastion.

  4. Výchozí uživatelské jméno je azureadm.

  5. Vyberte privátní klíč SSH ze služby Azure Key Vault.

  6. Vyberte předplatné, které obsahuje řídicí rovinu.

  7. Vyberte trezor klíčů nasazovacího nástroje.

  8. V seznamu tajných kódů vyberte tajný klíč, který končí na -sshkey.

  9. Připojte se k virtuálnímu počítači.

Zbývající úlohy musí být spuštěny v nasazovaném prostředí.

Zabezpečení řídicí roviny

Řídicí rovina je nejdůležitější součástí architektury automatizace SAP. Je důležité zabezpečit řídicí rovinu. Následující kroky vám pomůžou zabezpečit řídicí rovinu.

Měli byste aktualizovat soubor řídicí roviny tfvars , abyste povolili privátní koncové body a zablokovali veřejný přístup k účtům úložiště a trezorům klíčů.

  1. Ke zkopírování konfiguračních souborů řídicí roviny do virtuálního počítače nasazovacího nástroje můžete použít sync_deployer.sh skript. Přihlaste se k virtuálnímu počítači deployeru a aktualizujte následující příkaz, abyste použili název účtu úložiště stavu Terraformu. Pak spusťte následující 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
    
    
    

    Tento příkaz zkopíruje tfvars konfigurační soubory z účtu úložiště knihovny SAP do virtuálního počítače nasazovacího nástroje.

  2. Změňte konfigurační soubory řídicí roviny na:

    
        # 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. Znovu spusťte nasazení, aby se změny použily. Aktualizujte název účtu úložiště a název trezoru klíčů ve skriptu.

    
    export ARM_SUBSCRIPTION_ID="<subscriptionId>"
    export       ARM_CLIENT_ID="<appId>"
    export   ARM_CLIENT_SECRET="<password>"
    export       ARM_TENANT_ID="<tenantId>"
    
    
  4. Vytvořte nasazovač a knihovnu SAP.

    
    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}"
    

Nasazení webové aplikace

Webovou aplikaci můžete nasadit pomocí následujícího skriptu:

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 

Shromažďování informací o zóně úloh

  1. Shromážděte v textovém editoru následující informace. Tyto informace byly shromážděny na konci fáze Nasazení řídicí roviny.

    1. Název účtu úložiště souborů stavu Terraformu ve skupině prostředků knihovny:

      • Následující z předchozího příkladu je LAB-SECE-SAP_LIBRARYskupina prostředků .
      • Název účtu úložiště obsahuje labsecetfstate.
    2. Název trezoru klíčů ve skupině prostředků deployeru:

      • Následující z předchozího příkladu je LAB-SECE-DEP05-INFRASTRUCTUREskupina prostředků .
      • Název trezoru klíčů obsahuje LABSECEDEP05user.
    3. Veřejná IP adresa virtuálního počítače nasazovacího nástroje. Přejděte do skupiny prostředků vašeho nasazovače, otevřete virtuální počítač nasazovacího nástroje a zkopírujte veřejnou IP adresu.

  2. Potřebujete shromáždit následující informace:

    1. Název souboru stavu nasazovacího nástroje se nachází ve skupině prostředků knihovny:
      • Vyberte Kontejnery >tfstateúčtu>úložiště stavu skupiny>prostředků knihovny. Zkopírujte název souboru stavu nasazovače.
      • Následující z předchozího příkladu je LAB-SECE-DEP05-INFRASTRUCTURE.terraform.tfstatenázev objektu blob .
  3. V případě potřeby zaregistrujte instanční objekt. Pro účely tohoto kurzu není tento krok potřeba.

    Při prvním vytvoření instance prostředí se musí zaregistrovat instanční objekt. V tomto kurzu je řídicí rovina v LAB prostředí a zóna úlohy je také v LAB. Z tohoto důvodu musí být instanční objekt zaregistrovaný pro LAB prostředí.

    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}"
    

Příprava nasazení zóny úloh

Připojení k virtuálnímu počítači nasazovacího nástroje pro následující kroky. Teď je tam kopie úložiště.

Nasazení zóny úloh

K nasazení zóny úloh SAP použijte skript install_workloadzone.

  1. Na virtuálním počítači nasazovacího nástroje přejděte do Azure_SAP_Automated_Deployment složky.

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/LAB-SECE-SAP04-INFRASTRUCTURE
    
  2. Volitelně otevřete konfigurační soubor zóny úloh a v případě potřeby změňte logický název sítě tak, aby odpovídal názvu sítě.

  3. Spusťte nasazení zóny úloh. Tady jsou potřebné podrobnosti, které jste shromáždili dříve:

    • Název souboru deployeru tfstate (nalezený v kontejneru tfstate )
    • tfstate Název účtu úložiště
    • Název trezoru klíčů deployeru

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}"

Nasazení zóny úloh by se mělo spustit automaticky.

Počkejte na dokončení nasazení. Nová skupina prostředků se zobrazí na webu Azure Portal.

Příprava na nasazení systémové infrastruktury SAP

Připojení k virtuálnímu počítači nasazovacího nástroje pro následující kroky. Teď je tam kopie úložiště.

Přejděte do WORKSPACES/SYSTEM složky a zkopírujte ukázkové konfigurační soubory, které chcete použít z úložiště.

Nasazení systémové infrastruktury SAP

Po dokončení zóny úloh můžete nasadit prostředky systémové infrastruktury SAP. Systém SAP vytvoří virtuální počítače a podpůrné komponenty pro vaši aplikaci SAP. K nasazení systému SAP použijte skript installer.sh.

Systém SAP nasadí:

  • Databázová vrstva, která nasazuje databázové virtuální počítače a jejich disky a instanci Azure Standard Load Balanceru. V této úrovni můžete spouštět databáze HANA nebo databáze AnyDB.
  • Úroveň SCS, která nasadí počet virtuálních počítačů definovaných zákazníkem a instanci Azure Standard Load Balanceru.
  • Aplikační vrstva, která nasadí virtuální počítače a jejich disky.
  • Úroveň Web Dispatcher.

Nasaďte systém SAP.


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

Zkontrolujte, jestli je teď skupina systémových prostředků na webu Azure Portal.

Získání softwaru SAP pomocí faktury za materiály

Architektura automatizace poskytuje nástroje ke stažení softwaru ze SAP pomocí SAP BOM. Software se stáhne do knihovny SAP, která funguje jako archiv pro všechna média potřebná k nasazení SAP.

SAP BOM napodobuje plánovač údržby SAP. Existují relevantní identifikátory produktů a sada adres URL pro stahování.

Ukázka extrakce souboru kusovníku vypadá jako v tomto příkladu:


---
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"

V tomto příkladu konfigurace je LAB-SECE-DEP05-INFRASTRUCTUREskupina prostředků . Název trezoru klíčů nasazovacího nástroje obsahuje LABSECEDEP05user tento název. Tyto informace použijete ke konfiguraci tajných kódů trezoru klíčů vašeho nasazovacího modulu.

  1. Připojení k virtuálnímu počítači nasazovacího nástroje pro následující kroky. Teď je tam kopie úložiště.

  2. Přidejte tajný kód s uživatelským jménem svého uživatelského účtu SAP. Nahraďte <vaultName> názvem vašeho trezoru klíčů deployeru. Nahraďte <sap-username> také uživatelské jméno SAP.

    export key_vault=<vaultName>
        sap_username=<sap-username>
    
    az keyvault secret set --name "S-Username" --vault-name $key_vault --value "${sap_username}";
    
  3. Přidejte tajný kód s heslem pro uživatelský účet SAP. Nahraďte <vaultName> názvem vašeho nasazovacího trezoru klíčů a nahraďte <sap-password> ho heslem SAP.

    Poznámka:

    Použití jednoduchýchuch sap_user_password Použití speciálních znaků v hesle může jinak způsobit nepředvídatelné výsledky.

    sap_user_password='<sap-password>'
    
    az keyvault secret set --name "S-Password" --vault-name "${key_vault}" --value="${sap_user_password}";
    
  4. Nakonfigurujte soubor parametrů SAP pro proces stahování. Potom stáhněte software SAP pomocí playbooků Ansible. Spusťte následující příkazy:

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES
    mkdir BOMS
    cd BOMS
    
    vi sap-parameters.yaml
    
  5. Aktualizujte bom_base_name název kusovníku. Nahraďte <Deployer KeyVault Name> názvem trezoru klíčů Azure pro skupinu prostředků deployeru.

    Soubor by měl vypadat podobně jako v následujícím příkladu konfigurace:

    
    bom_base_name:                 S42022SPS00_v0001ms
    deployer_kv_name:              <vaultName>
    BOM_directory:                 ${HOME}/Azure_SAP_Automated_Deployment/samples/SAP
    
    
  6. Spusťte playbook Ansible a stáhněte si software. Jedním ze způsobů, jak spustit playbooky, je použít nabídku Downloader . Spusťte skript download_menu.

    ${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/download_menu.sh
    
  7. Vyberte, které playbooky se mají spustit.

    1) BoM Downloader
    3) Quit
    Please select playbook:
    

    Výběrem playbooku 1) BoM Downloader stáhněte software SAP popsaný v souboru KUSOVNÍKu do účtu úložiště. Zkontrolujte, jestli sapbits kontejner obsahuje všechna vaše média pro instalaci.

    Playbook můžete spustit pomocí nabídky konfigurace nebo přímo z příkazového řádku.

    
    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
    
    
    

    Pokud chcete, můžete také předat přihlašovací údaje uživatele SAP jako parametry.

    
    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
    
    
    

Instalace aplikace SAP

Instalace aplikace SAP probíhá prostřednictvím playbooků Ansible.

Přejděte do složky nasazení systému.

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

Ujistěte se, že máte v aktuálních složkách následující soubory: sap-parameters.yaml a L00_host.yaml.

Pro samostatný systém SAP S/4HANA existuje osm playbooků, které je potřeba spouštět postupně. Jedním ze způsobů, jak playbooky spustit, je použít nabídku konfigurace.

Spusťte skript configuration_menu.

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

Diagram that shows the SAP Deployment Automation Ansible configuration menu.

Zvolte playbooky, které chcete spustit.

Playbook: Základní konfigurace operačního systému

Tento playbook provádí obecné nastavení konfigurace operačního systému na všech počítačích, včetně konfigurace úložišť softwaru, balíčků a služeb.

Playbook můžete spustit pomocí nabídky konfigurace nebo příkazového řádku.


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

Playbook: Konfigurace operačního systému specifického pro SAP

Tento playbook provádí nastavení konfigurace operačního systému SAP na všech počítačích. Mezi tyto kroky patří vytvoření skupin svazků a systémů souborů a konfigurace úložišť softwaru, balíčků a služeb.

Playbook můžete spustit pomocí nabídky konfigurace nebo příkazového řádku.


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

Playbook: Zpracování kusovníku

Tento playbook stáhne software SAP do virtuálního počítače SCS.

Playbook můžete spustit pomocí nabídky konfigurace nebo příkazového řádku.


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

Playbook: Instalace SCS

Tento playbook nainstaluje SAP Central Services. Pro vysoce dostupné konfigurace playbook nainstaluje také instanci SAP ERS a nakonfiguruje Pacemaker.

Playbook můžete spustit pomocí nabídky konfigurace nebo příkazového řádku.


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

Playbook: Instalace instance databáze

Tento playbook nainstaluje instance databáze.

Playbook můžete spustit pomocí nabídky konfigurace nebo příkazového řádku.


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

Playbook: Načtení databáze

Tento playbook vyvolá úlohu načítání databáze z primárního aplikačního serveru.

Playbook můžete spustit pomocí nabídky konfigurace nebo příkazového řádku.


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

Playbook: Nastavení vysoké dostupnosti databáze

Tento playbook konfiguruje vysokou dostupnost databáze. Pro HANA to zahrnuje replikaci systému HANA a Pacemaker pro databázi HANA.

Playbook můžete spustit pomocí nabídky konfigurace nebo příkazového řádku.


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

Playbook: Instalace primárního aplikačního serveru

Tento playbook nainstaluje primární aplikační server. Playbook můžete spustit pomocí nabídky konfigurace nebo příkazového řádku.


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

Playbook: Instalace aplikačního serveru

Tento playbook nainstaluje aplikační servery. Playbook můžete spustit pomocí nabídky konfigurace nebo příkazového řádku.


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

Playbook: Instalace webového dispečeru

Tento playbook nainstaluje webové dispečery. Playbook můžete spustit pomocí nabídky konfigurace nebo příkazového řádku.

Právě jste nasadili a nakonfigurovali samostatný systém HANA. Pokud potřebujete nakonfigurovat databázi SAP HANA s vysokou dostupností (HA), spusťte playbook HANA HA.


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

Vyčištění instalace

Po dokončení je důležité vyčistit instalaci SAP z tohoto kurzu. V opačném případě se vám budou dál účtují náklady související s prostředky.

Pokud chcete odebrat celou infrastrukturu SAP, kterou jste nasadili, musíte:

  • Odeberte prostředky systémové infrastruktury SAP.
  • Odeberte všechny zóny úloh (na šířku).
  • Odeberte řídicí rovinu.

Spusťte odebrání prostředků infrastruktury SAP a zón úloh z virtuálního počítače nasazovacího nástroje. Spusťte odebrání řídicí roviny z Cloud Shellu.

Než začnete, přihlaste se ke svému účtu Azure. Pak zkontrolujte, že jste ve správném předplatném.

Odebrání infrastruktury SAP

Přejděte do LAB-SECE-SAP01-L00 podsložky uvnitř SYSTEM složky. Pak spusťte tento příkaz:

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

Odebrání zóny úloh SAP

Přejděte do LAB-XXXX-SAP01-INFRASTRUCTURE podsložky uvnitř LANDSCAPE složky. Potom spusťte následující příkaz:


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

Odebrání řídicí roviny

Přihlaste se do Cloud Shellu.

Přejděte do složky WORKSPACES.

cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/

Exportujte následující dvě proměnné prostředí:

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

Spusťte následující příkaz:

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

Ověřte, že jsou všechny prostředky vyčištěny.

Další krok