Руководство. Развертывание платформы автоматизации развертывания SAP для корпоративного масштаба

В этом руководстве показано, как выполнять развертывания с помощью SAP Deployment Automation Framework. В этом примере используется Azure Cloud Shell для развертывания инфраструктуры уровня управления. Виртуальная машина средства развертывания создает оставшуюся конфигурацию инфраструктуры и SAP HANA.

Вот какие шаги выполняются в этом руководстве:

  • Разверните плоскость управления (инфраструктура и библиотека развертывания).
  • Развертывание зоны рабочей нагрузки (альбомная и система).
  • Скачивание и отправка счетов за материалы.
  • Настройка стандартных и параметров операционной системы, относящихся к SAP.
  • Установите базу данных HANA.
  • Установите сервер SAP Central Services (SCS).
  • Загрузите базу данных HANA.
  • Установите основной сервер приложений.

Существует три основных этапа развертывания SAP в Azure с помощью платформы автоматизации:

  1. Подготовьте регион. Вы развертываете компоненты для поддержки платформы автоматизации SAP в указанном регионе Azure. На этом шаге вы:

    1. Создайте среду развертывания.
    2. Создайте общее хранилище для файлов состояния Terraform.
    3. Создайте общее хранилище для установочного носителя SAP.
  2. Подготовьте зону рабочей нагрузки. Вы развертываете компоненты зоны рабочей нагрузки, такие как виртуальная сеть и хранилища ключей.

  3. Разверните систему. Вы развертываете инфраструктуру для системы SAP.

Автоматизация развертывания включает несколько рабочих процессов. В этом руководстве основное внимание уделяется одному рабочему процессу для упрощения развертывания. Этот рабочий процесс можно развернуть в автономной среде SAP S4 HANA с помощью Bash. В этом руководстве описаны общие иерархии и различные этапы развертывания.

Обзор среды

Sap Deployment Automation Framework состоит из двух основных компонентов:

  • Инфраструктура развертывания (уровень управления).
  • Инфраструктура SAP (рабочая нагрузка SAP)

На следующей схеме показана зависимость между уровнем управления и уровнем приложения.

Diagram that shows the DevOps tutorial infrastructure design.

Платформа использует Terraform для развертывания инфраструктуры и Ansible для конфигурации операционной системы и приложения. На следующей схеме показано логическое разделение уровня управления и зоны рабочей нагрузки.

Diagram that shows the SAP Deployment Automation Framework environment.

Зона управления

Зона управления содержит инфраструктуру уровня управления, из которой развертываются другие среды. После развертывания зоны управления редко необходимо повторно развернуть.

Diagram that shows the control plane.

Средство развертывания — это подсистема выполнения платформы автоматизации SAP. Эта предварительно настроенная виртуальная машина используется для выполнения команд Terraform и Ansible.

Библиотека SAP предоставляет постоянное хранилище для файлов состояния Terraform и скачанного установочного носителя SAP для уровня управления.

Вы настраиваете средство развертывания и библиотеку в файле переменной Terraform .tfvars . Дополнительные сведения см. в разделе "Настройка плоскости управления".

Зона рабочей нагрузки

Как правило, приложение SAP имеет несколько уровней развертывания. Например, у вас могут быть уровни разработки, контроля качества и производства. SAP Deployment Automation Framework вызывает эти зоны рабочих нагрузок уровня.

Diagram that shows the workload zone.

Зона рабочей нагрузки SAP содержит сетевые и общие компоненты для виртуальных машин SAP. Эти компоненты включают таблицы маршрутов, группы безопасности сети и виртуальные сети. Ландшафт предоставляет возможность разделить развертывания на разные среды. Дополнительные сведения см. в разделе "Настройка зоны рабочей нагрузки".

Развертывание системы состоит из виртуальных машин для запуска приложения SAP, включая уровни веб-приложений, приложений и баз данных. Дополнительные сведения см. в разделе "Настройка системы SAP".

