Масштабирование корпоративного класса для развертывания платформы автоматизации SAP — практическое занятие

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

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

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

Развертывание SAP в Azure с помощью платформы автоматизации состоит из трех этапов.

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

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

  3. Развертывание системы. Этот этап включает в себя инфраструктуру для системы SAP.

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

Общие сведения о среде

Платформа автоматизации развертывания SAP в Azure включает два основных компонента:

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

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

Руководство по проектированию инфраструктуры для DevOps

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

Схема, на которой показана среда платформы автоматизации развертывания SAP.

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

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

Схема уровня управления.

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

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

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

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

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

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

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

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

Практическое занятие

Предварительные требования

Репозиторий платформы автоматизации развертывания SAP доступен на GitHub.

Для подключения к средству развертывания необходим клиент SSH. Используйте любой клиент SSH.

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

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

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

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

Настройка Cloud Shell

  1. Перейдите в Azure Cloud Shell.

  2. Войдите в свою учетную запись 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
    
  3. При необходимости измените активную подписку.

    az account set --subscription <Subscription ID>
    

    Проверьте, изменилась ли активная подписка:

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

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

    mkdir -p ~/Azure_SAP_Automated_Deployment
    
    cd ~/Azure_SAP_Automated_Deployment
    
    git clone https://github.com/Azure/sap-automation.git
    
  6. При необходимости проверьте версии Terraform и Azure CLI, доступные в вашем экземпляре Cloud Shell.

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

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

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

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

Примечание

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

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

    export         subscriptionId="<subscriptionId>"
    export control_plane_env_code="MGMT"
    
    az ad sp create-for-rbac --role="Contributor"           \
      --scopes="/subscriptions/${subscriptionId}"           \
      --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. При необходимости назначьте субъекту-службе роль администратора доступа пользователей.

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

Примечание

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

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

Важно!

Всегда рассматривайте репозиторий GitHub как доступный только для чтения. Вносите изменения в конфигурацию в копии папки WORKSPACES. Этот метод обеспечивает стабильность конфигурации при изменении репозитория.

  1. Скопируйте примеры конфигураций в локальный каталог рабочей области:

    cd ~/Azure_SAP_Automated_Deployment
    
    cp -Rp ./sap-automation/training-materials/WORKSPACES .
    
  2. Откройте VS Code в Cloud Shell

    code .
    

    Примечание

    Не работает в браузере Safari.

    Разверните каталог WORKSPACES. В нем находится пять вложенных папок: DEPLOYER, LANDSCAPE, LIBRARY, SYSTEM и BOMS. Разверните каждую из этих папок, чтобы найти региональные файлы конфигурации развертывания.

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

    Имя региона Код региона
    Восточная Австралия AUEA
    Центральная Канада CACE
    Центральная часть США CEUS
    Восточная часть США EAUS
    Северная Европа NOEU
    Северная часть ЮАР; SANO
    Юго-Восточная Азия SOEA
    южная часть Соединенного Королевства UKSO
    Западная часть США 2 WUS2

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

    # The environment value is a mandatory field, it is used for partitioning the environments, for example, PROD and NP.
    environment="MGMT"
    # The location/region value is a mandatory field, it is used to control where the resources are deployed
    location="westeurope"
    
    # 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"
    
    deployer_enable_public_ip=true
    firewall_deployment=true
    

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

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

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

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

Например, в качестве расположения развертывания выберите Северная Европа, то есть четыре символа NOEU, как описано выше. Пример файла конфигурации средства развертывания MGMT-NOEU-DEP00-INFRASTRUCTURE.tfvars находится в папке ~/Azure_SAP_Automated_Deployment/WORKSPACES/DEPLOYER/MGMT-NOEU-DEP00-INFRASTRUCTURE.

