Tutorial: Menyebarkan Kerangka Kerja Otomatisasi Penyebaran SAP untuk skala perusahaan
Tutorial ini menunjukkan kepada Anda cara melakukan penyebaran dengan menggunakan Kerangka Kerja Otomatisasi Penyebaran SAP. Contoh ini menggunakan Azure Cloud Shell untuk menyebarkan infrastruktur sarana kontrol. Mesin virtual (VM) deployer membuat infrastruktur yang tersisa dan konfigurasi SAP Hana.
Dalam tutorial ini, Anda melakukan tugas berikut:
- Sebarkan sarana kontrol (infrastruktur penyebar dan pustaka).
- Sebarkan zona beban kerja (lanskap dan sistem).
- Unduh/Unggah Tagihan Materi.
- Konfigurasikan pengaturan sistem operasi standar dan khusus SAP.
- Instal database HANA.
- Instal server SAP Central Services (SCS).
- Muat database HANA.
- Instal server aplikasi utama.
Ada tiga langkah utama penyebaran SAP di Azure dengan kerangka kerja otomatisasi:
Siapkan wilayah. Anda menyebarkan komponen untuk mendukung kerangka kerja otomatisasi SAP di wilayah Azure tertentu. Dalam langkah ini, Anda:
- Buat lingkungan penyebaran.
- Buat penyimpanan bersama untuk file status Terraform.
- Buat penyimpanan bersama untuk media penginstalan SAP.
Siapkan zona beban kerja. Anda menyebarkan komponen zona beban kerja, seperti jaringan virtual dan brankas kunci.
Menyebarkan sistem. Anda menyebarkan infrastruktur untuk sistem SAP.
Ada beberapa alur kerja dalam proses otomatisasi penyebaran. Tutorial ini berfokus pada satu alur kerja untuk kemudahan penyebaran. Anda dapat menyebarkan alur kerja ini, lingkungan mandiri SAP S4 HANA, dengan menggunakan Bash. Tutorial ini menjelaskan hierarki umum dan fase penyebaran yang berbeda.
Gambaran umum lingkungan
Kerangka Kerja Otomatisasi Penyebaran SAP memiliki dua komponen utama:
- Infrastruktur penyebaran (sarana kontrol)
- Infrastruktur SAP (beban kerja SAP)
Diagram berikut menunjukkan dependensi antara sarana kontrol dan bidang aplikasi.
Kerangka kerja ini menggunakan Terraform untuk penyebaran infrastruktur dan Ansible untuk sistem operasi dan konfigurasi aplikasi. Diagram berikut menunjukkan pemisahan logis pada sarana kontrol dan zona beban kerja.
Zona manajemen
Zona manajemen berisi infrastruktur sarana kontrol tempat asal lingkungan lain disebarkan. Setelah zona manajemen disebarkan, Anda jarang, jika pernah, perlu menyebarkan ulang.
Penyebar adalah mesin eksekusi kerangka kerja otomatisasi SAP. VM yang telah dikonfigurasi sebelumnya ini digunakan untuk menjalankan perintah Terraform dan Ansible.
Pustaka SAP menyediakan penyimpanan persisten untuk file status Terraform dan media penginstalan SAP yang diunduh untuk sarana kontrol.
Anda mengonfigurasi penyebar dan pustaka dalam file variabel Terraform .tfvars
. Untuk informasi selengkapnya, lihat Mengonfigurasi sarana kontrol.
Zona beban kerja
Aplikasi SAP biasanya memiliki beberapa tingkatan penyebaran. Misalnya, mungkin Anda memiliki tingkat pengembangan, jaminan kualitas, dan produksi. Kerangka Kerja Otomatisasi Penyebaran SAP memanggil zona beban kerja tingkat ini.
Zona beban kerja SAP berisi jaringan dan komponen bersama untuk VM SAP. Komponen-komponen ini termasuk tabel rute, kelompok keamanan jaringan, dan jaringan virtual. Lanskap ini memberikan kesempatan untuk membagi penyebaran menjadi lingkungan yang berbeda. Untuk informasi selengkapnya, lihat Mengonfigurasi zona beban kerja.
Penyebaran sistem terdiri dari VM untuk menjalankan aplikasi SAP, termasuk tingkat web, aplikasi, dan database. Untuk informasi selengkapnya, lihat Mengonfigurasi sistem SAP.
Prasyarat
Repositori Kerangka Kerja Automasi Penyebaran SAP tersedia di GitHub.
Anda perlu menyebarkan Azure Bastion atau menggunakan klien Secure Shell (SSH) untuk menyambungkan ke penyebar. Gunakan klien SSH apa pun yang Anda sukai.
Meninjau kuota langganan Azure
Pastikan langganan Azure Anda memiliki kutipan inti yang memadai untuk SKU keluarga DdSV4 dan EdsV4 di wilayah yang dipilih. Sekitar 50 core yang tersedia untuk setiap keluarga VM sudah cukup.
Akun S-User untuk pengunduhan perangkat lunak SAP
Akun pengguna SAP yang valid (akun SAP-User atau S-User) dengan izin pengunduhan perangkat lunak diperlukan untuk mengunduh perangkat lunak SAP.
Menyiapkan Azure Cloud Shell
Buka Azure Cloud Shell.
Masuk menggunakan akun Azure Anda.
az login
Autentikasi rincian masuk Anda. Jangan tutup jendela sampai Anda diminta.
Validasi langganan aktif Anda dan rekam ID langganan Anda:
az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=table
Atau:
az account list --output=table | grep True
Jika perlu, ubah langganan aktif Anda.
az account set --subscription <Subscription ID>
Validasi bahwa langganan aktif Anda berubah.
az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=table
Secara opsional, hapus semua artefak penyebaran. Gunakan perintah ini saat Anda ingin menghapus semua sisa artefak penyebaran sebelumnya.
cd ~ rm -rf Azure_SAP_Automated_Deployment .sap_deployment_automation .terraform.d
Buat folder penyebaran dan lakukan kloning pada repositori.
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
Secara opsional, validasi versi Terraform dan Azure CLI yang tersedia pada instans Cloud Shell Anda.
./sap-automation/deploy/scripts/helpers/check_workstation.sh
Untuk menjalankan kerangka kerja otomatisasi, perbarui ke versi berikut:
az
versi 2.5.0 atau yang lebih tinggi.terraform
versi 1.5 atau lebih tinggi. Tingkatkan dengan menggunakan instruksi Terraform, seperlunya.
Membuat perwakilan layanan
Kerangka kerja penyebaran otomatisasi SAP menggunakan perwakilan layanan untuk penyebaran. Buat perwakilan layanan untuk penyebaran sarana kontrol Anda. Pastikan Anda menggunakan akun yang memiliki izin untuk membuat perwakilan layanan.
Saat Anda memilih nama untuk perwakilan layanan Anda, pastikan nama tersebut unik dalam penyewa Azure Anda.
Berikan izin Kontributor perwakilan layanan dan Administrator Akses Pengguna.
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"
Tinjau output. Contohnya:
{ "appId": "<AppId>", "displayName": "<environment>-Deployment-Account ", "name": "<AppId>", "password": "<AppSecret>", "tenant": "<TenantId>" }
Salin detail output. Pastikan untuk menyimpan nilai untuk
appId
, ,password
danTenant
.Output tersebut memetakan ke parameter berikut. Anda akan menggunakan parameter ini di langkah selanjutnya, dengan perintah otomatisasi.
Nama input parameter Nama output spn_id
appId
spn_secret
password
tenant_id
tenant
Secara opsional, tetapkan peran Administrator Akses Pengguna ke perwakilan layanan.
export appId="<appId>" az role assignment create --assignee ${appId} \ --role "User Access Administrator" \ --scope /subscriptions/${ARM_SUBSCRIPTION_ID}
Penting
Jika Anda tidak menetapkan peran Administrator Akses Pengguna ke perwakilan layanan, Anda tidak dapat menetapkan izin dengan menggunakan otomatisasi.
Mengonfigurasi kredensial aplikasi web sarana kontrol
Sebagai bagian dari sarana kontrol kerangka kerja otomatisasi SAP, Anda dapat secara opsional membuat aplikasi web interaktif yang membantu Anda dalam membuat file konfigurasi yang diperlukan.
Membuat pendaftaran aplikasi
Jika ingin menggunakan aplikasi web, Anda harus terlebih dahulu membuat pendaftaran aplikasi untuk tujuan autentikasi. Buka Cloud Shell dan jalankan perintah berikut:
Ganti LAB dengan lingkungan Anda, seperlunya.
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}"
Catatan
Pastikan Anda masuk dengan menggunakan akun pengguna yang memiliki izin yang diperlukan untuk membuat pendaftaran aplikasi. Untuk informasi selengkapnya tentang pendaftaran aplikasi, lihat Membuat pendaftaran aplikasi.
Salin detail output. Pastikan untuk menyimpan nilai untuk App registration ID
dan App registration password
.
Output tersebut memetakan ke parameter berikut. Anda akan menggunakan parameter ini di langkah selanjutnya, dengan perintah otomatisasi.
Nama input parameter | Nama output |
---|---|
app_registration_app_id |
App registration ID |
webapp_client_secret |
App registration password |
Menampilkan file konfigurasi
Buka Visual Studio Code dari Cloud Shell.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES code .
WORKSPACES
Perluas direktori. Ada enam subfolder:CONFIGURATION
, ,DEPLOYER
,LANDSCAPE
LIBRARY
,SYSTEM
, danBOMS
. Perluas masing-masing folder ini untuk menemukan file konfigurasi penyebaran regional.Temukan file variabel Terraform di subfolder yang sesuai. Misalnya,
DEPLOYER
file variabel Terraform mungkin terlihat seperti contoh ini:# 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
Perhatikan lokasi file variabel Terraform untuk pengeditan di masa mendatang selama penyebaran.
Temukan file variabel Terraform untuk Pustaka SAP di subfolder yang sesuai. Misalnya,
LIBRARY
file variabel Terraform mungkin terlihat seperti contoh ini:# 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
Perhatikan lokasi file variabel Terraform untuk pengeditan di masa mendatang selama penyebaran.
Penting
Pastikan bahwa cocok dengan dns_label
instans Azure Private DNS Anda.
Menyebarkan bidang kontrol
Gunakan skrip deploy_controlplane.sh untuk menyebarkan penyebar dan pustaka. Potongan penyebaran ini membentuk sarana kontrol untuk area otomatisasi yang dipilih.
Penyebaran melewati siklus penyebaran infrastruktur, me-refresh status, dan mengunggah file status Terraform ke akun penyimpanan pustaka. Semua langkah ini dikemas ke dalam satu skrip penyebaran. Skrip memerlukan lokasi file konfigurasi untuk penyebar dan pustaka, dan beberapa parameter lainnya.
Misalnya, pilih Eropa Barat sebagai lokasi penyebaran, dengan nama SECE
empat karakter , seperti yang dijelaskan sebelumnya. File konfigurasi deployer sampel LAB-SECE-DEP05-INFRASTRUCTURE.tfvars
ada di folder ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/DEPLOYER/LAB-SECE-DEP05-INFRASTRUCTURE
.
Sampel file konfigurasi Pustaka SAP LAB-SECE-SAP_LIBRARY.tfvars
ada di folder ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LIBRARY/LAB-SECE-SAP_LIBRARY
.
Atur variabel lingkungan untuk perwakilan layanan:
export ARM_SUBSCRIPTION_ID="<subscriptionId>" export ARM_CLIENT_ID="<appId>" export ARM_CLIENT_SECRET="<password>" export ARM_TENANT_ID="<tenantId>"
Jika Anda menjalankan skrip dari stasiun kerja yang bukan bagian dari jaringan penyebaran atau dari Cloud Shell, Anda dapat menggunakan perintah berikut untuk mengatur variabel lingkungan untuk mengizinkan konektivitas dari alamat IP Anda:
export TF_VAR_Agent_IP=<your-public-ip-address>
Jika Anda menyebarkan aplikasi web konfigurasi, Anda juga perlu mengatur variabel lingkungan berikut:
export TF_VAR_app_registration_app_id=<appRegistrationId> export TF_VAR_webapp_client_secret=<appRegistrationPassword> export TF_use_webapp=true
Buat penyebar dan Pustaka SAP dan tambahkan detail perwakilan layanan ke brankas kunci penyebaran dengan menggunakan skrip ini:
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}"
Jika Anda mengalami masalah autentikasi, jalankan
az logout
untuk keluar dan hapustoken-cache
. Kemudian jalankanaz login
untuk mengotoris ulang.Tunggu hingga kerangka kerja otomatisasi menjalankan operasi
plan
Terraform danapply
.Penyebaran penyebar mungkin berjalan selama sekitar 15 hingga 20 menit.
Anda perlu mencatat beberapa nilai untuk langkah-langkah mendatang. Cari blok teks ini dalam output:
######################################################################################### # # # 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 # # # #########################################################################################
Buka portal Microsoft Azure.
Pilih Grup sumber daya. Cari grup sumber daya baru untuk infrastruktur dan pustaka deployer. Misalnya, Anda mungkin melihat
LAB-[region]-DEP05-INFRASTRUCTURE
danLAB-[region]-SAP_LIBRARY
.Konten penyebar dan grup sumber daya Pustaka SAP ditampilkan di sini.
File status Terraform sekarang ditempatkan di akun penyimpanan yang namanya berisi
tfstate
. Akun penyimpanan memiliki kontainer bernamatfstate
dengan file status penyebar dan pustaka. Kontentfstate
kontainer setelah penyebaran sarana kontrol berhasil ditampilkan di sini.
Masalah umum dan solusi
Berikut adalah beberapa tips pemecahan masalah:
Jika Anda mendapatkan kesalahan berikut untuk pembuatan modul penyebar, pastikan Anda berada di
WORKSPACES
direktori saat menjalankan skrip:Incorrect parameter file. The file must contain the environment attribute!!
Kesalahan berikut bersifat sementara. Jalankan kembali perintah yang sama,
deploy_controlplane.sh
.Error: file provisioner error .. timeout - last error: dial tcp
Jika Anda memiliki masalah autentikasi langsung setelah menjalankan skrip
deploy_controlplane.sh
, jalankan perintah ini:az logout az login
Koneksi ke VM penyebar
Setelah sarana kontrol disebarkan, status Terraform disimpan dengan menggunakan back-end azurerm
jarak jauh . Semua rahasia untuk terhubung ke mesin virtual deployer tersedia di brankas kunci di grup sumber daya deployer.
Untuk menyambungkan ke VM penyebar Anda:
Masuk ke portal Azure.
Pilih atau cari Brankas kunci.
Pada halaman Brankas kunci, temukan brankas kunci penyebar. Nama dimulai dengan
LAB[REGION]DEP05user
. Filter menurut Grup sumber daya atau Lokasi, jika perlu.Pada bagian Pengaturan di panel kiri, pilih Rahasia.
Temukan dan pilih rahasia yang berisi sshkey. Mungkin terlihat seperti
LAB-[REGION]-DEP05-sshkey
.Di halaman rahasia, pilih versi saat ini. Kemudian, salin nilai rahasia.
Buka editor teks biasa. Salin di nilai rahasia.
Simpan file tempat Anda menyimpan kunci SSH. Misalnya, gunakan
C:\\Users\\<your-username>\\.ssh
.Simpan file. Jika Anda diminta untuk Menyimpan sebagai jenis, pilih Semua file jika SSH bukan pilihan. Misalnya, gunakan
deployer.ssh
.Koneksi ke VM penyebar melalui klien SSH apa pun, seperti Visual Studio Code. Gunakan alamat IP publik yang Anda catat sebelumnya dan kunci SSH yang Anda unduh. Untuk petunjuk tentang cara menyambungkan ke penyebar dengan menggunakan Visual Studio Code, lihat Koneksi ke penyebar dengan menggunakan Visual Studio Code. Jika Anda menggunakan PuTTY, konversikan file kunci SSH terlebih dahulu dengan menggunakan PuTTYGen.
Catatan
Nama pengguna default adalah azureadm.
Pastikan bahwa file yang Anda gunakan untuk menyimpan kunci SSH dapat menyimpan file dengan menggunakan format yang benar, yaitu, tanpa karakter carriage return (CR). Gunakan Visual Studio Code atau Notepad++.
Setelah terhubung ke VM penyebar, Anda dapat mengunduh perangkat lunak SAP dengan menggunakan Bill of Materials (BOM).
Koneksi ke VM penyebar saat Anda tidak menggunakan IP publik
Untuk penyebaran tanpa konektivitas IP publik, konektivitas langsung melalui internet tidak diizinkan. Dalam kasus ini, Anda dapat menggunakan jump box Azure Bastion atau Anda dapat melakukan langkah berikutnya dari komputer yang memiliki konektivitas ke jaringan virtual Azure.
Contoh berikut menggunakan Azure Bastion.
Untuk menyambungkan ke penyebar:
Masuk ke portal Azure.
Buka grup sumber daya yang berisi VM penyebar.
Koneksi ke VM dengan menggunakan Azure Bastion.
Nama pengguna default adalah azureadm.
Pilih Kunci Privat SSH dari Azure Key Vault.
Pilih langganan yang berisi sarana kontrol.
Pilih brankas kunci penyebar.
Dari daftar rahasia, pilih rahasia yang diakhir dengan -sshkey.
Sambungkan ke VM.
Tugas lainnya harus dijalankan pada penyebar.
Mengamankan sarana kontrol
Sarana kontrol adalah bagian paling penting dari kerangka kerja otomatisasi SAP. Penting untuk mengamankan sarana kontrol. Langkah-langkah berikut membantu Anda mengamankan sarana kontrol.
Anda harus memperbarui file sarana tfvars
kontrol untuk mengaktifkan titik akhir privat dan memblokir akses publik ke akun penyimpanan dan brankas kunci.
Untuk menyalin file konfigurasi sarana kontrol ke VM penyebar, Anda dapat menggunakan
sync_deployer.sh
skrip. Masuk ke VM penyebar dan perbarui perintah berikut untuk menggunakan nama akun penyimpanan status Terraform Anda. Kemudian, jalankan skrip berikut: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
Perintah ini menyalin
tfvars
file konfigurasi dari akun penyimpanan Pustaka SAP ke VM penyebar.Ubah file konfigurasi untuk sarana kontrol menjadi:
# 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
Jalankan ulang penyebaran untuk menerapkan perubahan. Perbarui nama akun penyimpanan dan nama brankas kunci dalam skrip.
export ARM_SUBSCRIPTION_ID="<subscriptionId>" export ARM_CLIENT_ID="<appId>" export ARM_CLIENT_SECRET="<password>" export ARM_TENANT_ID="<tenantId>"
Buat penyebar dan Pustaka SAP.
export env_code="LAB" export vnet_code="DEP05" export region_code="SECE" terraform_state_storage_account=labsecetfstate### vault_name="LABSECEDEP05user###" export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation" export CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES" export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation" cd $CONFIG_REPO_PATH deployer_parameter_file="${CONFIG_REPO_PATH}/DEPLOYER/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE/${env_code}-${region_code}-${vnet_code}-INFRASTRUCTURE.tfvars" library_parameter_file="${CONFIG_REPO_PATH}/LIBRARY/${env_code}-${region_code}-SAP_LIBRARY/${env_code}-${region_code}-SAP_LIBRARY.tfvars" az logout az login --service-principal -u "${ARM_CLIENT_ID}" -p="${ARM_CLIENT_SECRET}" --tenant "${ARM_TENANT_ID}" ${SAP_AUTOMATION_REPO_PATH}/deploy/scripts/deploy_controlplane.sh \ --deployer_parameter_file "${deployer_parameter_file}" \ --library_parameter_file "${library_parameter_file}" \ --subscription "${ARM_SUBSCRIPTION_ID}" \ --storageaccountname "${terraform_state_storage_account}" \ --vault "${vault_name}"
Menyebarkan aplikasi web
Anda dapat menyebarkan aplikasi web dengan menggunakan skrip berikut:
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
Mengumpulkan informasi zona beban kerja
Kumpulkan informasi berikut di editor teks. Informasi ini dikumpulkan di akhir fase "Sebarkan sarana kontrol".
Nama akun penyimpanan file status Terraform di grup sumber daya pustaka:
- Mengikuti dari contoh sebelumnya, grup sumber daya adalah
LAB-SECE-SAP_LIBRARY
. - Nama akun penyimpanan berisi
labsecetfstate
.
- Mengikuti dari contoh sebelumnya, grup sumber daya adalah
Nama brankas kunci di grup sumber daya penyebar:
- Mengikuti dari contoh sebelumnya, grup sumber daya adalah
LAB-SECE-DEP05-INFRASTRUCTURE
. - Nama brankas kunci berisi
LABSECEDEP05user
.
- Mengikuti dari contoh sebelumnya, grup sumber daya adalah
Alamat IP publik VM penyebar. Buka grup sumber daya deployer Anda, buka mesin virtual deployer, dan salin alamat IP publik.
Anda perlu mengumpulkan informasi berikut:
- Nama file status penyebar ditemukan di bawah grup sumber daya pustaka:
- Pilih Grup>sumber daya pustaka Kontainer
tfstate
> akun>penyimpanan status. Salin nama file status penyebar. - Mengikuti dari contoh sebelumnya, nama blob adalah
LAB-SECE-DEP05-INFRASTRUCTURE.terraform.tfstate
.
- Pilih Grup>sumber daya pustaka Kontainer
- Nama file status penyebar ditemukan di bawah grup sumber daya pustaka:
Jika perlu, daftarkan perwakilan layanan. Untuk tutorial ini, langkah ini tidak diperlukan.
Pertama kali lingkungan dibuat, perwakilan layanan harus didaftarkan. Dalam tutorial ini, sarana kontrol berada di
LAB
lingkungan dan zona beban kerja juga berada diLAB
. Untuk alasan ini, perwakilan layanan harus terdaftar untukLAB
lingkungan.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}"
Menyiapkan penyebaran zona beban kerja
Sambungkan ke mesin virtual deployer Anda untuk langkah-langkah berikut. Salinan repositori sekarang ada di sana.
Menerapkan zona beban kerja
Gunakan skrip install_workloadzone untuk menyebarkan zona beban kerja SAP.
Pada VM penyebar, buka
Azure_SAP_Automated_Deployment
folder .cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/LAB-SECE-SAP04-INFRASTRUCTURE
Secara opsional, buka file konfigurasi zona beban kerja dan, jika diperlukan, ubah nama logis jaringan agar sesuai dengan nama jaringan.
Mulai penyebaran zona beban kerja. Detail yang Anda kumpulkan sebelumnya diperlukan di sini:
- Nama file penyebar
tfstate
(ditemukan dalamtfstate
kontainer) tfstate
Nama akun penyimpanan- Nama brankas kunci deployer
- Nama file penyebar
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}"
Penyebaran zona beban kerja harus dimulai secara otomatis.
Tunggu hingga penyebaran selesai. Grup sumber daya baru muncul di portal Microsoft Azure.
Persiapan untuk menyebarkan infrastruktur sistem SAP
Sambungkan ke mesin virtual deployer Anda untuk langkah-langkah berikut. Salinan repositori sekarang ada di sana.
Masuk ke WORKSPACES/SYSTEM
folder dan salin file konfigurasi sampel untuk digunakan dari repositori.
Menyebarkan infrastruktur sistem SAP
Setelah zona beban kerja selesai, Anda dapat menyebarkan sumber daya infrastruktur sistem SAP. Sistem SAP membuat mesin virtual dan komponen pendukung untuk aplikasi SAP Anda. Gunakan skrip installer.sh untuk menyebarkan sistem SAP.
Sistem SAP menyebarkan:
- Tingkat database, yang menyebarkan VM database dan disknya serta instans Azure Standard Load Balancer. Anda dapat menjalankan database HANA atau database AnyDB di tingkat ini.
- Tingkat SCS, yang menyebarkan jumlah VM yang ditentukan pelanggan dan instans Azure Standard Load Balancer.
- Tingkat aplikasi, yang menyebarkan mesin virtual dan disknya.
- Tingkat Web Dispatcher.
Sebarkan sistem SAP.
export sap_env_code="LAB"
export region_code="SECE"
export vnet_code="SAP04"
export SID="L00"
export CONFIG_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES"
export SAP_AUTOMATION_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
cd ${CONFIG_REPO_PATH}/SYSTEM/${sap_env_code}-${region_code}-${vnet_code}-${SID}
${DEPLOYMENT_REPO_PATH}/deploy/scripts/installer.sh \
--parameterfile "${sap_env_code}-${region_code}-${vnet_code}-${SID}.tfvars" \
--type sap_system
Periksa apakah grup sumber daya sistem sekarang ada di portal Azure.
Mendapatkan perangkat lunak SAP dengan menggunakan Tagihan Bahan
Kerangka kerja otomatisasi memberi Anda alat untuk mengunduh perangkat lunak dari SAP dengan menggunakan SAP BOM. Perangkat lunak diunduh ke Pustaka SAP, yang bertindak sebagai arsip untuk semua media yang diperlukan untuk menyebarkan SAP.
SAP BOM meniluki perencana pemeliharaan SAP. Ada pengidentifikasi produk yang relevan dan sekumpulan URL unduhan.
Ekstrak sampel file BOM terlihat seperti contoh ini:
---
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"
Untuk konfigurasi contoh ini, grup sumber dayanya adalah LAB-SECE-DEP05-INFRASTRUCTURE
. Nama brankas kunci penyebar berisi LABSECEDEP05user
dalam nama. Anda menggunakan informasi ini untuk mengonfigurasi rahasia brankas kunci deployer Anda.
Sambungkan ke mesin virtual deployer Anda untuk langkah-langkah berikut. Salinan repositori sekarang ada di sana.
Tambahkan rahasia dengan nama pengguna untuk akun pengguna SAP Anda. Ganti
<vaultName>
dengan nama brankas kunci deployer Anda. Ganti juga<sap-username>
dengan nama pengguna SAP Anda.export key_vault=<vaultName> sap_username=<sap-username> az keyvault secret set --name "S-Username" --vault-name $key_vault --value "${sap_username}";
Tambahkan rahasia dengan kata sandi untuk akun pengguna SAP Anda. Ganti
<vaultName>
dengan nama brankas kunci penyebar Anda dan ganti<sap-password>
dengan kata sandi SAP Anda.Catatan
Penggunaan tanda kutip tunggal saat Anda mengatur
sap_user_password
penting. Penggunaan karakter khusus dalam kata sandi dapat menyebabkan hasil yang tidak dapat diprediksi.sap_user_password='<sap-password>' az keyvault secret set --name "S-Password" --vault-name "${key_vault}" --value="${sap_user_password}";
Konfigurasikan file parameter SAP Anda untuk proses pengunduhan. Kemudian, unduh perangkat lunak SAP dengan menggunakan playbook Ansible. Jalankan perintah berikut:
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES mkdir BOMS cd BOMS vi sap-parameters.yaml
bom_base_name
Perbarui dengan nama BOM. Ganti<Deployer KeyVault Name>
dengan nama brankas kunci Azure untuk grup sumber daya penyebar.File Anda akan terlihat seperti contoh konfigurasi berikut:
bom_base_name: S42022SPS00_v0001ms deployer_kv_name: <vaultName> BOM_directory: ${HOME}/Azure_SAP_Automated_Deployment/samples/SAP
Jalankan playbook Ansible untuk mengunduh perangkat lunak. Salah satu cara Anda dapat menjalankan playbook adalah dengan menggunakan menu Pengunduh . Jalankan
download_menu
skrip.${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/download_menu.sh
Pilih playbook mana yang akan dijalankan.
1) BoM Downloader 3) Quit Please select playbook:
Pilih playbook
1) BoM Downloader
untuk mengunduh perangkat lunak SAP yang dijelaskan dalam file BOM ke akun penyimpanan. Periksa apakah kontainersapbits
berisi semua media Anda untuk penginstalan.Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau langsung dari baris perintah.
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
Jika mau, Anda juga dapat meneruskan kredensial Pengguna SAP sebagai parameter.
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
Penginstalan aplikasi SAP
Penginstalan aplikasi SAP terjadi melalui playbook Ansible.
Buka folder penyebaran sistem.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
Pastikan Anda memiliki file berikut di folder saat ini: sap-parameters.yaml
dan L00_host.yaml
.
Untuk sistem SAP S/4HANA mandiri, ada delapan playbook yang akan dijalankan secara berurutan. Salah satu cara Anda dapat menjalankan playbook adalah dengan menggunakan menu konfigurasi.
Jalankan configuration_menu
skrip.
${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/configuration_menu.sh
Pilih playbook yang akan dijalankan.
Playbook: Konfigurasi sistem operasi dasar
Playbook ini melakukan pengaturan konfigurasi sistem operasi generik pada semua mesin, yang mencakup konfigurasi repositori perangkat lunak, paket, dan layanan.
Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau baris perintah.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to perform the Operating System configuration
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_01_os_base_config.yaml
Playbook: Konfigurasi sistem operasi khusus SAP
Playbook ini melakukan penyiapan konfigurasi sistem operasi SAP pada semua komputer. Langkah-langkahnya termasuk pembuatan grup volume dan sistem file dan konfigurasi repositori perangkat lunak, paket, dan layanan.
Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau baris perintah.
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: Pemrosesan BOM
Playbook ini mengunduh perangkat lunak SAP ke SCS VM.
Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau baris perintah.
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: Penginstalan SCS
Playbook ini menginstal Layanan Pusat SAP. Untuk konfigurasi yang sangat tersedia, playbook juga menginstal instans SAP ERS dan mengonfigurasi Pacemaker.
Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau baris perintah.
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: Penginstalan instans database
Playbook ini menginstal instans database.
Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau baris perintah.
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: Pemuatan database
Playbook ini memanggil tugas pemuatan database dari server aplikasi utama.
Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau baris perintah.
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: Penyiapan ketersediaan tinggi database
Playbook ini mengonfigurasi ketersediaan tinggi database. Untuk HANA, ini memerlukan replikasi sistem HANA dan Pacemaker untuk database HANA.
Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau baris perintah.
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: Penginstalan server aplikasi utama
Playbook ini menginstal server aplikasi utama. Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau baris perintah.
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: Penginstalan server aplikasi
Playbook ini menginstal server aplikasi. Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau baris perintah.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_02_sap_app_install.yaml
Playbook: Penginstalan Web Dispatcher
Playbook ini menginstal Web Dispatchers. Anda dapat menjalankan playbook dengan menggunakan menu konfigurasi atau baris perintah.
Anda sekarang telah menyebarkan dan mengonfigurasi sistem HANA mandiri. Jika Anda perlu mengonfigurasi database SAP Hana dengan ketersediaan tinggi (HA), jalankan playbook HANA HA.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_04_sap_web_install.yaml
Membersihkan penginstalan
Penting untuk membersihkan instalasi SAP Anda dari tutorial ini setelah Anda selesai. Jika tidak, Anda akan terus membayar biaya terkait dengan sumber daya.
Untuk menghapus seluruh infrastruktur SAP yang disebarkan, Anda harus:
- Hapus sumber daya infrastruktur sistem SAP.
- Hapus semua zona beban kerja (lanskap).
- Lepaskan sarana kontrol.
Jalankan penghapusan sumber daya infrastruktur SAP dan zona beban kerja Anda dari VM penyebar. Jalankan penghapusan sarana kontrol dari Cloud Shell.
Sebelum memulai, masuk ke akun Azure Anda. Kemudian, periksa apakah Anda berada dalam langganan yang benar.
Menghapus infrastruktur SAP
LAB-SECE-SAP01-L00
Buka subfolder di SYSTEM
dalam folder. Kemudian, jalankan perintah ini:
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
Menghapus zona beban kerja SAP
LAB-XXXX-SAP01-INFRASTRUCTURE
Buka subfolder di LANDSCAPE
dalam folder. Kemudian, jalankan perintah berikut:
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
Menghapus sarana kontrol
Masuk ke Cloud Shell.
Buka folder WORKSPACES
.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/
Ekspor dua variabel lingkungan berikut:
export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
export ARM_SUBSCRIPTION_ID="<subscriptionId>"
Jalankan perintah berikut:
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
Verifikasi bahwa semua sumber daya dihapus.