Необходимые компоненты

Репозиторий SAP Deployment Automation Framework доступен на сайте GitHub.

Вам нужно развернуть Бастион Azure или использовать клиент Secure Shell (SSH) для подключения к развертыванию. Используйте любой клиент SSH.

Проверка квоты подписки Azure

Убедитесь, что у вашей подписки Azure достаточно основной цитаты для номеров SKU семейства DdSV4 и EdsV4 в выбранном регионе. Около 50 ядер, доступных для каждой семьи виртуальных машин, должны быть достаточно.

Учетная запись S-User для загрузки программного обеспечения SAP

Для загрузки программного обеспечения SAP требуется действительная учетная запись пользователя SAP (учетная запись SAP-User или S-User) с правами на скачивание программного обеспечения.

Настройка Cloud Shell

  1. Откройте Azure Cloud Shell.

  2. Войдите в свою учетную запись Azure.

    az login
    

    Проверка подлинности входа. Не закрывайте окно, пока не появится запрос.

  3. Проверьте активную подписку и запишите идентификатор подписки:

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

    Или сделайте так:

    az account list --output=table | grep True
    
  4. При необходимости измените активную подписку.

    az account set --subscription <Subscription ID>
    

    Убедитесь, что активная подписка изменилась.

    az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=table
    
  5. При необходимости удалите все артефакты развертывания. Используйте эту команду, чтобы удалить все остатки предыдущих артефактов развертывания.

    
    cd ~
    
    rm -rf Azure_SAP_Automated_Deployment .sap_deployment_automation .terraform.d
    
  6. Создайте папку развертывания и клонируйте репозиторий.

    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. При необходимости проверьте версии Terraform и Azure CLI, доступные в экземпляре Cloud Shell.

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

    Чтобы запустить платформу автоматизации, обновите следующие версии:

Создание субъекта-службы

Платформа автоматизации развертывания SAP использует субъекты-службы для развертывания. Создайте субъект-службу для развертывания уровня управления. Обязательно используйте учетную запись с разрешениями на создание субъектов-служб.

При выборе имени субъекта-службы убедитесь, что имя уникально в клиенте Azure.

  1. Предоставьте участнику-службе разрешения участника-службы и доступа пользователей Администратор istrator.

    export    ARM_SUBSCRIPTION_ID="<subscriptionId>"
    export control_plane_env_code="LAB"
    
    az ad sp create-for-rbac --role="Contributor"           \
      --scopes="/subscriptions/${ARM_SUBSCRIPTION_ID}"      \
      --name="${control_plane_env_code}-Deployment-Account"
    

    Просмотрите выходные данные. Например:

    {
        "appId": "<AppId>",
        "displayName": "<environment>-Deployment-Account ",
        "name": "<AppId>",
        "password": "<AppSecret>",
        "tenant": "<TenantId>"
    }
    
  2. Скопируйте выходные данные. Обязательно сохраните значения для appId, passwordи Tenant.

    Выходные данные сопоставляются со следующими параметрами. Эти параметры используются в последующих шагах с командами автоматизации.

    Имя входных данных параметра Имя вывода
    spn_id appId
    spn_secret password
    tenant_id tenant
  3. При необходимости назначьте роль пользователя Администратор istrator субъекту-службе.

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

Внимание

Если роль пользователя Администратор istrator не назначена субъекту-службе, вы не можете назначить разрешения с помощью автоматизации.

Настройка учетных данных веб-приложения уровня управления

В рамках уровня управления платформой автоматизации SAP можно создать интерактивное веб-приложение, которое помогает создавать необходимые файлы конфигурации.

Screenshot that shows the web app front page.

Создание регистрации приложения

Если вы хотите использовать веб-приложение, необходимо сначала создать регистрацию приложения для проверки подлинности. Откройте Cloud Shell и выполните следующие команды:

При необходимости замените LAB вашей средой.

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

