البرنامج التعليمي: نشر إطار عمل أتمتة توزيع SAP على نطاق المؤسسة
يوضح لك هذا البرنامج التعليمي كيفية إجراء عمليات التوزيع باستخدام SAP Deployment Automation Framework. يستخدم هذا المثال Azure Cloud Shell لتوزيع البنية الأساسية لوحدة التحكم. يُنشئ الجهاز الظاهري لتوزيع (VM) البنية الأساسية المتبقية وتكوينات 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 Bastion أو استخدام عميل Secure Shell (SSH) للاتصال بالموزع. استخدم أي عميل SSH تشعر بالراحة معه.
مراجعة الحصة النسبية لاشتراك Azure
تأكد من أن اشتراكك في Azure يحتوي على اقتباس أساسي كاف لوحدات SKU العائلية DdSV4 وEdsV4 في المنطقة المحددة. يجب أن يكفي حوالي 50 نواة متاحة لكل عائلة VM.
حساب المستخدم S لتنزيل برنامج SAP
مطلوب حساب مستخدم SAP صالح (حساب مستخدم SAP أو S-User) مع امتيازات تنزيل البرنامج لتنزيل برنامج SAP.
قم بإعداد سحابة 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
اختياريا، قم بتعيين دور المستخدم Access مسؤول istrator إلى كيان الخدمة.
export appId="<appId>" az role assignment create --assignee ${appId} \ --role "User Access Administrator" \ --scope /subscriptions/${ARM_SUBSCRIPTION_ID}
هام
إذا لم تقم بتعيين دور المستخدم Access مسؤول 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 Private 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
Terraform وapply
.قد يتم تشغيل نشر الموزع لمدة من 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.
حدد Resource groups. ابحث عن مجموعات موارد جديدة للبنية التحتية للتوزيع والمكتبة. على سبيل المثال، قد ترى
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
. تصفية حسب مجموعة الموارد أو الموقع، إذا لزم الأمر.في قسم الإعدادات في الجزء الأيمن، حدد Secrets.
ابحث عن السر الذي يحتوي على مفتاح sshkey وحدده. قد يبدو مثل
LAB-[REGION]-DEP05-sshkey
.في صفحة البيانات السرية، حدد الإصدار الحالي. ثم انسخ القيمة السرية.
افتح محرر نص عادي. انسخ قيمة البيانات السرية.
احفظ الملف حيث تحتفظ بمفاتيح SSH. على سبيل المثال، استخدم
C:\\Users\\<your-username>\\.ssh
.حفظ الملف. إذا طُلب منك حفظ كنوع، فحدد All files إذا لم يكن 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 باستخدام Bill of Materials (BOM).
الاتصال إلى الجهاز الظاهري للموزع عندما لا تستخدم عنوان IP عاما
بالنسبة إلى عمليات النشر دون اتصال IP عام، لا يسمح بالاتصال المباشر عبر الإنترنت. في هذه الحالات، يمكنك استخدام مربع انتقال Azure Bastion أو يمكنك تنفيذ الخطوة التالية من كمبيوتر لديه اتصال بشبكة Azure الظاهرية.
يستخدم المثال التالي Azure Bastion.
للاتصال بالموزع:
قم بتسجيل الدخول إلى بوابة Azure.
انتقل إلى مجموعة الموارد التي تحتوي على الجهاز الظاهري للموزع.
الاتصال إلى الجهاز الظاهري باستخدام Azure Bastion.
اسم المستخدم الافتراضي هو azureadm.
حدد SSH Private Key من 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
.
- متابعة من المثال السابق، مجموعة الموارد هي
اسم key vault في مجموعة موارد التوزيع:
- متابعة من المثال السابق، مجموعة الموارد هي
LAB-SECE-DEP05-INFRASTRUCTURE
. - يحتوي اسم خزنة المفاتيح على
LABSECEDEP05user
.
- متابعة من المثال السابق، مجموعة الموارد هي
عنوان IP العام للجهاز الظاهري للموزع. انتقل إلى مجموعة موارد جهة التوزيع الخاصة بك، وافتح الجهاز الظاهري الخاص بالتوزيع، وانسخ عنوان IP العام.
تحتاج إلى جمع المعلومات التالية:
- تم العثور على اسم ملف حالة التوزيع ضمن مجموعة موارد المكتبة:
- حدد Library resource group>State storage account>Containers.>
tfstate
انسخ اسم ملف حالة التوزيع. - بعد المثال السابق، اسم الكائن الثنائي كبير الحجم هو
LAB-SECE-DEP05-INFRASTRUCTURE.terraform.tfstate
.
- حدد Library resource group>State storage account>Containers.>
- تم العثور على اسم ملف حالة التوزيع ضمن مجموعة موارد المكتبة:
إذا لزم الأمر، قم بتسجيل كيان الخدمة. بالنسبة لهذا البرنامج التعليمي، هذه الخطوة غير مطلوبة.
في المرة الأولى التي يتم فيها إنشاء مثيل لبيئة، يجب تسجيل كيان الخدمة. في هذا البرنامج التعليمي، تكون وحدة التحكم في
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}"
يجب أن يبدأ توزيع منطقة حمل العمل تلقائياً.
انتظر حتى انتهاء عملية التوزيع. تظهر مجموعة الموارد الجديدة في مدخل Microsoft Azure.
استعد لتوزيع البنية الأساسية لنظام SAP
قم بالاتصال بجهاز التوزيع الظاهري الخاص بك للخطوات التالية. نسخة من المستودع هناك الآن.
انتقل إلى WORKSPACES/SYSTEM
المجلد وانسخ ملفات التكوين النموذجية لاستخدامها من المستودع.
نشر البنية الأساسية لنظام SAP
بعد انتهاء منطقة حمل العمل، يمكنك نشر موارد البنية الأساسية لنظام SAP. يقوم نظام SAP بإنشاء أجهزة ظاهرية ومكونات داعمة لتطبيق SAP الخاص بك. استخدم البرنامج النصي installer.sh لتوزيع نظام SAP.
توزيع نظام SAP:
- طبقة قاعدة البيانات، التي تنشر أجهزة ظاهرية لقاعدة البيانات وأقراصها ومثيل Azure Standard Load Balancer. يمكنك تشغيل قواعد بيانات HANA أو قواعد بيانات AnyDB في هذه الطبقة.
- طبقة SCS، التي تنشر عددا محددا من قبل العميل من الأجهزة الظاهرية ومثيل Azure Standard Load Balancer.
- طبقة التطبيق، التي توزع الأجهزة الظاهرية وأقراصها.
- مستوى Web Dispatcher.
توزيع نظام 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
تفحص أن مجموعة موارد النظام موجودة الآن في مدخل Microsoft 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 key vault لمجموعة موارد التوزيع.يجب أن يبدو ملفك مشابهاً لتكوين المثال التالي:
bom_base_name: S42022SPS00_v0001ms deployer_kv_name: <vaultName> BOM_directory: ${HOME}/Azure_SAP_Automated_Deployment/samples/SAP
قم بتشغيل دليل المبادئ Ansible لتنزيل البرنامج. إحدى الطرق التي يمكنك من خلالها تشغيل أدلة المبادئ هي استخدام قائمة Downloader .
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
اختر أدلة المبادئ لتشغيلها.
Playbook: تكوين نظام التشغيل الأساسي
يقوم دليل المبادئ هذا بإعداد تكوين نظام التشغيل العام على جميع الأجهزة، والذي يتضمن تكوين مستودعات البرامج والحزم والخدمات.
يمكنك تشغيل دليل المبادئ باستخدام قائمة التكوين أو سطر الأوامر.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to perform the Operating System configuration
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_01_os_base_config.yaml
Playbook: تكوين نظام التشغيل الخاص ب 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
دليل المبادئ: معالجة قائمة مكونات الصنف
يقوم دليل المبادئ هذا بتنزيل برنامج 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
Playbook: تثبيت SCS
يقوم دليل المبادئ هذا بتثبيت SAP Central Services. بالنسبة للتكوينات عالية التوفر، يقوم دليل المبادئ أيضا بتثبيت مثيل 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
Playbook: تثبيت مثيل قاعدة البيانات
يقوم دليل المبادئ هذا بتثبيت مثيلات قاعدة البيانات.
يمكنك تشغيل دليل المبادئ باستخدام قائمة التكوين أو سطر الأوامر.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_04_00_00_db_install.yaml
Playbook: تحميل قاعدة البيانات
يستدعي دليل المبادئ هذا مهمة تحميل قاعدة البيانات من خادم التطبيق الأساسي.
يمكنك تشغيل دليل المبادئ باستخدام قائمة التكوين أو سطر الأوامر.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_01_sap_dbload.yaml
Playbook: إعداد قابلية وصول عالية لقاعدة البيانات
يقوم دليل المبادئ هذا بتكوين قابلية الوصول العالية لقاعدة البيانات. بالنسبة إلى HANA، فإنه يستلزم النسخ المتماثل لنظام HANA و 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
Playbook: تثبيت خادم التطبيق الأساسي
يقوم دليل المبادئ هذا بتثبيت خادم التطبيق الأساسي. يمكنك تشغيل دليل المبادئ باستخدام قائمة التكوين أو سطر الأوامر.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_02_sap_pas_install.yaml
Playbook: تثبيتات خادم التطبيق
يقوم دليل المبادئ هذا بتثبيت خوادم التطبيق. يمكنك تشغيل دليل المبادئ باستخدام قائمة التكوين أو سطر الأوامر.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_02_sap_app_install.yaml
Playbook: عمليات تثبيت Web Dispatcher
يقوم دليل المبادئ هذا بتثبيت Web Dispatchers. يمكنك تشغيل دليل المبادئ باستخدام قائمة التكوين أو سطر الأوامر.
لقد قمت الآن بنشر وتكوين نظام HANA مستقل. إذا كنت بحاجة إلى تكوين قاعدة بيانات SAP HANA عالية التوفر (HA)، فقم بتشغيل دليل مبادئ HANA HA.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
export sap_sid=L00
export ANSIBLE_PRIVATE_KEY_FILE=sshkey
playbook_options=(
--inventory-file="${sap_sid}_hosts.yaml"
--private-key=${ANSIBLE_PRIVATE_KEY_FILE}
--extra-vars="_workspace_directory=`pwd`"
--extra-vars ansible_ssh_pass='{{ lookup("env", "ANSIBLE_PASSWORD") }}'
--extra-vars="@sap-parameters.yaml"
"${@}"
)
# Run the playbook to retrieve the ssh key from the Azure key vault
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/pb_get-sshkey.yaml
# Run the playbook to download the software from the SAP Library
ansible-playbook "${playbook_options[@]}" ~/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/playbook_05_04_sap_web_install.yaml
تنظيف التثبيت
من المهم تنظيف تثبيت 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
تحقق من تنظيف جميع الموارد.