Пример файла конфигурации библиотеки SAP MGMT-NOEU-SAP_LIBRARY.tfvars находится в папке ~/Azure_SAP_Automated_Deployment/WORKSPACES/LIBRARY/MGMT-NOEU-SAP_LIBRARY.

  1. Создайте средство развертывания и библиотеку SAP, а также добавьте сведения о субъекте-службе в хранилище ключей развертывания.

    cd ~/Azure_SAP_Automated_Deployment/WORKSPACES
    
    export subscriptionId="<subscriptionId>"
    export         spn_id="<appId>"
    export     spn_secret="<password>"
    export      tenant_id="<tenantId>"
    export       env_code="MGMT"
    export    region_code="<region_code>"
    
    export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
    export ARM_SUBSCRIPTION_ID="${subscriptionId}"
    
    ${DEPLOYMENT_REPO_PATH}/deploy/scripts/prepare_region.sh                                                                                       \
        --deployer_parameter_file DEPLOYER/${env_code}-${region_code}-DEP00-INFRASTRUCTURE/${env_code}-${region_code}-DEP00-INFRASTRUCTURE.tfvars  \
        --library_parameter_file LIBRARY/${env_code}-${region_code}-SAP_LIBRARY/${env_code}-${region_code}-SAP_LIBRARY.tfvars                      \
        --subscription "${subscriptionId}"                                                                                                         \
        --spn_id "${spn_id}"                                                                                                                       \
        --spn_secret "${spn_secret}"                                                                                                               \
        --tenant_id "${tenant_id}"                                                                                                                 \
        --auto-approve
    

    Примечание

    При возникновении проблем с проверкой подлинности выполните команду az logout, чтобы выполнить выход, и очистите кэш token-cache, а затем выполните команду az login для повторной проверки подлинности.

    Дождитесь, пока платформа автоматизации не запустит операции Terraform plan и apply.

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

    Важно!

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

    #########################################################################################
    #                                                                                       #
    #  Please save these values:                                                            #
    #     - Key Vault: MGMTNOEUDEP00user39B                                                 #
    #     - Deployer IP: x.x.x.x                                                            #
    #     - Storage Account: mgmtnoeutfstate53e                                             #
    #                                                                                       #
    #########################################################################################
    
  2. Перейдите на портал Azure.

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

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

    Ресурсы средства развертывания

    Ресурсы библиотеки

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

    Файлы tfstate уровня управления

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

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

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

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

    az logout
    
    az login
    

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

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

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

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

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

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

  4. На панели слева в разделе Параметры панели выберите пункт Секреты.

  5. Найдите и выберите секрет, содержащий sshkey. Он может выглядеть так: MGMT-[REGION]-DEP00-sshkey.

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выполните приведенный ниже скрипт, чтобы настроить средство развертывания.

mkdir -p ~/Azure_SAP_Automated_Deployment

cd ~/Azure_SAP_Automated_Deployment

git clone https://github.com/Azure/sap-automation.git

cd sap-automation/deploy/scripts

./configure_deployer.sh

Этот скрипт установит Terraform и Ansible, а также настроит средство развертывания.

Важно!

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

Получение программного обеспечения SAP с использованием спецификации

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

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

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


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