Примечание.

Убедитесь, что вы вошли в систему с помощью учетной записи пользователя с необходимыми разрешениями для создания регистраций приложений. Дополнительные сведения о регистрации приложений см. в разделе "Создание регистрации приложения".

Скопируйте выходные данные. Не забудьте сохранить значения для App registration ID и App registration password.

Выходные данные сопоставляются со следующими параметрами. Эти параметры используются в последующих шагах с командами автоматизации.

Имя входных данных параметра Имя вывода
app_registration_app_id App registration ID
webapp_client_secret App registration password

Просмотр файлов конфигурации

  1. Откройте Visual Studio Code из Cloud Shell.

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES
    code .
    
  2. WORKSPACES Разверните каталог. Существует шесть вложенных папок: CONFIGURATION, DEPLOYER, LANDSCAPE, LIBRARY, SYSTEMи BOMS. Разверните каждую из этих папок, чтобы найти региональные файлы конфигурации развертывания.

  3. Найдите файлы переменных Terraform в соответствующей вложенной папке. Например, файл переменной DEPLOYER Terraform может выглядеть следующим образом:

    # 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
    
    

    Запомните расположения файлов переменных Terraform, чтобы вносить изменения во время развертывания.

  4. Найдите файлы переменных Terraform для библиотеки SAP в соответствующей вложенной папке. Например, файл переменной LIBRARY Terraform может выглядеть следующим образом:

    # 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
    

    Запомните расположения файлов переменных Terraform, чтобы вносить изменения во время развертывания.

Внимание

Убедитесь, что dns_label экземпляр Azure Частная зона DNS соответствует.

Развертывание уровня управления

Используйте скрипт deploy_controlplane.sh для развертывания средства развертывания и библиотеки. Эти компоненты развертывания составляют уровень управления для выбранной области автоматизации.

Развертывание проходит циклы развертывания инфраструктуры, обновления состояния и отправки файлов состояния Terraform в учетную запись хранения библиотеки. Все эти действия упаковываются в один скрипт развертывания. Скрипту требуется расположение файла конфигурации для развертывающего и библиотеки, а также для некоторых других параметров.

Например, выберите Западную Европу в качестве расположения развертывания с четырехзначным именем SECE, как описано ранее. Пример файла конфигурации средства развертывания LAB-SECE-DEP05-INFRASTRUCTURE.tfvars находится в папке ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/DEPLOYER/LAB-SECE-DEP05-INFRASTRUCTURE.

Пример файла конфигурации библиотеки SAP LAB-SECE-SAP_LIBRARY.tfvars находится в папке ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LIBRARY/LAB-SECE-SAP_LIBRARY.

  1. Задайте переменные среды для субъекта-службы:

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

    Если вы запускаете скрипт с рабочей станции, которая не входит в сеть развертывания или из Cloud Shell, можно использовать следующую команду, чтобы задать переменную среды для разрешения подключения с IP-адреса:

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

    Если вы развертываете веб-приложение конфигурации, необходимо также задать следующие переменные среды:

    
    export TF_VAR_app_registration_app_id=<appRegistrationId>
    export    TF_VAR_webapp_client_secret=<appRegistrationPassword>
    export                  TF_use_webapp=true
    
  2. Создайте развертывание и библиотеку SAP и добавьте сведения субъекта-службы в хранилище ключей развертывания с помощью этого скрипта:

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

    При возникновении проблем с проверкой подлинности выполните az logout выход и снимите флажок token-cache. Затем выполните повторную az login проверку подлинности.

    Дождитесь выполнения операций planapplyTerraform и платформы автоматизации.

    Развертывание средства развертывания может выполняться примерно на 15–20 минут.

    Необходимо заметить некоторые значения для предстоящих шагов. Найдите этот текстовый блок в выходных данных:

    #########################################################################################
    #                                                                                       #
    #  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. Переход на портал Azure.

    Выберите элемент Группы ресурсов. Найдите новые группы ресурсов для библиотеки и инфраструктуры средства развертывания. Например, вы можете увидеть LAB-[region]-DEP05-INFRASTRUCTURE и LAB-[region]-SAP_LIBRARY.

    Здесь показаны содержимое группы ресурсов развертывания и библиотеки SAP.

    Screenshot that shows deployer resources.

    Screenshot that shows library resources.

    Файл состояния Terraform теперь помещается в учетную запись хранения, имя которой содержится tfstate. У учетной записи хранения есть контейнер tfstate с файлами состояния развертывания и библиотеки. Содержимое контейнера после успешного tfstate развертывания плоскости управления отображается здесь.

    Screenshot that shows the control plane Terraform state files.

