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:
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:
- Skapa distributionsmiljön.
- Skapa delad lagring för Terraform-tillståndsfiler.
- Skapa delad lagring för SAP-installationsmedia.
Förbered arbetsbelastningszonen. Du distribuerar komponenterna i arbetsbelastningszonen, till exempel det virtuella nätverket och nyckelvalv.
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.
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.
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.
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.
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
Gå till Azure Cloud Shell.
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.
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
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
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
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
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:
az
version 2.5.0 eller senare.terraform
version 1.5 eller senare. Uppgradera med hjälp av Terraform-instruktionerna efter behov.
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.
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>" }
Kopiera ned utdatainformationen. Spara värdena för
appId
,password
ochTenant
.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
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.
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
Öppna Visual Studio Code från Cloud Shell.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES code .
Expandera katalogen
WORKSPACES
. Det finns sex undermappar:CONFIGURATION
,DEPLOYER
,LANDSCAPE
,LIBRARY
,SYSTEM
ochBOMS
. Expandera var och en av dessa mappar för att hitta konfigurationsfiler för regional distribution.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.
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 SECE
på 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 .
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
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 rensatoken-cache
. Köraz login
sedan för att autentisera igen.Vänta tills automationsramverket kör Terraform-åtgärderna
plan
ochapply
.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 # # # #########################################################################################
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
ochLAB-[region]-SAP_LIBRARY
.Innehållet i resursgruppen distribuerare och SAP-bibliotek visas här.
Terraform-tillståndsfilen placeras nu i lagringskontot vars namn innehåller
tfstate
. Lagringskontot har en container med namnettfstate
med distributions- och bibliotekstillståndsfilerna. Innehållet i containerntfstate
efter en lyckad kontrollplansdistribution visas här.
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.sh
kö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:
Logga in på Azure-portalen.
Välj eller sök efter Nyckelvalv.
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.I avsnittet Inställningar i den vänstra rutan väljer du Hemligheter.
Leta upp och välj hemligheten som innehåller sshkey. Det kan se ut som
LAB-[REGION]-DEP05-sshkey
.På hemlighetens sida väljer du den aktuella versionen. Kopiera sedan det hemliga värdet.
Öppna en oformaterad textredigerare. Kopiera i det hemliga värdet.
Spara filen där du behåller SSH-nycklar. Använd till exempel
C:\\Users\\<your-username>\\.ssh
.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
.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:
Logga in på Azure-portalen.
Gå till den resursgrupp som innehåller den virtuella distributionsdatorn.
Anslut till den virtuella datorn med hjälp av Azure Bastion.
Standardanvändarnamnet är azureadm.
Välj Privat SSH-nyckel från Azure Key Vault.
Välj den prenumeration som innehåller kontrollplanet.
Välj nyckelvalvet för distribueraren.
I listan med hemligheter väljer du hemligheten som slutar med -sshkey.
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.
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.Ä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
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>"
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
Samla in följande information i en textredigerare. Den här informationen samlades in i slutet av fasen "Distribuera kontrollplanet".
Namnet på lagringskontot för Terraform-tillståndsfilen i biblioteksresursgruppen:
- Efter föregående exempel är
LAB-SECE-SAP_LIBRARY
resursgruppen . - Namnet på lagringskontot innehåller
labsecetfstate
.
- Efter föregående exempel är
Namnet på nyckelvalvet i resursgruppen deployer:
- Efter föregående exempel är
LAB-SECE-DEP05-INFRASTRUCTURE
resursgruppen . - Namnet på nyckelvalvet innehåller
LABSECEDEP05user
.
- Efter föregående exempel är
Den offentliga IP-adressen för den virtuella distributionsdatorn. Gå till din distribuerares resursgrupp, öppna den virtuella distributionsdatorn och kopiera den offentliga IP-adressen.
Du måste samla in följande information:
- 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.tfstate
namnet på blobben .
- Välj Biblioteksresursgrupp>TillståndslagringskontoContainrar.>>
- Namnet på distributionstillståndsfilen finns under biblioteksresursgruppen:
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å iLAB
. Därför måste ett huvudnamn för tjänsten registreras förLAB
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.
Gå till mappen på
Azure_SAP_Automated_Deployment
den virtuella distributionsdatorn.cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/LAB-SECE-SAP04-INFRASTRUCTURE
Du kan också öppna konfigurationsfilen för arbetsbelastningszonen och, om det behövs, ändra nätverkets logiska namn så att det matchar nätverksnamnet.
Starta distributionen av arbetsbelastningszonen. Informationen som du samlade in tidigare behövs här:
- Namnet på distributionsfilen
tfstate
(finns i containerntfstate
) - Namnet på lagringskontot
tfstate
- Namn på distributionsnyckelvalvet
- Namnet på distributionsfilen
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-INFRASTRUCTURE
resursgruppen . Namnet på distributionsnyckelvalvet innehåller LABSECEDEP05user
i namnet. Du använder den här informationen för att konfigurera din distribuerarens nyckelvalvshemligheter.
Anslut till den virtuella distributionsdatorn för följande steg. En kopia av lagringsplatsen finns nu där.
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}";
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}";
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
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
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
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 containernsapbits
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
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.