Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede SAP Deployment Automation Framework kullanarak dağıtımları nasıl gerçekleştirebileceğiniz gösterilmektedir. Bu örnekte, denetim düzlemi altyapısını dağıtmak için Azure Cloud Shell kullanılır. Dağıtıcı sanal makinesi (VM) kalan altyapıyı ve SAP HANA yapılandırmalarını oluşturur.
Azure üzerinde SAP dağıtımının otomasyon çerçevesiyle üç ana adımı vardır.
Bölgeyi hazırlayın. Belirli bir Azure bölgesinde SAP otomasyon çerçevesini desteklemek için bileşenleri dağıtırsınız. Bu adımda şunları gerçekleştirirsiniz:
- Dağıtım ortamını oluşturun.
- Terraform durum dosyaları için paylaşılan depolama alanı oluşturun.
- SAP yükleme medyası için paylaşılan depolama alanı oluşturun.
İş yükü bölgesini hazırlayın. Sanal ağ ve anahtar kasaları gibi iş yükü bölgesi bileşenlerini dağıtırsınız.
Sistemi dağıtın. SAP sistemi için altyapıyı dağıtırsınız.
Dağıtım otomasyonu işleminde birkaç iş akışı vardır. Bu makale, dağıtım kolaylığı için tek bir iş akışına odaklanır. Bash kullanarak SAP S4 HANA tek başına ortamı olan bu iş akışını dağıtabilirsiniz. Aşağıdaki bölümlerde, dağıtımın genel hiyerarşisi ve farklı aşamaları açıklanmaktadır.
Önkoşullar
- Azure aboneliği. Hesabınız yoksa ücretsiz bir hesap oluşturun.
- Azure CLI sürüm 2.5.0 veya üzeri.
- Terraform sürüm 1.5 veya üzeri.
- Otomasyon çerçevesi depolarını kopyalamaya yönelik Git.
- Dağıtımcı VM'sine bağlanmak için bir SSH istemcisi veya Azure Bastion.
- Hizmet sorumluları oluşturma ve hedef abonelikte rol atama izinlerine (Katkıda Bulunan ve Kullanıcı Erişimi Yöneticisi) sahip bir Azure hesabı.
- Seçilen bölgedeki DdSV4 ve EdsV4 ailesi SKU'ları için yeterli Azure abonelik çekirdeği kotası. Her VM ailesi için kullanılabilir yaklaşık 50 çekirdek yeterli olmalıdır.
- SAP yazılımını indirmek için yazılım indirme ayrıcalıklarına sahip geçerli bir SAP kullanıcı hesabı (SAP-User veya S-User hesabı).
- GitHub üzerinde SAP Deployment Automation Framework deposu.
- (İsteğe bağlı) yapılandırma web uygulamasını dağıtmayı planlıyorsanız .NET SDK.
Ortama genel bakış
SAP Deployment Automation Framework'ün iki ana bileşeni vardır:
- Dağıtım altyapısı (denetim düzlemi)
- SAP altyapısı (SAP iş yükü)
Aşağıdaki diyagramda denetim düzlemi ile uygulama düzlemi arasındaki bağımlılık gösterilmektedir.
Çerçevede altyapı dağıtımı için Terraform, işletim sistemi ve uygulama yapılandırması için Ansible kullanılır. Aşağıdaki diyagramda denetim düzlemi ve iş yükü bölgesinin mantıksal ayrımı gösterilmektedir.
Yönetim bölgesi
Yönetim bölgesi, diğer ortamların dağıtıldığı kontrol düzlemi altyapısını içerir. Yönetim bölgesi dağıtıldıktan sonra, nadiren, hatta belki de hiç yeniden dağıtmanız gerekmez.
Dağıtıcı, SAP otomasyon çerçevesinin yürütme altyapısıdır. Önceden yapılandırılmış bu VM, Terraform ve Ansible komutlarını yürütmek için kullanılır.
SAP Kitaplığı, Terraform durum dosyaları için kalıcı depolamayı ve denetim düzlemi için indirilen SAP yükleme medyasını sağlar.
Dağıtıcıyı ve kitaplığı terraform .tfvars değişken dosyasında yapılandırabilirsiniz. Daha fazla bilgi için bkz . Denetim düzlemini yapılandırma.
İş yükü bölgesi
SAP uygulamasının genellikle birden çok dağıtım katmanı vardır. Örneğin geliştirme, kalite güvencesi ve üretim katmanlarınız olabilir. SAP Deployment Automation Framework bu katmanları iş yükü bölgeleri olarak adlandırır.
SAP iş yükü bölgesi, SAP VM'leri için ağ ve paylaşılan bileşenleri içerir. Bu bileşenler yol tablolarını, ağ güvenlik gruplarını ve sanal ağları içerir. Manzara, dağıtımları farklı ortamlara bölme fırsatı sunar. Daha fazla bilgi için bkz. İş yükü bölgesini yapılandırma.
Sistem dağıtımı, web, uygulama ve veritabanı katmanları dahil olmak üzere SAP uygulamasını çalıştırmak için vm'lerden oluşur. Daha fazla bilgi için bkz . SAP sistemini yapılandırma.
Cloud Shell ayarlama
Azure Cloud Shell gidin.
Azure hesabınızda oturum açın.
az loginOturum açma işleminizi doğrulayın. İstenmeden pencereyi kapatmayın.
Etkin aboneliğinizi doğrulayın ve abonelik kimliğinizi kaydedin:
az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=tableVeya
az account list --output=table | grep TrueGerekirse etkin aboneliğinizi değiştirin.
az account set --subscription <Subscription ID>Etkin aboneliğinizin değiştiğini doğrulayın.
az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=tableİsteğe bağlı olarak, tüm dağıtım yapıtlarını kaldırın. Önceki dağıtım yapıtlarının tüm kalıntılarını kaldırmak istediğinizde bu komutu kullanın.
cd ~ rm -rf Azure_SAP_Automated_Deployment .sap_deployment_automation .terraform.dDağıtım klasörünü oluşturun ve depoyu kopyalayın.
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İsteğe bağlı olarak Terraform sürümlerini ve Cloud Shell örneğinizde bulunan Azure CLI doğrulayın.
./sap-automation/deploy/scripts/helpers/check_workstation.shOtomasyon çerçevesini çalıştırmak için aşağıdaki sürümlere güncelleştirin:
-
azsürüm 2.5.0 veya üzeri. -
terraformsürüm 1.5 veya üzeri. Terraform yönergelerini kullanarak gerektiği gibi yükseltin.
-
Hizmet sorumlusu oluşturma
SAP otomasyonu dağıtım çerçevesi dağıtım için hizmet sorumlularını kullanır. Denetim düzlemi dağıtımınız için bir service principal oluşturun. Hizmet sorumluları oluşturmak için uygun izinlere sahip bir hesap kullandığınızdan emin olun.
Hizmet sorumlunuz için bir ad seçtiğinizde, adın Azure kiracınızda benzersiz olduğundan emin olun.
Hizmet sorumlusuna Katkı Sağlayıcı ve Kullanıcı Erişim Yöneticisi izinlerini verin.
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"Çıktıyı gözden geçirin. Örneğin:
{ "appId": "<AppId>", "displayName": "<environment>-Deployment-Account ", "name": "<AppId>", "password": "<AppSecret>", "tenant": "<TenantId>" }Çıkış ayrıntılarını kopyalayın. Emin olun,
appId,passwordveTenantdeğerlerini kaydedin.Çıkış, aşağıdaki parametrelere eşlenir. Bu parametreleri otomasyon komutlarıyla sonraki adımlarda kullanacaksınız.
Parametre giriş adı Çıkış adı spn_idappIdspn_secretpasswordtenant_idtenantİsteğe bağlı olarak, Hizmet sorumlusuna Kullanıcı Erişimi Yöneticisi rolünü atayın.
export appId="<appId>" az role assignment create --assignee ${appId} \ --role "User Access Administrator" \ --scope /subscriptions/${ARM_SUBSCRIPTION_ID}
Önemli
Hizmet sorumlusuna Kullanıcı Erişim Yöneticisi rolünü atamazsanız, otomasyonu kullanarak izin atayamazsınız.
Denetim düzlemi web uygulaması kimlik bilgilerini yapılandırma
SAP otomasyon çerçevesi denetim düzleminin bir parçası olarak, isteğe bağlı olarak gerekli yapılandırma dosyalarını oluşturmanıza yardımcı olan etkileşimli bir web uygulaması oluşturabilirsiniz.
Uygulama kaydı oluşturma
Web uygulamasını kullanmak istiyorsanız, önce kimlik doğrulaması amacıyla bir uygulama kaydı oluşturmanız gerekir. Cloud Shell açın ve aşağıdaki komutları çalıştırın:
LAB'ı gerekirse ortamınızla değiştirin.
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}"
Uyarı
Uygulama kayıtları oluşturmak için gerekli izinlere sahip bir kullanıcı hesabı kullanarak oturum açtığınızdan emin olun. Uygulama kayıtları hakkında daha fazla bilgi için bkz. Uygulama kaydı oluşturma.
Çıkış ayrıntılarını kopyalayın. Emin olun ki App registration ID ve App registration password değerlerini kaydediyorsunuz.
Çıkış, aşağıdaki parametrelere eşlenir. Bu parametreleri otomasyon komutlarıyla sonraki adımlarda kullanacaksınız.
| Parametre giriş adı | Çıkış adı |
|---|---|
app_registration_app_id |
App registration ID |
webapp_client_secret |
App registration password |
Yapılandırma dosyalarını görüntüleme
Cloud Shell'dan Visual Studio Code açın.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES code .WORKSPACESDizini genişletin. Altı alt klasör vardır:CONFIGURATION,DEPLOYER,LANDSCAPE,LIBRARY,SYSTEM, veBOMS. Bölgesel dağıtım yapılandırma dosyalarını bulmak için bu klasörlerin her birini genişletin.Terraform değişken dosyalarını uygun alt klasörde bulun. Örneğin Terraform
DEPLOYERdeğişken dosyası şu örnekteki gibi görünebilir:# 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 = trueDağıtım sırasında gelecekteki düzenlemeler için Terraform değişken dosya konumlarına dikkat edin.
SAP Kitaplığı için Terraform değişken dosyalarını uygun alt klasörde bulun. Örneğin Terraform
LIBRARYdeğişken dosyası şu örnekteki gibi görünebilir:# 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 = falseDağıtım sırasında gelecekteki düzenlemeler için Terraform değişken dosya konumlarına dikkat edin.
Önemli
dns_labelAzure Özel DNS örneğinizle eşleştiğinden emin olun.
Kontrol düzlemini dağıtın
Dağıtıcıyı ve kitaplığı dağıtmak için deploy_controlplane.sh betiğini kullanın. Bu dağıtım parçaları, seçilen otomasyon alanının kontrol düzlemini oluşturur.
Dağıtım, altyapıyı dağıtma, durumu yenileme ve Terraform durum dosyalarını kitaplık depolama hesabına yükleme döngülerinden geçer. Bu adımların tümü tek bir dağıtım betiğinde paketlenir. Betik, dağıtımcı ve kitaplık için yapılandırma dosyasının konumuna ve diğer bazı parametrelere ihtiyaç duyar.
Örneğin, daha önce açıklandığı gibi, dağıtım konumu olarak Batı Avrupa'yı ve dört karakterli adı seçin SECE. Örnek dağıtımcı yapılandırma dosyası LAB-SECE-DEP05-INFRASTRUCTURE.tfvars klasördedir ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/DEPLOYER/LAB-SECE-DEP05-INFRASTRUCTURE .
Örnek SAP Kitaplığı yapılandırma dosyası LAB-SECE-SAP_LIBRARY.tfvars klasördedir ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LIBRARY/LAB-SECE-SAP_LIBRARY .
Hizmet sorumlusu için ortam değişkenlerini ayarlayın:
export ARM_SUBSCRIPTION_ID="<subscriptionId>" export ARM_CLIENT_ID="<appId>" export ARM_CLIENT_SECRET="<password>" export ARM_TENANT_ID="<tenantId>"Betiği dağıtım ağının parçası olmayan bir iş istasyonundan veya Cloud Shell çalıştırıyorsanız, IP adresinizden bağlantıya izin vermek üzere ortam değişkenini ayarlamak için aşağıdaki komutu kullanabilirsiniz:
export TF_VAR_Agent_IP=<your-public-ip-address>Yapılandırma web uygulamasını dağıtıyorsanız aşağıdaki ortam değişkenlerini de ayarlamanız gerekir:
export TF_VAR_app_registration_app_id=<appRegistrationId> export TF_VAR_webapp_client_secret=<appRegistrationPassword> export TF_use_webapp=trueBu betiği kullanarak deployer'ı ve SAP Library'yi oluşturun ve hizmet sorumlusu ayrıntılarını dağıtım anahtarı kasasına ekleyin.
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}"Kimlik doğrulama sorunlarıyla karşılaşırsanız, çıkış yapmak ve
az logouttemizlemek içintoken-cachekomutunu çalıştırın. Ardından komutunu çalıştırarakaz loginyeniden kimlik doğrulaması yapın.Otomasyon çerçevesinin Terraform işlemlerini
planveapplyçalıştırmasını bekleyin.Dağıtıcı yazılımın dağıtımı yaklaşık 15 ila 20 dakika sürebilir.
Yaklaşan adımlar için bazı değerlere dikkat etmeniz gerekir. Çıktıda şu metin bloğunu arayın:
######################################################################################### # # # 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 # # # #########################################################################################Azure portalına gidin.
Kaynak grupları’nı seçin. Dağıtımcı altyapısı ve kitaplığı için yeni kaynak grupları arayın. Örneğin,
LAB-[region]-DEP05-INFRASTRUCTUREveLAB-[region]-SAP_LIBRARYifadelerini görebilirsiniz.Dağıtıcının ve SAP Kitaplığı kaynak grubunun içeriği burada gösterilmiştir.
Terraform durum dosyası artık adında
tfstatebulunan depolama hesabına yerleştirilir. Depolama hesabı, dağıtıcı ve kitaplık durum dosyalarıyla adlıtfstatebir kapsayıcıya sahiptir. Başarılı bir control plane dağıtımından sonratfstatekapsayıcısının içeriği burada gösterilmektedir.
Yaygın sorunlar ve çözümler
İşte bazı sorun giderme ipuçları:
Dağıtımcı modülü oluşturma işlemi için aşağıdaki hatayı alırsanız, betiği çalıştırdığınızda dizinde
WORKSPACESolduğunuzdan emin olun:Incorrect parameter file. The file must contain the environment attribute!!Aşağıdaki hata geçicidir. aynı komutu yeniden çalıştırın.
deploy_controlplane.shError: file provisioner error .. timeout - last error: dial tcpBetiği
deploy_controlplane.shçalıştırdıktan hemen sonra kimlik doğrulaması sorunlarınız varsa şu komutu çalıştırın:az logout az login
Dağıtımcı VM'sine bağlanma
Denetim düzlemi dağıtıldıktan sonra Terraform durumu uzak arka uç azurermkullanılarak depolanır. Dağıtıcı VM'ye bağlanmak için gerekli tüm gizli bilgiler, dağıtımcının kaynak grubundaki bir anahtar kasasında mevcuttur.
Dağıtıcı VM'nize bağlanmak için:
Azure portalında oturum açın.
Anahtar kasalarını seçin veya arayın.
Anahtar kasası sayfasında yükleyici anahtar kasasını bulun. Ad
LAB[REGION]DEP05userile başlar. Gerekirse Kaynak grubuna veya Konuma göre filtreleyin.Sol bölmedeki Ayarlar bölümünde Gizliler seçeneğini seçin.
sshkey içeren gizli diziyi bulun ve seçin. Bu,
LAB-[REGION]-DEP05-sshkeygibi görünebilir.Gizli sayfasında, geçerli sürümü seçin. Ardından gizli değeri kopyalayın.
Düz metin düzenleyicisini açın. Gizli değeri kopyalayın.
SSH anahtarlarını tuttuğunuz dosyayı kaydedin. Örneğin, kullanın
C:\\Users\\<your-username>\\.ssh.Dosyayı kaydedin. Tür olarak kayıt et seçeneği istenirse ve SSH bir seçenek değilse, Tüm dosyalar'ı seçin. Örneğin, kullanın
deployer.ssh.Visual Studio Code gibi herhangi bir SSH istemcisi aracılığıyla dağıtıcı VM'ye bağlanın. Daha önce not ettiğiniz genel IP adresini ve indirdiğiniz SSH anahtarını kullanın. Visual Studio Code kullanarak dağıtıcıya bağlanma yönergeleri için bkz. Visual Studio Code kullanarak dağıtıcıya bağlanma. PuTTY kullanıyorsanız önce PuTTYGen kullanarak SSH anahtar dosyasını dönüştürün.
Uyarı
Varsayılan kullanıcı adı azureadm'dir.
SSH anahtarını kaydetmek için kullandığınız dosyanın, satır başı (CR) karakterleri olmadan doğru biçimi kullanarak dosyayı kaydedebildiğinden emin olun. Visual Studio Code veya temel bir metin düzenleyicisi kullanın.
Dağıtımcı VM'sine bağlandıktan sonra, Ürün Reçetesini (BOM) kullanarak SAP yazılımını indirebilirsiniz.
Genel IP kullanmadığınızda dağıtıcı VM'sine bağlanma
Genel IP bağlantısı olmayan dağıtımlar için İnternet üzerinden doğrudan bağlantıya izin verilmez. Bu gibi durumlarda, Azure Bastion atlama kutusu kullanabilir veya Azure sanal ağına bağlantısı olan bir bilgisayardan sonraki adımı gerçekleştirebilirsiniz.
Aşağıdaki örnekte Azure Bastion kullanılır.
Dağıtımcıya bağlanmak için:
Azure portalında oturum açın.
Dağıtıcı VM'sini içeren kaynak grubuna gidin.
Azure Bastion kullanarak VM'ye bağlanın.
Varsayılan kullanıcı adı azureadm'dir.
Azure Key Vault'tan SSH Özel Anahtarını seçin.
Denetim düzlemini içeren aboneliği seçin.
Dağıtımcı anahtar kasasını seçin.
Gizli dizi listesinden -sshkey ile biten gizli diziyi seçin.
VM’ye bağlanın.
Kalan görevler dağıtıcıda yürütülmelidir.
Kontrol düzleminin güvenliğini sağlama
Kontrol düzlemi SAP otomasyon çerçevesinin en kritik parçasıdır. Kontrol düzleminin güvenliğini sağlamak önemlidir. Aşağıdaki adımlar kontrol düzleminin güvenliğini sağlamaya yardımcı olur.
Özel uç noktaları etkinleştirmek ve depolama hesaplarına ve anahtar kasalarına genel erişimi engellemek için denetim düzlemi tfvars dosyasını güncelleştirmeniz gerekir.
Denetim düzlemi yapılandırma dosyalarını dağıtıcı VM'ye kopyalamak için betiği kullanabilirsiniz
sync_deployer.sh. Dağıtan VM'de oturum açın ve Terraform durum depolama hesabı adınızı kullanmak için aşağıdaki komutu güncelleştirin. Ardından aşağıdaki betiği çalıştırın: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_IDBu komut, yapılandırma dosyalarını SAP Kitaplığı'nın depolama hesabından dağıtıcı VM'sine kopyalar
tfvars.Denetim düzleminin yapılandırma dosyalarını şu şekilde değiştirin:
# 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 = trueDeğişiklikleri uygulamak için dağıtımı yeniden çalıştırın. Betikteki depolama hesabı adını ve anahtar kasası adını güncelleştirin.
export ARM_SUBSCRIPTION_ID="<subscriptionId>" export ARM_CLIENT_ID="<appId>" export ARM_CLIENT_SECRET="<password>" export ARM_TENANT_ID="<tenantId>"Dağıtıcıyı ve SAP Kitaplığı'nı oluşturun.
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}"
Web uygulamasını dağıtma
Aşağıdaki betiği kullanarak web uygulamasını dağıtabilirsiniz:
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
İş yükü bölgesi bilgilerini toplama
Bir metin düzenleyicisinde aşağıdaki bilgileri toplayın. Bu bilgiler "Kontrol düzlemini dağıtma" aşamasının sonunda toplanmış.
Kitaplık kaynak grubundaki Terraform durum dosyası depolama hesabının adı:
Yukarıdaki örnekten sonra kaynak grubu şeklindedir
LAB-SECE-SAP_LIBRARY.Depolama hesabının adı içerir
labsecetfstate.
Dağıtıcı kaynak grubundaki anahtar kasasının adı:
Yukarıdaki örnekten sonra kaynak grubu şeklindedir
LAB-SECE-DEP05-INFRASTRUCTURE.Anahtar kasasının adı
LABSECEDEP05useriçerir.
Dağıtan VM'nin genel IP adresi. Dağıtımcınızın kaynak grubuna gidin, dağıtıcı VM'sini açın ve genel IP adresini kopyalayın.
Aşağıdaki bilgi parçasını toplamanız gerekir:
Dağıtımcı durum dosyasının adı kitaplık kaynak grubunun altında bulunur:
Kitaplık kaynak grubu>Durum depolama hesabı>Kapsayıcılar>
tfstateseçin. Dağıtıcı durum dosyasının adını kopyalayın.Yukarıdaki örnekten sonra blobun adı şeklindedir
LAB-SECE-DEP05-INFRASTRUCTURE.terraform.tfstate.
Gerekirse hizmet sorumlusunu kaydedin. Bu örnek için bu adım gerekli değildir.
Bir ortam ilk kez örneklendiğinde, bir hizmet ilkesinin kaydedilmesi gerekir. Bu örnekte, denetim düzlemi
LABortamında ve iş yükü bölgesi deLABiçindedir. Bu nedenle,LABortamı için bir hizmet ilkesi kaydedilmelidir.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}"
İş yükü bölgesi dağıtımını hazırlama
Aşağıdaki adımlar için dağıtıcı VM'nize bağlanın. Deponun bir kopyası artık orada.
İş yükü bölgesini konuşlandırma
SAP iş yükü bölgesini dağıtmak için install_workloadzone betiğini kullanın.
Dağıtıcı VM'de
Azure_SAP_Automated_Deploymentklasörüne gidin.cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/LAB-SECE-SAP04-INFRASTRUCTUREİsteğe bağlı olarak, iş yükü bölgesi yapılandırma dosyasını açın ve gerekirse ağ mantıksal adını ağ adıyla eşleşecek şekilde değiştirin.
İş yükü bölgesinin dağıtımını başlatın. Daha önce topladığınız ayrıntılar burada gereklidir:
- Dağıtıcı
tfstatedosyasının adı (kapsayıcıdatfstatebulunur) -
tfstateDepolama hesabının adı - Dağıtan anahtar kasasının adı
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}"İş yükü bölgesi dağıtımı otomatik olarak başlatılmalıdır.
Dağıtım işleminin tamamlanmasını bekleyin. Yeni kaynak grubu Azure portalında görünür.
- Dağıtıcı
SAP sistem altyapısını dağıtmaya hazırlanma
Aşağıdaki adımlar için dağıtıcı VM'nize bağlanın. Deponun bir kopyası artık orada.
Klasörüne WORKSPACES/SYSTEM gidin ve depodan kullanılacak örnek yapılandırma dosyalarını kopyalayın.
SAP sistem altyapısını dağıtma
İş yükü bölgesi tamamlandıktan sonra SAP sistem altyapısı kaynaklarını dağıtabilirsiniz. SAP sistemi, SAP uygulamanız için VM'lerinizi ve destekleyici bileşenleri oluşturur. SAP sistemini dağıtmak için installer.sh betiğini kullanın.
SAP sistemi aşağıdakileri dağıtır:
- Veritabanı VM'lerini, disklerini ve bir Azure Standart Load Balancer örneğini dağıtan veritabanı katmanı. Bu katmanda HANA veritabanlarını veya AnyDB veritabanlarını çalıştırabilirsiniz.
- Müşteri tarafından tanımlanan sayıda VM ve Azure Standart Load Balancer örneği dağıtan SCS katmanı.
- VM'leri ve disklerini dağıtan uygulama katmanı.
- Web Dağıtıcısı katmanı.
SAP sistemini dağıtma:
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
Sistem kaynak grubunun artık Azure portalında olup olmadığını denetleyin.
Ürün Reçetesini kullanarak SAP yazılımı alma
Otomasyon çerçevesi, SAP BOM'u kullanarak SAP'den yazılım indirmeniz için araçlar sağlar. Yazılım, SAP'yi dağıtmak için gereken tüm medyalar için arşiv görevi gören SAP Kitaplığı'na indirilir.
SAP BOM, SAP bakım planlayıcısını taklit eder. İlgili ürün tanımlayıcıları ve bir dizi indirme URL'si vardır.
Bir BOM dosyasının örnek ayıklaması şu örneğe benzer:
---
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"
Bu örnek yapılandırma için kaynak grubu şeklindedir LAB-SECE-DEP05-INFRASTRUCTURE. Dağıtımcı anahtar kasası adı LABSECEDEP05user içerir. Dağıtımcınızın anahtar kasasındaki gizli anahtarlarını yapılandırmak için bu bilgileri kullanırsınız.
Aşağıdaki adımlar için dağıtıcı VM'nize bağlanın. Deponun bir kopyası artık orada.
SAP kullanıcı hesabınız için bir kullanıcı adı gizli bilgisi ekleyin.
<vaultName>öğesini dağıtıcı anahtar kasanızın adıyla değiştirin. ayrıca<sap-username>yerine SAP kullanıcı adınızı değiştirin.export key_vault=<vaultName> export sap_username=<sap-username> az keyvault secret set --name "S-Username" --vault-name $key_vault --value "${sap_username}";SAP kullanıcı hesabınızın parolasını içeren bir gizli öğe ekleyin.
<vaultName>ile dağıtıcı anahtar kasası adınızı ve<sap-password>ile SAP parolanızı değiştirin.Uyarı
Tek tırnak işaretlerinin,
sap_user_passwordayarladığınızda kullanılması önemlidir. Parolada özel karakterlerin kullanılması, aksi takdirde öngörülemeyen sonuçlara neden olabilir.sap_user_password='<sap-password>' az keyvault secret set --name "S-Password" --vault-name "${key_vault}" --value="${sap_user_password}";İndirme işlemi için SAP parametreleri dosyanızı yapılandırın. Ardından Ansible playbook'larını kullanarak SAP yazılımını indirin. Aşağıdaki komutları çalıştırın:
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES mkdir BOMS cd BOMS vi sap-parameters.yamlbom_base_nameöğesini BOM adıyla güncelleştirin.<Deployer KeyVault Name>değerini dağıtıcı kaynak grubunun Azure Key Vault adıyla değiştirin.Dosyanız aşağıdaki örnek yapılandırmaya benzer olmalıdır:
bom_base_name: S42022SPS00_v0001ms deployer_kv_name: <vaultName> BOM_directory: ${HOME}/Azure_SAP_Automated_Deployment/samples/SAPYazılımı indirmek için Ansible playbook'unu çalıştırın. Playbook'ları çalıştırmanın bir yolu , İndirici menüsünü kullanmaktır. Betiği
download_menuçalıştırın.${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/download_menu.shÇalıştırılacak playbook'ları seçin.
1) BoM Downloader 3) Quit Please select playbook:BOM dosyasında açıklanan SAP yazılımını depolama hesabına indirmek için playbook'u
1) BoM Downloaderseçin. Kapsayıcıdasapbitsyükleme için tüm medyanızın olup olmadığını denetleyin.Yapılandırma menüsünü kullanarak veya doğrudan komut satırından playbook'u çalıştırabilirsiniz.
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İsterseniz SAP Kullanıcı kimlik bilgilerini parametre olarak da geçirebilirsiniz.
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
SAP uygulamasını yükleme
SAP uygulaması yüklemesi Ansible playbook'ları aracılığıyla gerçekleşir.
Sistem dağıtım klasörüne gidin.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
Geçerli klasörlerde aşağıdaki dosyalara sahip olduğunuzdan emin olun: sap-parameters.yaml ve L00_host.yaml.
Tek başına SAP S/4HANA sistemi için sırayla çalıştırılacak sekiz kılavuz vardır. Playbook'ları çalıştırmanın bir yolu yapılandırma menüsünü kullanmaktır.
Betiği configuration_menu çalıştırın.
${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/configuration_menu.sh
Çalıştırılacak playbook'ları seçin.
Playbook: Temel işletim sistemi yapılandırması
Bu playbook, tüm makinelerde yazılım depolarının, paketlerinin ve hizmetlerinin yapılandırmasını içeren genel işletim sistemi yapılandırma kurulumunu gerçekleştirir.
Yapılandırma menüsünü veya komut satırını kullanarak playbook'u çalıştırabilirsiniz.
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
SAP'e özel işletim sistemi yapılandırma kılavuzu
Bu playbook, tüm makinelerde SAP işletim sistemi yapılandırma kurulumunu gerçekleştirir. Adımlar birim gruplarının ve dosya sistemlerinin oluşturulmasını ve yazılım depolarının, paketlerinin ve hizmetlerinin yapılandırılmasını içerir.
Yapılandırma menüsünü veya komut satırını kullanarak playbook'u çalıştırabilirsiniz.
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: BOM işleme
Bu playbook, SAP yazılımını SCS VM'sine indirir.
Yapılandırma menüsünü veya komut satırını kullanarak playbook'u çalıştırabilirsiniz.
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: SCS yüklemesi
Bu kılavuz, SAP Merkezi Hizmetleri'ni yükler. Yüksek oranda kullanılabilir yapılandırmalar için playbook, SAP ERS örneğini de yükler ve Pacemaker'ı yapılandırır.
Yapılandırma menüsünü veya komut satırını kullanarak playbook'u çalıştırabilirsiniz.
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: Veritabanı örneği yüklemesi
Bu playbook, veritabanı örneklerini yükler.
Yapılandırma menüsünü veya komut satırını kullanarak playbook'u çalıştırabilirsiniz.
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: Veritabanı yükü
Bu playbook, birincil uygulama sunucusundan veritabanı yükleme görevini çağırır.
Yapılandırma menüsünü veya komut satırını kullanarak playbook'u çalıştırabilirsiniz.
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: Veritabanı yüksek erişilebilirlik kurulumu
Bu playbook, veritabanının yüksek kullanılabilirliğini yapılandırır. HANA, HANA sistem çoğaltmasını ve HANA veritabanı için Pacemaker kullanımını gerektirir.
Yapılandırma menüsünü veya komut satırını kullanarak playbook'u çalıştırabilirsiniz.
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: Birincil uygulama sunucusu yüklemesi
Bu playbook, birincil uygulama sunucusunun kurulumunu gerçekleştirir. Yapılandırma menüsünü veya komut satırını kullanarak playbook'u çalıştırabilirsiniz.
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: Uygulama sunucusu yüklemeleri
Bu playbook uygulama sunucularını yükler. Yapılandırma menüsünü veya komut satırını kullanarak playbook'u çalıştırabilirsiniz.
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
Rehber: Web Dispatcher yüklemeleri
Bu playbook, Web Dispatchers'ı yükler. Yapılandırma menüsünü veya komut satırını kullanarak playbook'u çalıştırabilirsiniz.
Artık tek başına bir HANA sistemi dağıtıp yapılandırmış oldunuz. Yüksek oranda kullanılabilir (HA) bir SAP HANA veritabanı yapılandırmanız gerekiyorsa HANA HA playbook'unu çalıştırın.
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
Kaynakları temizle
İşiniz bittiğinde SAP yüklemenizi temizlemeniz önemlidir. Aksi takdirde, kaynaklarla ilgili maliyetler doğurmaya devam edebilirsiniz.
Dağıtılan SAP altyapısının tamamını kaldırmak için şunları yapmanız gerekir:
- SAP sistem altyapısı kaynaklarını kaldırın.
- Tüm iş yükü bölgelerini (landscape) kaldırın.
- Kontrol düzlemini kaldırın.
DAĞıTıcı VM'sinden SAP altyapı kaynaklarınızın ve iş yükü bölgelerinizin kaldırılmasını çalıştırın. Kontrol düzleminin Cloud Shell üzerindeki kaldırılma işlemini başlatın.
Başlamadan önce Azure hesabınızda oturum açın. Ardından doğru abonelikte olup olmadığınız kontrol edin.
SAP altyapısını kaldırma
LAB-SECE-SAP01-L00 Klasörün içindeki alt klasöre SYSTEM gidin. Ardından şu komutu çalıştırın:
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
SAP iş yükü bölgesini kaldırma
LAB-XXXX-SAP01-INFRASTRUCTURE Klasörün içindeki alt klasöre LANDSCAPE gidin. Ardından aşağıdaki komutu çalıştırın:
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
Kontrol düzlemini kaldır
Cloud Shell'e oturum açın.
WORKSPACES klasörüne gidin.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/
Aşağıdaki iki ortam değişkenini dışarı aktarın:
export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
export ARM_SUBSCRIPTION_ID="<subscriptionId>"
Aşağıdaki komutu çalıştırın:
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
Tüm kaynakların temizlendiğini doğrulayın.