Распространенные проблемы и решения

Ниже приведены некоторые советы по устранению неполадок:

  • Если вы получите следующую ошибку для создания модуля развертывания, убедитесь, что вы находитесь в каталоге WORKSPACES при запуске скрипта:

    Incorrect parameter file.
    The file must contain the environment attribute!!
    
  • Следующая ошибка является временной. Повторно выполните ту же команду deploy_controlplane.sh.

    Error: file provisioner error
    ..
    timeout - last error: dial tcp
    
  • Если у вас возникли проблемы с проверкой подлинности непосредственно после запуска скрипта deploy_controlplane.sh, выполните следующую команду:

    az logout
    
    az login
    

Подключение на виртуальную машину развертывания

После развертывания плоскости управления состояние Terraform сохраняется с помощью удаленной серверной части azurerm. Все секреты для подключения к виртуальной машине средства развертывания доступны в хранилище ключей в группе ресурсов этого средства.

Чтобы подключиться к виртуальной машине средства развертывания, выполните приведенные действия.

  1. Войдите на портал Azure.

  2. Выберите или найдите хранилища ключей.

  3. На странице Хранилище ключей найдите хранилище ключей средства развертывания. Имя начинается с LAB[REGION]DEP05user. При необходимости фильтруйте по группе ресурсов или расположению.

  4. В разделе Параметры в левой области выберите "Секреты".

  5. Найдите и выберите секрет, содержащий sshkey. Это может выглядеть так LAB-[REGION]-DEP05-sshkey.

  6. На странице секрета выберите текущую версию. Затем скопируйте значение секрета.

  7. Откройте редактор обычного текста. Скопируйте значение секрета.

  8. Сохраните файл, в котором хранятся ключи SSH. Например, укажите C:\\Users\\<your-username>\\.ssh.

  9. Сохраните файл. Если будет предложено Сохранить как тип, выберите Все файлы, если нет варианта SSH. Например, укажите deployer.ssh.

  10. Подключение на виртуальную машину развертывания через любой клиент SSH, например Visual Studio Code. Используйте общедоступный IP-адрес, который вы указали ранее, и скачанный ключ SSH. Инструкции по подключению к средству развертывания с помощью Visual Studio Code см. в Подключение в средстве развертывания с помощью Visual Studio Code. Если вы используете PuTTY, сначала преобразуйте файл ключа SSH с помощью PuTTYGen.

Примечание.

Имя пользователя по умолчанию — azureadm.

Убедитесь, что файл, используемый для сохранения ключа SSH, может сохранить файл с помощью правильного формата, то есть без символов возврата каретки (CR). Используйте Visual Studio Code или Блокнот++.

После подключения к виртуальной машине развертывания можно скачать программное обеспечение SAP с помощью счета за материалы (BOM).

Подключение на виртуальную машину развертывания, если вы не используете общедоступный IP-адрес

Для развертываний без подключения к общедоступным IP-адресам прямое подключение через Интернет запрещено. В таких случаях можно использовать поле перехода бастиона Azure или выполнить следующий шаг с компьютера с подключением к виртуальной сети Azure.

В следующем примере используется Бастион Azure.

