Bagikan melalui


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:

  1. Siapkan wilayah. Anda menyebarkan komponen untuk mendukung kerangka kerja otomatisasi SAP di wilayah Azure tertentu. Dalam langkah ini, Anda:

    1. Buat lingkungan penyebaran.
    2. Buat penyimpanan bersama untuk file status Terraform.
    3. Buat penyimpanan bersama untuk media penginstalan SAP.
  2. Siapkan zona beban kerja. Anda menyebarkan komponen zona beban kerja, seperti jaringan virtual dan brankas kunci.

  3. 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.

Diagram that shows the DevOps tutorial infrastructure design.

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.

Diagram that shows the SAP Deployment Automation Framework environment.

Zona manajemen

Zona manajemen berisi infrastruktur sarana kontrol tempat asal lingkungan lain disebarkan. Setelah zona manajemen disebarkan, Anda jarang, jika pernah, perlu menyebarkan ulang.

Diagram that shows the control plane.

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.

Diagram that shows the workload zone.

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

  1. Buka Azure Cloud Shell.

  2. Masuk menggunakan akun Azure Anda.

    az login
    

    Autentikasi rincian masuk Anda. Jangan tutup jendela sampai Anda diminta.

  3. 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
    
  4. 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
    
  5. 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
    
  6. 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
    
    
  7. 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:

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.

  1. 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>"
    }
    
  2. Salin detail output. Pastikan untuk menyimpan nilai untuk appId, , passworddan Tenant.

    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
  3. 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.

Screenshot that shows the web app front page.

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

  1. Buka Visual Studio Code dari Cloud Shell.

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES
    code .
    
  2. WORKSPACES Perluas direktori. Ada enam subfolder: CONFIGURATION, , DEPLOYER, LANDSCAPELIBRARY, SYSTEM, dan BOMS. Perluas masing-masing folder ini untuk menemukan file konfigurasi penyebaran regional.

  3. 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.

  4. 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 SECEempat 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.

  1. 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
    
  2. 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 hapus token-cache. Kemudian jalankan az login untuk mengotoris ulang.

    Tunggu hingga kerangka kerja otomatisasi menjalankan operasi plan Terraform dan apply.

    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                       #
    #                                                                                       #
    #########################################################################################
    
  3. 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 dan LAB-[region]-SAP_LIBRARY.

    Konten penyebar dan grup sumber daya Pustaka SAP ditampilkan di sini.

    Screenshot that shows deployer resources.

    Screenshot that shows library resources.

    File status Terraform sekarang ditempatkan di akun penyimpanan yang namanya berisi tfstate. Akun penyimpanan memiliki kontainer bernama tfstate dengan file status penyebar dan pustaka. Konten tfstate kontainer setelah penyebaran sarana kontrol berhasil ditampilkan di sini.

    Screenshot that shows the control plane Terraform state files.

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 azurermjarak jauh . Semua rahasia untuk terhubung ke mesin virtual deployer tersedia di brankas kunci di grup sumber daya deployer.

Untuk menyambungkan ke VM penyebar Anda:

  1. Masuk ke portal Azure.

  2. Pilih atau cari Brankas kunci.

  3. Pada halaman Brankas kunci, temukan brankas kunci penyebar. Nama dimulai dengan LAB[REGION]DEP05user. Filter menurut Grup sumber daya atau Lokasi, jika perlu.

  4. Pada bagian Pengaturan di panel kiri, pilih Rahasia.

  5. Temukan dan pilih rahasia yang berisi sshkey. Mungkin terlihat seperti LAB-[REGION]-DEP05-sshkey.

  6. Di halaman rahasia, pilih versi saat ini. Kemudian, salin nilai rahasia.

  7. Buka editor teks biasa. Salin di nilai rahasia.

  8. Simpan file tempat Anda menyimpan kunci SSH. Misalnya, gunakan C:\\Users\\<your-username>\\.ssh.

  9. Simpan file. Jika Anda diminta untuk Menyimpan sebagai jenis, pilih Semua file jika SSH bukan pilihan. Misalnya, gunakan deployer.ssh.

  10. 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:

  1. Masuk ke portal Azure.

  2. Buka grup sumber daya yang berisi VM penyebar.

  3. Koneksi ke VM dengan menggunakan Azure Bastion.

  4. Nama pengguna default adalah azureadm.

  5. Pilih Kunci Privat SSH dari Azure Key Vault.

  6. Pilih langganan yang berisi sarana kontrol.

  7. Pilih brankas kunci penyebar.

  8. Dari daftar rahasia, pilih rahasia yang diakhir dengan -sshkey.

  9. 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.

  1. 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.

  2. 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 
    
    
  3. 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>"
    
    
  4. 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

  1. Kumpulkan informasi berikut di editor teks. Informasi ini dikumpulkan di akhir fase "Sebarkan sarana kontrol".

    1. 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.
    2. 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.
    3. Alamat IP publik VM penyebar. Buka grup sumber daya deployer Anda, buka mesin virtual deployer, dan salin alamat IP publik.

  2. Anda perlu mengumpulkan informasi berikut:

    1. Nama file status penyebar ditemukan di bawah grup sumber daya pustaka:
      • Pilih Grup>sumber daya pustaka Kontainertfstate> akun>penyimpanan status. Salin nama file status penyebar.
      • Mengikuti dari contoh sebelumnya, nama blob adalah LAB-SECE-DEP05-INFRASTRUCTURE.terraform.tfstate.
  3. 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 di LAB. Untuk alasan ini, perwakilan layanan harus terdaftar untuk LAB 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.

  1. Pada VM penyebar, buka Azure_SAP_Automated_Deployment folder .

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/LAB-SECE-SAP04-INFRASTRUCTURE
    
  2. Secara opsional, buka file konfigurasi zona beban kerja dan, jika diperlukan, ubah nama logis jaringan agar sesuai dengan nama jaringan.

  3. Mulai penyebaran zona beban kerja. Detail yang Anda kumpulkan sebelumnya diperlukan di sini:

    • Nama file penyebar tfstate (ditemukan dalam tfstate kontainer)
    • tfstate Nama akun penyimpanan
    • Nama brankas kunci deployer

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.

  1. Sambungkan ke mesin virtual deployer Anda untuk langkah-langkah berikut. Salinan repositori sekarang ada di sana.

  2. 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}";
    
  3. 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}";
    
  4. 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
    
  5. 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
    
    
  6. 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
    
  7. 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 kontainer sapbits 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

Diagram that shows the SAP Deployment Automation Ansible configuration menu.

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.

Langkah selanjutnya