Для этого примера конфигурации используется группа ресурсов MGMT-NOEU-DEP00-INFRASTRUCTURE. Имя хранилища ключей средства развертывания будет содержать MGMTNOEUDEP00user. Эти сведения используются для настройки секретов хранилища ключей в развертывании.

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

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

    export key_vault=<vaultID>
    sap_username=<sap-username>
    
    az keyvault secret set --name "S-Username" --vault-name $key_vault --value "${sap_username}";
    
  3. Добавьте секрет с паролем для учетной записи пользователя SAP. Замените <vaultID> именем своего хранилища ключей средства развертывания, а <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. Проверьте номер версии спецификации S/4 1909 SPS03 для активной версии.

    Запишите результаты.

    
    ls -d ${DEPLOYMENT_REPO_PATH}/deploy/ansible/BOM-catalog/S41909SPS03* | xargs basename
    
    
  5. Настройте файл параметров SAP для процесса загрузки. Затем скачайте программное обеспечение SAP с помощью сборников схем Ansible. Выполните следующие команды:

    cd ~/Azure_SAP_Automated_Deployment/WORKSPACES
    cp -Rp ../sap-automation/training-materials/WORKSPACES/BOMS .
    cd BOMS
    
    vi sap-parameters.yaml
    
  6. Обновите bom_base_name, используя ранее упомянутое имя спецификации.

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

    
    bom_base_name:                 S41909SPS03_v0010ms
    
    
  7. Замените <Deployer KeyVault Name> именем хранилища ключей Azure группы ресурсов средства развертывания.

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

    
    bom_base_name:                 S41909SPS03_v0010ms
    kv_name:                       <Deployer KeyVault Name>
    
    
  8. Убедитесь, что параметр check_storage_account присутствует и имеет значение false. Это значение определяет, будет ли в библиотеке SAP проверяться наличие файла перед его загрузкой из SAP.

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

    
    bom_base_name:                 S41909SPS03_v0010
    kv_name:                       <Deployer KeyVault Name>
    check_storage_account:         false
    
    
  9. Выполните сборники схем Ansible. Один из способов выполнить сборники схем — использовать меню загрузчика. Запустите скрипт download_menu.

    ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/download_menu.sh
    
  10. Выберите сборники схем для выполнения.

    1) BoM Downloader
    3) Quit
    Please select playbook:
    

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

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

  1. В текстовом редакторе собирайте следующие сведения:

    Примечание

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

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

      • В приведенном выше примере будет использоваться группа ресурсов MGMT-NOEU-SAP_LIBRARY.
      • Имя учетной записи хранения будет содержать mgmtnoeutfstate.
    2. Имя хранилища ключей группы ресурсов средства развертывания.

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

  2. Кроме того, необходимо собрать следующую информацию.

    1. Имя файла состояния развертывания можно найти в группе ресурсов библиотеки.
      • Группа ресурсов библиотеки -> учетная запись хранения состояния -> контейнеры -> tfstate -> скопируйте имя файла состояния средства развертывания.
      • В приведенном примере BLOB-объект будет иметь имя MGMT-NOEU-DEP00-INFRASTRUCTURE.terraform.tfstate
  3. При необходимости зарегистрируйте имя участника-службы.

    Важно!

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

    export subscriptionId="<subscriptionId>"
    export         spn_id="<appID>"
    export     spn_secret="<password>"
    export      tenant_id="<tenant>"
    export      key_vault="<vaultID>"
    export       env_code="DEV"
    export    region_code="<region_code>"
    
    ${DEPLOYMENT_REPO_PATH}/deploy/scripts/set_secrets.sh     \
        --environment "${env_code}"                           \
        --region "${region_code}"                             \
        --vault "${key_vault}"                                \
        --subscription "${subscriptionId}"                    \
        --spn_id "${spn_id}"                                  \
        --spn_secret "${spn_secret}"                          \
        --tenant_id "${tenant_id}"
    

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

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

  2. Перейдите в папку sap-automation и при необходимости обновите репозиторий.

    cd ~/Azure_SAP_Automated_Deployment/sap-automation/
    
    git pull
    
  3. Перейдите в папку WORKSPACES/LANDSCAPE и скопируйте примеры файлов конфигурации, которые вы будете использовать из репозитория.

    cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE
    
    cp -Rp ../../sap-automation/training-materials/WORKSPACES/LANDSCAPE/DEV-[REGION]-SAP01-INFRASTRUCTURE .
    

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

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

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

    cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/DEV-XXXX-SAP01-INFRASTRUCTURE
    

    Для региона northeurope папка будет выглядеть следующим образом:

    cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/DEV-NOEU-SAP01-INFRASTRUCTURE
    
  2. (Необязательно) Откройте файл конфигурации зоны рабочей нагрузки и при необходимости измените логическое имя сети, чтобы оно совпадало с именем сети.

  3. Запустите развертывание зоны рабочей нагрузки:

    Примечание

    Здесь понадобятся сведения, собранные ранее. Это следующие сведения:

    • Имя файла tfstate средства развертывания (находится в контейнере tfstate).
    • Имя учетной записи хранения tfstate.
    • Имя хранилища ключей средства развертывания.
    
    export tfstate_storage_account="<storageaccountName>"
    export       deployer_env_code="MGMT"
    export            sap_env_code="DEV"
    export             region_code="<region_code>"
    export               key_vault="<vaultID>"
    
    cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/${sap_env_code}-${region_code}-SAP01-INFRASTRUCTURE
    
    ${DEPLOYMENT_REPO_PATH}/deploy/scripts/install_workloadzone.sh                                          \
        --parameterfile ./${sap_env_code}-${region_code}-SAP01-INFRASTRUCTURE.tfvars                        \
        --deployer_environment "${deployer_env_code}"                                                       \
        --deployer_tfstate_key "${deployer_env_code}-${region_code}-DEP00-INFRASTRUCTURE.terraform.tfstate" \
        --keyvault "${key_vault}"                                                                           \
        --storageaccountname "${tfstate_storage_account}"                                                   \
        --auto-approve
    

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

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

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

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

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

    cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM
    
    cp -Rp ../../sap-automation/training-materials/WORKSPACES/SYSTEM/DEV-[REGION]-SAP01-X00 .
    

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

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

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

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

    
    export sap_env_code="DEV"
    export  region_code="<region_code>"
    
    cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/${sap_env_code}-${region_code}-SAP01-X00
    
    ${DEPLOYMENT_REPO_PATH}/deploy/scripts/installer.sh                  \
      --parameterfile "${sap_env_code}-${region_code}-SAP01-X00.tfvars"  \
      --type sap_system                                                  \
      --auto-approve
    

    Команда развертывания для этого примера northeurope будет выглядеть следующим образом:

    cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/DEV-NOEU-SAP01-X00
    
    ${DEPLOYMENT_REPO_PATH}/deploy/scripts/installer.sh  \
      --parameterfile DEV-NOEU-SAP01-X00.tfvars          \
      --type sap_system                                  \
      --auto-approve
    

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

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

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

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

cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/DEV-NOEU-SAP01-X00/

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

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

Запустите скрипт configuration_menu.

~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/configuration_menu.sh

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

Сборник схем: конфигурация ОС

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

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

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

Сборник схем: обработка спецификации

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

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

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

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

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

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

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

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

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

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

Этот сборник схем устанавливает серверы приложений.

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

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

Этот сборник схем настроит репликацию системы HANA (HSR) и Pacemaker для базы данных HANA.

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

Примечание

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

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

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

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

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

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

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

export sap_env_code="DEV"
export  region_code="NOEU"

cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/${sap_env_code}-${region_code}-SAP01-X00

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

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

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


export sap_env_code="DEV"
export  region_code="NOEU"

cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/${sap_env_code}-${region_code}-SAP01-INFRASTRUCTURE

${DEPLOYMENT_REPO_PATH}/deploy/scripts/remover.sh                                \
      --parameterfile ${sap_env_code}-${region_code}-SAP01-INFRASTRUCTURE.tfvars \
      --type sap_landscape

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

Войдите в Cloud Shell.

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

cd ~/Azure_SAP_Automated_Deployment/WORKSPACES/

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

export DEPLOYMENT_REPO_PATH="~/Azure_SAP_Automated_Deployment/sap-automation"
export ARM_SUBSCRIPTION_ID="<subscriptionId>"

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

export region_code="NOEU"

${DEPLOYMENT_REPO_PATH}/deploy/scripts/remove_region.sh                                                                          \
    --deployer_parameter_file DEPLOYER/MGMT-${region_code}-DEP00-INFRASTRUCTURE/MGMT-${region_code}-DEP00-INFRASTRUCTURE.tfvars  \
    --library_parameter_file LIBRARY/MGMT-${region_code}-SAP_LIBRARY/MGMT-${region_code}-SAP_LIBRARY.tfvars

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

Дальнейшие действия