Чтобы подключиться к развертыванию, выполните следующие действия.

  1. Войдите на портал Azure.

  2. Перейдите в группу ресурсов, содержащую виртуальную машину развертывания.

  3. Подключение на виртуальную машину с помощью Бастиона Azure.

  4. Имя пользователя по умолчанию — azureadm.

  5. Выберите закрытый ключ SSH из Azure Key Vault.

  6. Выберите подписку, содержащую плоскость управления.

  7. Выберите хранилище ключей средства развертывания.

  8. В списке секретов выберите секрет, который заканчивается - sshkey.

  9. Подключитесь к виртуальной машине.

Остальные задачи должны выполняться в средстве развертывания.

Защита плоскости управления

Уровень управления является наиболее важной частью платформы автоматизации SAP. Важно обеспечить безопасность плоскости управления. Следующие действия помогут защитить плоскость управления.

Необходимо обновить файл плоскости tfvars управления, чтобы включить частные конечные точки и заблокировать общедоступный доступ к учетным записям хранения и хранилищам ключей.

  1. Чтобы скопировать файлы конфигурации уровня управления на виртуальную машину развертывающего средства, можно использовать sync_deployer.sh сценарий. Войдите на виртуальную машину развертывания и обновите следующую команду, чтобы использовать имя учетной записи хранения состояния Terraform. Затем выполните следующий сценарий:

    
    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
    
    
    

    Эта команда копирует tfvars файлы конфигурации из учетной записи хранения библиотеки SAP на виртуальную машину развертывающего средства.

  2. Измените файлы конфигурации для плоскости управления следующими способами:

    
        # 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. Повторно запустите развертывание, чтобы применить изменения. Обновите имя учетной записи хранения и имя хранилища ключей в скрипте.

    
    export ARM_SUBSCRIPTION_ID="<subscriptionId>"
    export       ARM_CLIENT_ID="<appId>"
    export   ARM_CLIENT_SECRET="<password>"
    export       ARM_TENANT_ID="<tenantId>"
    
    
  4. Создайте средство развертывания и библиотеку 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}"
    

Развертывание веб-приложения

Веб-приложение можно развернуть с помощью следующего сценария:

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 

Получение сведений о зоне рабочей нагрузки

  1. Соберите следующие сведения в текстовом редакторе. Эти сведения были собраны в конце этапа развертывания плоскости управления.

    1. Имя учетной записи хранения файлов состояния Terraform в группе ресурсов библиотеки:

      • В приведенном выше примере группа ресурсов имеет следующий LAB-SECE-SAP_LIBRARYтип.
      • Имя учетной записи хранения содержит labsecetfstate.
    2. Имя хранилища ключей в группе ресурсов развертывания:

      • В приведенном выше примере группа ресурсов имеет следующий LAB-SECE-DEP05-INFRASTRUCTUREтип.
      • Имя хранилища ключей содержит LABSECEDEP05user.
    3. Общедоступный IP-адрес виртуальной машины развертывания. Перейдите в группу ресурсов разработчика, откройте виртуальную машину средства развертывания и скопируйте общедоступный IP-адрес.

  2. Вам нужно собрать следующую информацию:

    1. Имя файла состояния развертывания находится в группе ресурсов библиотеки:
      • Выберите контейнерыtfstate> учетной записи хранения учетной записи>хранения группы>ресурсов библиотеки. Скопируйте имя файла состояния развертывания.
      • Ниже приведенного выше примера имя LAB-SECE-DEP05-INFRASTRUCTURE.terraform.tfstateбольшого двоичного объекта.
  3. При необходимости зарегистрируйте субъект-службу. Для этого руководства этот шаг не нужен.

    При первом создании экземпляра среды необходимо зарегистрировать субъект-службу. В этом руководстве уровень управления находится в LAB среде, а зона рабочей нагрузки также находится в LAB. По этой причине субъект-служба должен быть зарегистрирован для LAB среды.

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

