Руководство. Развертывание платформы автоматизации развертывания SAP для корпоративного масштаба
В этом руководстве показано, как выполнять развертывания с помощью SAP Deployment Automation Framework. В этом примере используется Azure Cloud Shell для развертывания инфраструктуры уровня управления. Виртуальная машина средства развертывания создает оставшуюся конфигурацию инфраструктуры и SAP HANA.
Вот какие шаги выполняются в этом руководстве:
- Разверните плоскость управления (инфраструктура и библиотека развертывания).
- Развертывание зоны рабочей нагрузки (альбомная и система).
- Скачивание и отправка счетов за материалы.
- Настройка стандартных и параметров операционной системы, относящихся к SAP.
- Установите базу данных HANA.
- Установите сервер SAP Central Services (SCS).
- Загрузите базу данных HANA.
- Установите основной сервер приложений.
Существует три основных этапа развертывания SAP в Azure с помощью платформы автоматизации:
Подготовьте регион. Вы развертываете компоненты для поддержки платформы автоматизации SAP в указанном регионе Azure. На этом шаге вы:
- Создайте среду развертывания.
- Создайте общее хранилище для файлов состояния Terraform.
- Создайте общее хранилище для установочного носителя SAP.
Подготовьте зону рабочей нагрузки. Вы развертываете компоненты зоны рабочей нагрузки, такие как виртуальная сеть и хранилища ключей.
Разверните систему. Вы развертываете инфраструктуру для системы SAP.
Автоматизация развертывания включает несколько рабочих процессов. В этом руководстве основное внимание уделяется одному рабочему процессу для упрощения развертывания. Этот рабочий процесс можно развернуть в автономной среде SAP S4 HANA с помощью Bash. В этом руководстве описаны общие иерархии и различные этапы развертывания.
Обзор среды
Sap Deployment Automation Framework состоит из двух основных компонентов:
- Инфраструктура развертывания (уровень управления).
- Инфраструктура SAP (рабочая нагрузка SAP)
На следующей схеме показана зависимость между уровнем управления и уровнем приложения.
Платформа использует Terraform для развертывания инфраструктуры и Ansible для конфигурации операционной системы и приложения. На следующей схеме показано логическое разделение уровня управления и зоны рабочей нагрузки.
Зона управления
Зона управления содержит инфраструктуру уровня управления, из которой развертываются другие среды. После развертывания зоны управления редко необходимо повторно развернуть.
Средство развертывания — это подсистема выполнения платформы автоматизации SAP. Эта предварительно настроенная виртуальная машина используется для выполнения команд Terraform и Ansible.
Библиотека SAP предоставляет постоянное хранилище для файлов состояния Terraform и скачанного установочного носителя SAP для уровня управления.
Вы настраиваете средство развертывания и библиотеку в файле переменной Terraform .tfvars
. Дополнительные сведения см. в разделе "Настройка плоскости управления".
Зона рабочей нагрузки
Как правило, приложение SAP имеет несколько уровней развертывания. Например, у вас могут быть уровни разработки, контроля качества и производства. SAP Deployment Automation Framework вызывает эти зоны рабочих нагрузок уровня.
Зона рабочей нагрузки 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
Откройте Azure Cloud Shell.
Войдите в свою учетную запись Azure.
az login
Проверка подлинности входа. Не закрывайте окно, пока не появится запрос.
Проверьте активную подписку и запишите идентификатор подписки:
az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=table
Или сделайте так:
az account list --output=table | grep True
При необходимости измените активную подписку.
az account set --subscription <Subscription ID>
Убедитесь, что активная подписка изменилась.
az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=table
При необходимости удалите все артефакты развертывания. Используйте эту команду, чтобы удалить все остатки предыдущих артефактов развертывания.
cd ~ rm -rf Azure_SAP_Automated_Deployment .sap_deployment_automation .terraform.d
Создайте папку развертывания и клонируйте репозиторий.
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
При необходимости проверьте версии Terraform и Azure CLI, доступные в экземпляре Cloud Shell.
./sap-automation/deploy/scripts/helpers/check_workstation.sh
Чтобы запустить платформу автоматизации, обновите следующие версии:
az
версия 2.5.0 или более поздняя.terraform
версия 1.5 или более поздняя. При необходимости обновите их с помощью инструкций Terraform.
Создание субъекта-службы
Платформа автоматизации развертывания SAP использует субъекты-службы для развертывания. Создайте субъект-службу для развертывания уровня управления. Обязательно используйте учетную запись с разрешениями на создание субъектов-служб.
При выборе имени субъекта-службы убедитесь, что имя уникально в клиенте Azure.
Предоставьте участнику-службе разрешения участника-службы и доступа пользователей Администратор 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>" }
Скопируйте выходные данные. Обязательно сохраните значения для
appId
,password
иTenant
.Выходные данные сопоставляются со следующими параметрами. Эти параметры используются в последующих шагах с командами автоматизации.
Имя входных данных параметра Имя вывода spn_id
appId
spn_secret
password
tenant_id
tenant
При необходимости назначьте роль пользователя Администратор istrator субъекту-службе.
export appId="<appId>" az role assignment create --assignee ${appId} \ --role "User Access Administrator" \ --scope /subscriptions/${ARM_SUBSCRIPTION_ID}
Внимание
Если роль пользователя Администратор istrator не назначена субъекту-службе, вы не можете назначить разрешения с помощью автоматизации.
Настройка учетных данных веб-приложения уровня управления
В рамках уровня управления платформой автоматизации SAP можно создать интерактивное веб-приложение, которое помогает создавать необходимые файлы конфигурации.
Создание регистрации приложения
Если вы хотите использовать веб-приложение, необходимо сначала создать регистрацию приложения для проверки подлинности. Откройте 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 |
Просмотр файлов конфигурации
Откройте Visual Studio Code из Cloud Shell.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES code .
WORKSPACES
Разверните каталог. Существует шесть вложенных папок:CONFIGURATION
,DEPLOYER
,LANDSCAPE
,LIBRARY
,SYSTEM
иBOMS
. Разверните каждую из этих папок, чтобы найти региональные файлы конфигурации развертывания.Найдите файлы переменных 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, чтобы вносить изменения во время развертывания.
Найдите файлы переменных 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
.
Задайте переменные среды для субъекта-службы:
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
Создайте развертывание и библиотеку 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
проверку подлинности.Дождитесь выполнения операций
plan
apply
Terraform и платформы автоматизации.Развертывание средства развертывания может выполняться примерно на 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 # # # #########################################################################################
Переход на портал Azure.
Выберите элемент Группы ресурсов. Найдите новые группы ресурсов для библиотеки и инфраструктуры средства развертывания. Например, вы можете увидеть
LAB-[region]-DEP05-INFRASTRUCTURE
иLAB-[region]-SAP_LIBRARY
.Здесь показаны содержимое группы ресурсов развертывания и библиотеки SAP.
Файл состояния Terraform теперь помещается в учетную запись хранения, имя которой содержится
tfstate
. У учетной записи хранения есть контейнерtfstate
с файлами состояния развертывания и библиотеки. Содержимое контейнера после успешногоtfstate
развертывания плоскости управления отображается здесь.
Распространенные проблемы и решения
Ниже приведены некоторые советы по устранению неполадок:
Если вы получите следующую ошибку для создания модуля развертывания, убедитесь, что вы находитесь в каталоге
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
. Все секреты для подключения к виртуальной машине средства развертывания доступны в хранилище ключей в группе ресурсов этого средства.
Чтобы подключиться к виртуальной машине средства развертывания, выполните приведенные действия.
Войдите на портал Azure.
Выберите или найдите хранилища ключей.
На странице Хранилище ключей найдите хранилище ключей средства развертывания. Имя начинается с
LAB[REGION]DEP05user
. При необходимости фильтруйте по группе ресурсов или расположению.В разделе Параметры в левой области выберите "Секреты".
Найдите и выберите секрет, содержащий sshkey. Это может выглядеть так
LAB-[REGION]-DEP05-sshkey
.На странице секрета выберите текущую версию. Затем скопируйте значение секрета.
Откройте редактор обычного текста. Скопируйте значение секрета.
Сохраните файл, в котором хранятся ключи SSH. Например, укажите
C:\\Users\\<your-username>\\.ssh
.Сохраните файл. Если будет предложено Сохранить как тип, выберите Все файлы, если нет варианта SSH. Например, укажите
deployer.ssh
.Подключение на виртуальную машину развертывания через любой клиент 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.
Чтобы подключиться к развертыванию, выполните следующие действия.
Войдите на портал Azure.
Перейдите в группу ресурсов, содержащую виртуальную машину развертывания.
Подключение на виртуальную машину с помощью Бастиона Azure.
Имя пользователя по умолчанию — azureadm.
Выберите закрытый ключ SSH из Azure Key Vault.
Выберите подписку, содержащую плоскость управления.
Выберите хранилище ключей средства развертывания.
В списке секретов выберите секрет, который заканчивается - sshkey.
Подключитесь к виртуальной машине.
Остальные задачи должны выполняться в средстве развертывания.
Защита плоскости управления
Уровень управления является наиболее важной частью платформы автоматизации SAP. Важно обеспечить безопасность плоскости управления. Следующие действия помогут защитить плоскость управления.
Необходимо обновить файл плоскости tfvars
управления, чтобы включить частные конечные точки и заблокировать общедоступный доступ к учетным записям хранения и хранилищам ключей.
Чтобы скопировать файлы конфигурации уровня управления на виртуальную машину развертывающего средства, можно использовать
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 на виртуальную машину развертывающего средства.Измените файлы конфигурации для плоскости управления следующими способами:
# 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
Повторно запустите развертывание, чтобы применить изменения. Обновите имя учетной записи хранения и имя хранилища ключей в скрипте.
export ARM_SUBSCRIPTION_ID="<subscriptionId>" export ARM_CLIENT_ID="<appId>" export ARM_CLIENT_SECRET="<password>" export ARM_TENANT_ID="<tenantId>"
Создайте средство развертывания и библиотеку 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
Получение сведений о зоне рабочей нагрузки
Соберите следующие сведения в текстовом редакторе. Эти сведения были собраны в конце этапа развертывания плоскости управления.
Имя учетной записи хранения файлов состояния Terraform в группе ресурсов библиотеки:
- В приведенном выше примере группа ресурсов имеет следующий
LAB-SECE-SAP_LIBRARY
тип. - Имя учетной записи хранения содержит
labsecetfstate
.
- В приведенном выше примере группа ресурсов имеет следующий
Имя хранилища ключей в группе ресурсов развертывания:
- В приведенном выше примере группа ресурсов имеет следующий
LAB-SECE-DEP05-INFRASTRUCTURE
тип. - Имя хранилища ключей содержит
LABSECEDEP05user
.
- В приведенном выше примере группа ресурсов имеет следующий
Общедоступный IP-адрес виртуальной машины развертывания. Перейдите в группу ресурсов разработчика, откройте виртуальную машину средства развертывания и скопируйте общедоступный IP-адрес.
Вам нужно собрать следующую информацию:
- Имя файла состояния развертывания находится в группе ресурсов библиотеки:
- Выберите контейнеры
tfstate
> учетной записи хранения учетной записи>хранения группы>ресурсов библиотеки. Скопируйте имя файла состояния развертывания. - Ниже приведенного выше примера имя
LAB-SECE-DEP05-INFRASTRUCTURE.terraform.tfstate
большого двоичного объекта.
- Выберите контейнеры
- Имя файла состояния развертывания находится в группе ресурсов библиотеки:
При необходимости зарегистрируйте субъект-службу. Для этого руководства этот шаг не нужен.
При первом создании экземпляра среды необходимо зарегистрировать субъект-службу. В этом руководстве уровень управления находится в
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.
На виртуальной машине средства развертывания перейдите в папку
Azure_SAP_Automated_Deployment
.cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/LAB-SECE-SAP04-INFRASTRUCTURE
При необходимости откройте файл конфигурации зоны рабочей нагрузки и при необходимости измените логическое имя сети, чтобы оно соответствовало сетевому имени.
Запустите развертывание зоны рабочей нагрузки. Здесь необходимы сведения, собранные ранее:
- Имя файла средства
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
в имени. Эти сведения используются для настройки секретов хранилища ключей в развертывании.
Подключитесь к виртуальной машине средства развертывания, чтобы выполнить следующие действия. Теперь копия репозитория находится там.
Добавьте секрет с именем пользователя для учетной записи пользователя 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}";
Добавьте секрет с паролем для учетной записи пользователя 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}";
Настройте файл параметров SAP для процесса загрузки. Затем скачайте программное обеспечение SAP с помощью сборников схем Ansible. Выполните следующие команды:
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES mkdir BOMS cd BOMS vi sap-parameters.yaml
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
Запустите сборник схем Ansible, чтобы скачать программное обеспечение. Одним из способов запуска сборников схем является использование меню загрузчика . Выполните скрипт
download_menu
.${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/download_menu.sh
Выберите сборники схем для запуска.
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
Выберите сборники схем для запуска.
Сборник схем: базовая конфигурация операционной системы
В этом сборнике схем выполняется настройка универсальной конфигурации операционной системы на всех компьютерах, которая включает конфигурацию репозиториев программного обеспечения, пакетов и служб.
Сборник схем можно запустить с помощью меню конфигурации или командной строки.
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
Убедитесь, что все ресурсы очищены.