Подготовка развертывания зоны рабочей нагрузки

Подключитесь к виртуальной машине средства развертывания, чтобы выполнить следующие действия. Теперь копия репозитория находится там.

Развертывание зоны рабочей нагрузки

Используйте скрипт install_workloadzone для развертывания зоны рабочей нагрузки SAP.

  1. На виртуальной машине средства развертывания перейдите в папку Azure_SAP_Automated_Deployment .

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/LAB-SECE-SAP04-INFRASTRUCTURE
    
  2. При необходимости откройте файл конфигурации зоны рабочей нагрузки и при необходимости измените логическое имя сети, чтобы оно соответствовало сетевому имени.

  3. Запустите развертывание зоны рабочей нагрузки. Здесь необходимы сведения, собранные ранее:

    • Имя файла средства tfstate развертывания (найдено в контейнере tfstate )
    • Имя учетной tfstate записи хранения
    • Имя хранилища ключей средства развертывания.

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

Развертывание зоны рабочей нагрузки должно запускаться автоматически.

Дождитесь завершения развертывания. На портале Azure появится новая группа ресурсов.

Подготовка к развертыванию инфраструктуры системы SAP

Подключитесь к виртуальной машине средства развертывания, чтобы выполнить следующие действия. Теперь копия репозитория находится там.

Перейдите в папку WORKSPACES/SYSTEM и скопируйте примеры файлов конфигурации для использования из репозитория.

Развертывание инфраструктуры системы SAP

После завершения зоны рабочей нагрузки можно развернуть ресурсы инфраструктуры системы SAP. Система SAP создает виртуальные машины и вспомогательные компоненты для приложения SAP. Используйте скрипт installler.sh для развертывания системы SAP.

Система SAP развертывает:

  • Уровень базы данных, который развертывает виртуальные машины базы данных и их диски и экземпляр Azure Load Balancer (цен. категория . На этом уровне можно запускать базы данных HANA или AnyDB.
  • Уровень SCS, который развертывает определяемое клиентом количество виртуальных машин и экземпляр Azure Load Balancer (цен. категория .
  • Уровень приложения, который развертывает виртуальные машины и их диски.
  • Уровень веб-диспетчера.

Развертывание системы 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

Убедитесь, что группа ресурсов системы теперь находится на портале Azure.

Получение программного обеспечения SAP с помощью счета за материалы

Платформа автоматизации предоставляет средства для скачивания программного обеспечения из SAP с помощью SAP BOM. Программное обеспечение загружается в библиотеку SAP, которая выступает в качестве архива для всех носителей, необходимых для развертывания SAP.

Sap BOM имитирует планировщик обслуживания SAP. В них используются идентификаторы продуктов и набор URL-адресов для загрузки.

Пример извлечения BOM-файла выглядит следующим образом:


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

Для этого примера конфигурации используется группа ресурсов LAB-SECE-DEP05-INFRASTRUCTURE. Имя хранилища ключей развертывания содержится LABSECEDEP05user в имени. Эти сведения используются для настройки секретов хранилища ключей в развертывании.

  1. Подключитесь к виртуальной машине средства развертывания, чтобы выполнить следующие действия. Теперь копия репозитория находится там.

  2. Добавьте секрет с именем пользователя для учетной записи пользователя SAP. Замените <vaultName> на имя хранилища ключей средства развертывания. Также замените <sap-username> на имя пользователя SAP.

    export key_vault=<vaultName>
        sap_username=<sap-username>
    
    az keyvault secret set --name "S-Username" --vault-name $key_vault --value "${sap_username}";
    
  3. Добавьте секрет с паролем для учетной записи пользователя SAP. Замените именем хранилища ключей развертывания и замените <vaultName><sap-password> его паролем SAP.

    Примечание.

    При установке sap_user_password важно использовать одинарные кавычки. Использование специальных символов в пароле может в противном случае привести к непредсказуемым результатам.

    sap_user_password='<sap-password>'
    
    az keyvault secret set --name "S-Password" --vault-name "${key_vault}" --value="${sap_user_password}";
    
  4. Настройте файл параметров SAP для процесса загрузки. Затем скачайте программное обеспечение SAP с помощью сборников схем Ansible. Выполните следующие команды:

    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES
    mkdir BOMS
    cd BOMS
    
    vi sap-parameters.yaml
    
  5. bom_base_name Обновите имя BOM. Замените <Deployer KeyVault Name> именем хранилища ключей Azure для группы ресурсов развертывания.

    Файл должен выглядеть примерно так:

    
    bom_base_name:                 S42022SPS00_v0001ms
    deployer_kv_name:              <vaultName>
    BOM_directory:                 ${HOME}/Azure_SAP_Automated_Deployment/samples/SAP
    
    
  6. Запустите сборник схем Ansible, чтобы скачать программное обеспечение. Одним из способов запуска сборников схем является использование меню загрузчика . Выполните скрипт download_menu.

    ${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/download_menu.sh
    
  7. Выберите сборники схем для запуска.

    1) BoM Downloader
    3) Quit
    Please select playbook:
    

    Выберите сборник 1) BoM Downloader схем, чтобы скачать программное обеспечение SAP, описанное в файле BOM, в учетную запись хранения. Убедитесь, что контейнер sapbits содержит все носители для установки.

    Сборник схем можно запустить с помощью меню конфигурации или непосредственно из командной строки.

    
    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
    
    
    

    Если вы хотите, вы также можете передать учетные данные пользователя SAP в качестве параметров.

    
    cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/BOMS/
    
    sap_username=<sap-username>
    sap_user_password='<sap-password>'
    
    export           ANSIBLE_PRIVATE_KEY_FILE=sshkey
    
    playbook_options=(
            --inventory-file="${sap_sid}_hosts.yaml"
            --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
            --extra-vars="_workspace_directory=`pwd`"
            --extra-vars="@sap-parameters.yaml"
            --extra-vars="s_user=${sap_username}"
            --extra-vars="s_password=${sap_user_password}"
            --extra-vars="bom_processing=true"
            "${@}"
    )
    
    # Run the playbook to retrieve the ssh key from the Azure key vault
    ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
    
    # Run the playbook to perform the Operating System configuration
    ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_bom_downloader.yaml
    
    
    

Установка приложения SAP

Установка приложения SAP производится через сборники схем Ansible.

Перейдите в папку развертывания системы.

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

Убедитесь, что в текущих папках есть следующие файлы: sap-parameters.yaml и L00_host.yaml.

Для автономной системы SAP S/4HANA есть восемь сборников схем для выполнения в последовательности. Одним из способов запуска сборников схем является использование меню конфигурации.

Выполните скрипт configuration_menu.

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

Diagram that shows the SAP Deployment Automation Ansible configuration menu.

Выберите сборники схем для запуска.

Сборник схем: базовая конфигурация операционной системы

В этом сборнике схем выполняется настройка универсальной конфигурации операционной системы на всех компьютерах, которая включает конфигурацию репозиториев программного обеспечения, пакетов и служб.

Сборник схем можно запустить с помощью меню конфигурации или командной строки.


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

export                            sap_sid=L00
export           ANSIBLE_PRIVATE_KEY_FILE=sshkey

playbook_options=(
        --inventory-file="${sap_sid}_hosts.yaml"
        --private-key=${ANSIBLE_PRIVATE_KEY_FILE}
        --extra-vars="_workspace_directory=`pwd`"
        --extra-vars="@sap-parameters.yaml"
        "${@}"
)

# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml

# Run the playbook to perform the Operating System configuration
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_01_os_base_config.yaml

Сборник схем: конфигурация операционной системы для конкретной SAP

Эта сборник схем выполняет настройку конфигурации операционной системы SAP на всех компьютерах. Ниже приведены шаги по созданию групп томов и файловых систем и настройке репозиториев программного обеспечения, пакетов и служб.

Сборник схем можно запустить с помощью меню конфигурации или командной строки.


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

Сборник схем: обработка BOM

Эта сборник схем загружает программное обеспечение SAP на виртуальную машину SCS.

Сборник схем можно запустить с помощью меню конфигурации или командной строки.


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

Сборник схем: установка SCS

Эта сборник схем устанавливает службы SAP Central. Для высокодоступных конфигураций сборник схем также устанавливает экземпляр SAP ERS и настраивает Pacemaker.

Сборник схем можно запустить с помощью меню конфигурации или командной строки.


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

Сборник схем: установка экземпляра базы данных

Эта сборник схем устанавливает экземпляры базы данных.

Сборник схем можно запустить с помощью меню конфигурации или командной строки.


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

Сборник схем: загрузка базы данных

Эта сборник схем вызывает задачу загрузки базы данных с сервера основного приложения.

Сборник схем можно запустить с помощью меню конфигурации или командной строки.


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

Сборник схем: настройка высокого уровня доступности базы данных

Эта сборник схем настраивает высокий уровень доступности базы данных. Для HANA это означает, что система HANA реплика tion и Pacemaker для базы данных HANA.

Сборник схем можно запустить с помощью меню конфигурации или командной строки.


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

Сборник схем: установка основного сервера приложений

Эта сборник схем устанавливает основной сервер приложений. Сборник схем можно запустить с помощью меню конфигурации или командной строки.


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

Сборник схем: установки сервера приложений

Эта сборник схем устанавливает серверы приложений. Сборник схем можно запустить с помощью меню конфигурации или командной строки.


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

Сборник схем: установки веб-диспетчера

Эта сборник схем устанавливает веб-диспетчеры. Сборник схем можно запустить с помощью меню конфигурации или командной строки.

Теперь вы развернули и настроили автономную систему HANA. Если необходимо настроить высокодоступную базу данных SAP HANA, запустите сборник схем высокого уровня доступности HANA.


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

Очистка установки

Важно очистить установку SAP из этого руководства после завершения работы. В противном случае вы продолжите платить за использование ресурсов.

Чтобы удалить всю развернутую инфраструктуру SAP, необходимо выполнить следующие действия:

  • Удалите ресурсы инфраструктуры системы SAP.
  • Удалите все зоны рабочей нагрузки (альбомная среда).
  • Удалите плоскость управления.

Выполните удаление ресурсов инфраструктуры SAP и зон рабочей нагрузки из виртуальной машины развертывания. Выполните удаление плоскости управления из Cloud Shell.

Прежде чем начать, войдите в учетную запись Azure. Затем убедитесь, что вы находитесь в правильной подписке.

Удаление инфраструктуры SAP

Перейдите к вложенной LAB-SECE-SAP01-L00 папке в папке SYSTEM . Выполните приведенную ниже команду.

export  sap_env_code="LAB"
export   region_code="SECE"
export sap_vnet_code="SAP04"

cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/${sap_env_code}-${region_code}-${sap_vnet_code}-L00

${DEPLOYMENT_REPO_PATH}/deploy/scripts/remover.sh                   \
  --parameterfile "${sap_env_code}-${region_code}-${sap_vnet_code}-L00.tfvars" \
  --type sap_system

Удаление зоны рабочей нагрузки SAP

Перейдите к вложенной LAB-XXXX-SAP01-INFRASTRUCTURE папке в папке LANDSCAPE . Затем выполните следующую команду:


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

Удалите уровень управления.

Войдите в Cloud Shell.

Перейдите к папке WORKSPACES.

cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/

Экспортируйте следующие две переменные среды:

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

Выполните следующую команду:

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

Убедитесь, что все ресурсы очищены.

Следующий шаг