Samouczek: wdrażanie platformy SAP Deployment Automation Framework na potrzeby skali przedsiębiorstwa
W tym samouczku przedstawiono sposób wykonywania wdrożeń przy użyciu programu SAP Deployment Automation Framework. W tym przykładzie użyto usługi Azure Cloud Shell do wdrożenia infrastruktury płaszczyzny sterowania. Maszyna wirtualna wdrażająca tworzy pozostałą infrastrukturę i konfiguracje oprogramowania SAP HANA.
Ten samouczek obejmuje wykonanie następujących zadań:
- Wdróż płaszczyznę sterowania (infrastruktura i biblioteka wdrażania).
- Wdróż strefę obciążenia (poziomą i systemową).
- Pobieranie/przekazywanie rachunku za materiały.
- Konfigurowanie standardowych i specyficznych dla systemu operacyjnego SAP ustawień systemu operacyjnego.
- Zainstaluj bazę danych HANA.
- Zainstaluj serwer usług SAP Central Services (SCS).
- Załaduj bazę danych HANA.
- Zainstaluj podstawowy serwer aplikacji.
Istnieją trzy główne kroki wdrażania oprogramowania SAP na platformie Azure przy użyciu struktury automatyzacji:
Przygotuj region. Składniki są wdrażane w celu obsługi platformy automatyzacji SAP w określonym regionie świadczenia usługi Azure. W tym kroku wykonasz następujące czynności:
- Utwórz środowisko wdrażania.
- Utwórz magazyn udostępniony dla plików stanu programu Terraform.
- Utwórz magazyn udostępniony dla nośnika instalacyjnego SAP.
Przygotuj strefę obciążenia. Wdrażasz składniki strefy obciążenia, takie jak sieć wirtualna i magazyny kluczy.
Wdróż system. Należy wdrożyć infrastrukturę dla systemu SAP.
W procesie automatyzacji wdrażania istnieje kilka przepływów pracy. Ten samouczek koncentruje się na jednym przepływie pracy w celu ułatwienia wdrażania. Ten przepływ pracy, autonomiczne środowisko SAP S4 HANA, można wdrożyć przy użyciu powłoki Bash. W tym samouczku opisano ogólną hierarchię i różne fazy wdrożenia.
Omówienie środowiska
Struktura SAP Deployment Automation Framework ma dwa główne składniki:
- Infrastruktura wdrażania (płaszczyzna sterowania)
- Infrastruktura SAP (obciążenie SAP)
Na poniższym diagramie przedstawiono zależność między płaszczyzną sterowania a płaszczyzną aplikacji.
Platforma używa narzędzia Terraform do wdrażania infrastruktury i rozwiązania Ansible na potrzeby konfiguracji systemu operacyjnego i aplikacji. Na poniższym diagramie przedstawiono logiczne rozdzielenie płaszczyzny sterowania i strefy obciążenia.
Strefa zarządzania
Strefa zarządzania zawiera infrastrukturę płaszczyzny sterowania, z której wdrażane są inne środowiska. Po wdrożeniu strefy zarządzania rzadko, jeśli kiedykolwiek, trzeba ponownie wdrożyć.
Moduł wdrażania to aparat wykonywania platformy automatyzacji SAP. Ta wstępnie skonfigurowana maszyna wirtualna jest używana do wykonywania poleceń programu Terraform i rozwiązania Ansible.
Biblioteka SAP udostępnia trwały magazyn plików stanu programu Terraform i pobranego nośnika instalacyjnego SAP dla płaszczyzny sterowania.
Narzędzie wdrażania i bibliotekę można skonfigurować w pliku zmiennej programu Terraform .tfvars
. Aby uzyskać więcej informacji, zobacz Konfigurowanie płaszczyzny sterowania.
Strefa obciążenia
Aplikacja SAP zwykle ma wiele warstw wdrażania. Na przykład możesz mieć warstwy programowania, kontroli jakości i produkcji. Struktura SAP Deployment Automation Framework wywołuje te warstwy obciążeń.
Strefa obciążenia SAP zawiera składniki sieciowe i udostępnione dla maszyn wirtualnych SAP. Te składniki obejmują tabele tras, sieciowe grupy zabezpieczeń i sieci wirtualne. Poziom zapewnia możliwość podzielenia wdrożeń na różne środowiska. Aby uzyskać więcej informacji, zobacz Konfigurowanie strefy obciążenia.
Wdrożenie systemu składa się z maszyn wirtualnych do uruchamiania aplikacji SAP, w tym warstw internetowych, aplikacji i bazy danych. Aby uzyskać więcej informacji, zobacz Konfigurowanie systemu SAP.
Wymagania wstępne
Repozytorium SAP Deployment Automation Framework jest dostępne w witrynie GitHub.
Musisz wdrożyć usługę Azure Bastion lub użyć klienta protokołu Secure Shell (SSH), aby nawiązać połączenie z modułem wdrażania. Użyj dowolnego klienta SSH, z którym czujesz się komfortowo.
Przeglądanie limitu przydziału subskrypcji platformy Azure
Upewnij się, że subskrypcja platformy Azure ma wystarczającą liczbę rdzeni dla jednostek SKU rodziny DdSV4 i EdsV4 w wybranym regionie. Około 50 rdzeni dostępnych dla każdej rodziny maszyn wirtualnych powinno wystarczyć.
Konto użytkownika S-User na potrzeby pobierania oprogramowania SAP
Do pobrania oprogramowania SAP wymagane jest prawidłowe konto użytkownika SAP (sap-user lub S-User) z uprawnieniami pobierania oprogramowania.
Konfigurowanie usługi Cloud Shell
Przejdź do usługi Azure Cloud Shell.
Zaloguj się do swojego konta platformy Azure.
az login
Uwierzytelnianie logowania. Nie zamykaj okna, dopóki nie zostanie wyświetlony monit.
Zweryfikuj aktywną subskrypcję i zarejestruj swój identyfikator subskrypcji:
az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=table
Lub:
az account list --output=table | grep True
W razie potrzeby zmień aktywną subskrypcję.
az account set --subscription <Subscription ID>
Sprawdź, czy aktywna subskrypcja została zmieniona.
az account list --query "[?isDefault].{Name: name, CloudName: cloudName, SubscriptionId: id, State: state, IsDefault: isDefault}" --output=table
Opcjonalnie usuń wszystkie artefakty wdrożenia. Użyj tego polecenia, jeśli chcesz usunąć wszystkie pozostałości poprzednich artefaktów wdrożenia.
cd ~ rm -rf Azure_SAP_Automated_Deployment .sap_deployment_automation .terraform.d
Utwórz folder wdrożenia i sklonuj repozytorium.
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
Opcjonalnie zweryfikuj wersje programu Terraform i interfejsu wiersza polecenia platformy Azure dostępne w wystąpieniu usługi Cloud Shell.
./sap-automation/deploy/scripts/helpers/check_workstation.sh
Aby uruchomić platformę automatyzacji, zaktualizuj do następujących wersji:
az
wersja 2.5.0 lub nowsza.terraform
wersja 1.5 lub nowsza. Uaktualnij przy użyciu instrukcji narzędzia Terraform, w razie potrzeby.
Tworzenie jednostki usługi
Platforma wdrażania automatyzacji sap używa jednostek usługi do wdrożenia. Utwórz jednostkę usługi dla wdrożenia płaszczyzny sterowania. Upewnij się, że używasz konta z uprawnieniami do tworzenia jednostek usługi.
Po wybraniu nazwy jednostki usługi upewnij się, że nazwa jest unikatowa w dzierżawie platformy Azure.
Nadaj jednostce usługi uprawnienia Współautor i Dostęp użytkowników Administracja 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"
Przejrzyj dane wyjściowe. Na przykład:
{ "appId": "<AppId>", "displayName": "<environment>-Deployment-Account ", "name": "<AppId>", "password": "<AppSecret>", "tenant": "<TenantId>" }
Skopiuj szczegóły danych wyjściowych. Pamiętaj, aby zapisać wartości dla
appId
,password
iTenant
.Dane wyjściowe są mapowe na następujące parametry. Te parametry są używane w kolejnych krokach z poleceniami automatyzacji.
Nazwa danych wejściowych parametrów Nazwa danych wyjściowych spn_id
appId
spn_secret
password
tenant_id
tenant
Opcjonalnie przypisz rolę Administracja istratora dostępu użytkowników do jednostki usługi.
export appId="<appId>" az role assignment create --assignee ${appId} \ --role "User Access Administrator" \ --scope /subscriptions/${ARM_SUBSCRIPTION_ID}
Ważne
Jeśli nie przypiszesz roli Administracja istratora dostępu użytkowników do jednostki usługi, nie możesz przypisać uprawnień przy użyciu automatyzacji.
Konfigurowanie poświadczeń aplikacji internetowej płaszczyzny sterowania
W ramach płaszczyzny sterowania platformy automatyzacji SAP można opcjonalnie utworzyć interaktywną aplikację internetową, która ułatwia tworzenie wymaganych plików konfiguracji.
Tworzenie rejestracji aplikacji
Jeśli chcesz użyć aplikacji internetowej, musisz najpierw utworzyć rejestrację aplikacji na potrzeby uwierzytelniania. Otwórz usługę Cloud Shell i uruchom następujące polecenia:
W razie potrzeby zastąp ciąg LAB swoim środowiskiem.
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}"
Uwaga
Upewnij się, że zalogowano się przy użyciu konta użytkownika z wymaganymi uprawnieniami do tworzenia rejestracji aplikacji. Aby uzyskać więcej informacji na temat rejestracji aplikacji, zobacz Tworzenie rejestracji aplikacji.
Skopiuj szczegóły danych wyjściowych. Pamiętaj, aby zapisać wartości dla App registration ID
i App registration password
.
Dane wyjściowe są mapowe na następujące parametry. Te parametry są używane w kolejnych krokach z poleceniami automatyzacji.
Nazwa danych wejściowych parametrów | Nazwa danych wyjściowych |
---|---|
app_registration_app_id |
App registration ID |
webapp_client_secret |
App registration password |
Wyświetlanie plików konfiguracji
Otwórz program Visual Studio Code z poziomu usługi Cloud Shell.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES code .
WORKSPACES
Rozwiń katalog. Istnieją sześć podfolderów:CONFIGURATION
, ,DEPLOYER
,LIBRARY
LANDSCAPE
,SYSTEM
, iBOMS
. Rozwiń każdy z tych folderów, aby znaleźć pliki konfiguracji wdrożenia regionalnego.Znajdź pliki zmiennych terraform w odpowiednim podfolderze. Na przykład plik zmiennej
DEPLOYER
Terraform może wyglądać następująco:# 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
Zanotuj lokalizacje plików zmiennych programu Terraform na potrzeby przyszłych edycji podczas wdrażania.
Znajdź pliki zmiennych programu Terraform dla biblioteki SAP w odpowiednim podfolderze. Na przykład plik zmiennej
LIBRARY
Terraform może wyglądać następująco:# 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
Zanotuj lokalizacje plików zmiennych programu Terraform na potrzeby przyszłych edycji podczas wdrażania.
Ważne
Upewnij się, że dns_label
wystąpienie usługi Azure Prywatna strefa DNS jest zgodne z twoim wystąpieniem.
Wdrażanie płaszczyzny sterowania
Użyj skryptu deploy_controlplane.sh , aby wdrożyć narzędzie wdrażania i bibliotekę. Te elementy wdrażania składają się na płaszczyznę sterowania dla wybranego obszaru automatyzacji.
Wdrożenie przechodzi przez cykle wdrażania infrastruktury, odświeżania stanu i przekazywania plików stanu programu Terraform do konta magazynu biblioteki. Wszystkie te kroki są pakowane w jeden skrypt wdrażania. Skrypt wymaga lokalizacji pliku konfiguracji dla narzędzia wdrażania i biblioteki oraz niektórych innych parametrów.
Na przykład wybierz pozycję Europa Zachodnia jako lokalizację wdrożenia z nazwą SECE
czteroznakową , jak opisano wcześniej. Przykładowy plik LAB-SECE-DEP05-INFRASTRUCTURE.tfvars
konfiguracji narzędzia wdrażania znajduje się w folderze ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/DEPLOYER/LAB-SECE-DEP05-INFRASTRUCTURE
.
Przykładowy plik LAB-SECE-SAP_LIBRARY.tfvars
konfiguracji biblioteki SAP znajduje się w folderze ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LIBRARY/LAB-SECE-SAP_LIBRARY
.
Ustaw zmienne środowiskowe dla jednostki usługi:
export ARM_SUBSCRIPTION_ID="<subscriptionId>" export ARM_CLIENT_ID="<appId>" export ARM_CLIENT_SECRET="<password>" export ARM_TENANT_ID="<tenantId>"
Jeśli uruchamiasz skrypt ze stacji roboczej, która nie jest częścią sieci wdrażania lub z usługi Cloud Shell, możesz użyć następującego polecenia, aby ustawić zmienną środowiskową, aby umożliwić łączność z adresu IP:
export TF_VAR_Agent_IP=<your-public-ip-address>
Jeśli wdrażasz aplikację internetową konfiguracji, musisz również ustawić następujące zmienne środowiskowe:
export TF_VAR_app_registration_app_id=<appRegistrationId> export TF_VAR_webapp_client_secret=<appRegistrationPassword> export TF_use_webapp=true
Utwórz moduł wdrażania i bibliotekę SAP i dodaj szczegóły jednostki usługi do magazynu kluczy wdrażania przy użyciu tego skryptu:
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}"
Jeśli wystąpią problemy z uwierzytelnianiem, uruchom polecenie
az logout
, aby wylogować się i wyczyścić elementtoken-cache
. Następnie uruchom polecenieaz login
, aby ponownie uwierzytelnić.Poczekaj, aż platforma automatyzacji uruchomi operacje
plan
programu Terraform iapply
.Wdrożenie narzędzia wdrażania może trwać od około 15 do 20 minut.
Należy zanotować niektóre wartości dla nadchodzących kroków. Wyszukaj ten blok tekstowy w danych wyjściowych:
######################################################################################### # # # 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 # # # #########################################################################################
Przejdź do portalu Azure Portal.
Wybierz pozycję Grupy zasobów. Wyszukaj nowe grupy zasobów dla infrastruktury i biblioteki wdrażania. Możesz na przykład zobaczyć
LAB-[region]-DEP05-INFRASTRUCTURE
wartości iLAB-[region]-SAP_LIBRARY
.Zawartość grupy zasobów narzędzia wdrażania i biblioteki SAP jest wyświetlana tutaj.
Plik stanu narzędzia Terraform jest teraz umieszczany na koncie magazynu, którego nazwa zawiera
tfstate
. Konto magazynu ma kontener o nazwietfstate
z plikami stanu wdrażania i biblioteki. Zawartość kontenera po pomyślnym wdrożeniutfstate
płaszczyzny sterowania jest wyświetlana tutaj.
Typowe problemy i rozwiązania
Oto kilka wskazówek dotyczących rozwiązywania problemów:
Jeśli wystąpi następujący błąd podczas tworzenia modułu wdrażania, upewnij się, że jesteś w
WORKSPACES
katalogu podczas uruchamiania skryptu:Incorrect parameter file. The file must contain the environment attribute!!
Następujący błąd jest przejściowy. Uruchom ponownie to samo polecenie:
deploy_controlplane.sh
.Error: file provisioner error .. timeout - last error: dial tcp
Jeśli masz problemy z uwierzytelnianiem bezpośrednio po uruchomieniu skryptu
deploy_controlplane.sh
, uruchom następujące polecenie:az logout az login
Połączenie do maszyny wirtualnej wdrażającej
Po wdrożeniu płaszczyzny sterowania stan narzędzia Terraform jest przechowywany przy użyciu zdalnego zaplecza azurerm
. Wszystkie wpisy tajne służące do nawiązywania połączenia z maszyną wirtualną dostawcy wdrażania są dostępne w magazynie kluczy w grupie zasobów dostawcy wdrażania.
Aby nawiązać połączenie z maszyną wirtualną wdrażania:
Zaloguj się w witrynie Azure Portal.
Wybierz lub wyszukaj magazyny kluczy.
Na stronie Magazyn kluczy znajdź magazyn kluczy wdrażania. Nazwa zaczyna się od
LAB[REGION]DEP05user
. W razie potrzeby przefiltruj według grupy zasobów lub lokalizacji.W sekcji Ustawienia w okienku po lewej stronie wybierz pozycję Wpisy tajne.
Znajdź i wybierz wpis tajny zawierający klucz sshkey. Może to wyglądać następująco:
LAB-[REGION]-DEP05-sshkey
.Na stronie wpisu tajnego wybierz bieżącą wersję. Następnie skopiuj wartość wpisu tajnego.
Otwórz edytor zwykłego tekstu. Skopiuj wartość wpisu tajnego.
Zapisz plik, w którym zachowasz klucze SSH. Użyj na przykład nazwy
C:\\Users\\<your-username>\\.ssh
.Zapisz plik. Jeśli zostanie wyświetlony monit o zapisanie jako typ, wybierz pozycję Wszystkie pliki , jeśli protokół SSH nie jest opcją. Użyj na przykład nazwy
deployer.ssh
.Połączenie do maszyny wirtualnej wdrażania za pośrednictwem dowolnego klienta SSH, takiego jak Visual Studio Code. Użyj zanotowanego wcześniej publicznego adresu IP i pobranego klucza SSH. Aby uzyskać instrukcje dotyczące nawiązywania połączenia z modułem wdrażania przy użyciu programu Visual Studio Code, zobacz Połączenie do narzędzia wdrażania przy użyciu programu Visual Studio Code. Jeśli używasz programu PuTTY, najpierw przekonwertuj plik klucza SSH przy użyciu programu PuTTYGen.
Uwaga
Domyślna nazwa użytkownika to azureadm.
Upewnij się, że plik używany do zapisania klucza SSH może zapisać plik przy użyciu poprawnego formatu, czyli bez znaków powrotu karetki (CR). Użyj programu Visual Studio Code lub Notatnik++.
Po nawiązaniu połączenia z maszyną wirtualną wdrażającego możesz pobrać oprogramowanie SAP przy użyciu pakietu Bill of Materials (BOM).
Połączenie do maszyny wirtualnej wdrażania, gdy nie używasz publicznego adresu IP
W przypadku wdrożeń bez łączności z publicznym adresem IP bezpośrednia łączność przez Internet nie jest dozwolona. W takich przypadkach możesz użyć serwera przesiadkowego usługi Azure Bastion lub wykonać następny krok z komputera, który ma łączność z siecią wirtualną platformy Azure.
W poniższym przykładzie użyto usługi Azure Bastion.
Aby nawiązać połączenie z modułem wdrażania:
Zaloguj się w witrynie Azure Portal.
Przejdź do grupy zasobów zawierającej maszynę wirtualną wdrażającą.
Połączenie do maszyny wirtualnej przy użyciu usługi Azure Bastion.
Domyślna nazwa użytkownika to azureadm.
Wybierz pozycję Klucz prywatny SSH z usługi Azure Key Vault.
Wybierz subskrypcję zawierającą płaszczyznę sterowania.
Wybierz magazyn kluczy wdrażania.
Z listy wpisów tajnych wybierz wpis tajny kończący się ciągiem -sshkey.
Nawiąż połączenie z maszyną wirtualną.
Pozostałe zadania muszą być wykonywane na wdrożeniu.
Zabezpieczanie płaszczyzny sterowania
Płaszczyzna sterowania jest najbardziej krytyczną częścią struktury automatyzacji SAP. Ważne jest, aby zabezpieczyć płaszczyznę sterowania. Poniższe kroki ułatwiają zabezpieczenie płaszczyzny sterowania.
Należy zaktualizować plik płaszczyzny tfvars
sterowania, aby włączyć prywatne punkty końcowe i zablokować publiczny dostęp do kont magazynu i magazynów kluczy.
Aby skopiować pliki konfiguracji płaszczyzny sterowania do maszyny wirtualnej wdrażającej, możesz użyć skryptu
sync_deployer.sh
. Zaloguj się do maszyny wirtualnej narzędzia wdrażającego i zaktualizuj następujące polecenie, aby użyć nazwy konta magazynu stanu programu Terraform. Następnie uruchom następujący skrypt: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
To polecenie kopiuje
tfvars
pliki konfiguracji z konta magazynu biblioteki SAP do maszyny wirtualnej wdrażającej.Zmień pliki konfiguracji płaszczyzny sterowania na:
# 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
Uruchom ponownie wdrożenie, aby zastosować zmiany. Zaktualizuj nazwę konta magazynu i nazwę magazynu kluczy w skrypce.
export ARM_SUBSCRIPTION_ID="<subscriptionId>" export ARM_CLIENT_ID="<appId>" export ARM_CLIENT_SECRET="<password>" export ARM_TENANT_ID="<tenantId>"
Utwórz program wdrażania i bibliotekę 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}"
Wdrażanie aplikacji internetowej
Aplikację internetową można wdrożyć przy użyciu następującego skryptu:
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
Zbieranie informacji o strefie obciążenia
Zbierz następujące informacje w edytorze tekstów. Te informacje zostały zebrane na końcu fazy "Wdrażanie płaszczyzny sterowania".
Nazwa konta magazynu plików stanu programu Terraform w grupie zasobów biblioteki:
- Poniżej powyższego przykładu grupa zasobów to
LAB-SECE-SAP_LIBRARY
. - Nazwa konta magazynu zawiera wartość
labsecetfstate
.
- Poniżej powyższego przykładu grupa zasobów to
Nazwa magazynu kluczy w grupie zasobów wdrażania:
- Poniżej powyższego przykładu grupa zasobów to
LAB-SECE-DEP05-INFRASTRUCTURE
. - Nazwa magazynu kluczy zawiera .
LABSECEDEP05user
- Poniżej powyższego przykładu grupa zasobów to
Publiczny adres IP maszyny wirtualnej wdrażania. Przejdź do grupy zasobów swojego dostawcy, otwórz maszynę wirtualną dostawcy i skopiuj publiczny adres IP.
Musisz zebrać następujące informacje:
- Nazwa pliku stanu wdrażania znajduje się w grupie zasobów biblioteki:
- Wybierz pozycję Biblioteka grupa>zasobów Stan konta>magazynu Kontenery.>
tfstate
Skopiuj nazwę pliku stanu narzędzia wdrażania. - Poniżej powyższego przykładu nazwa obiektu blob to
LAB-SECE-DEP05-INFRASTRUCTURE.terraform.tfstate
.
- Wybierz pozycję Biblioteka grupa>zasobów Stan konta>magazynu Kontenery.>
- Nazwa pliku stanu wdrażania znajduje się w grupie zasobów biblioteki:
W razie potrzeby zarejestruj jednostkę usługi. W tym samouczku ten krok nie jest wymagany.
Przy pierwszym utworzeniu wystąpienia środowiska należy zarejestrować jednostkę usługi. W tym samouczku płaszczyzna sterowania znajduje się w
LAB
środowisku, a strefa obciążenia znajduje się również w elemecieLAB
. Z tego powodu jednostka usługi musi być zarejestrowanaLAB
dla środowiska.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}"
Przygotowywanie wdrożenia strefy obciążenia
Połączenie do maszyny wirtualnej wdrażania, aby wykonać następujące kroki. Teraz znajduje się tam kopia repozytorium.
Wdrażanie strefy obciążenia
Użyj skryptu install_workloadzone , aby wdrożyć strefę obciążenia SAP.
Na maszynie wirtualnej wdrażającej
Azure_SAP_Automated_Deployment
przejdź do folderu .cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/LANDSCAPE/LAB-SECE-SAP04-INFRASTRUCTURE
Opcjonalnie otwórz plik konfiguracji strefy obciążenia, a w razie potrzeby zmień nazwę logiczną sieci, aby była zgodna z nazwą sieci.
Rozpocznij wdrażanie strefy obciążenia. Potrzebne są szczegółowe informacje zebrane wcześniej:
- Nazwa pliku wdrażania
tfstate
(znalezionego w kontenerzetfstate
) tfstate
Nazwa konta magazynu- Nazwa magazynu kluczy wdrażania
- Nazwa pliku wdrażania
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}"
Wdrożenie strefy obciążenia powinno zostać uruchomione automatycznie.
Poczekaj na zakończenie wdrożenia. Nowa grupa zasobów zostanie wyświetlona w witrynie Azure Portal.
Przygotowanie do wdrożenia infrastruktury systemu SAP
Połączenie do maszyny wirtualnej wdrażania, aby wykonać następujące kroki. Teraz znajduje się tam kopia repozytorium.
Przejdź do WORKSPACES/SYSTEM
folderu i skopiuj przykładowe pliki konfiguracji do użycia z repozytorium.
Wdrażanie infrastruktury systemu SAP
Po zakończeniu strefy obciążenia można wdrożyć zasoby infrastruktury systemu SAP. System SAP tworzy maszyny wirtualne i składniki pomocnicze dla aplikacji SAP. Użyj skryptu installer.sh , aby wdrożyć system SAP.
System SAP wdraża:
- Warstwa bazy danych, która wdraża maszyny wirtualne bazy danych i ich dyski oraz wystąpienie usługi Azure usługa Load Balancer w warstwie Standardowa. W tej warstwie można uruchamiać bazy danych HANA lub bazy danych AnyDB.
- Warstwa SCS, która wdraża zdefiniowaną przez klienta liczbę maszyn wirtualnych i wystąpienie usługi Azure usługa Load Balancer w warstwie Standardowa.
- Warstwa aplikacji, która wdraża maszyny wirtualne i ich dyski.
- Warstwa Dyspozytora sieci Web.
Wdrażanie systemu 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
Sprawdź, czy grupa zasobów systemowych znajduje się teraz w witrynie Azure Portal.
Pobieranie oprogramowania SAP przy użyciu rachunku materiałów
Platforma automatyzacji udostępnia narzędzia do pobierania oprogramowania z oprogramowania SAP przy użyciu rozwiązania SAP BOM. Oprogramowanie jest pobierane do biblioteki SAP, która działa jako archiwum dla wszystkich multimediów wymaganych do wdrożenia oprogramowania SAP.
Model SAP BOM naśladuje planistę konserwacji sap. Istnieją odpowiednie identyfikatory produktów i zestaw adresów URL pobierania.
Przykładowy wyodrębnienie pliku BOM wygląda następująco:
---
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"
Na potrzeby tej przykładowej konfiguracji grupa zasobów to LAB-SECE-DEP05-INFRASTRUCTURE
. Nazwa magazynu kluczy wdrażania zawiera LABSECEDEP05user
nazwę. Te informacje służą do konfigurowania wpisów tajnych magazynu kluczy modułu wdrażania.
Połączenie do maszyny wirtualnej wdrażania, aby wykonać następujące kroki. Teraz znajduje się tam kopia repozytorium.
Dodaj wpis tajny z nazwą użytkownika konta użytkownika sap. Zastąp
<vaultName>
ciąg nazwą magazynu kluczy wdrażania. Zastąp<sap-username>
również nazwą użytkownika sap.export key_vault=<vaultName> sap_username=<sap-username> az keyvault secret set --name "S-Username" --vault-name $key_vault --value "${sap_username}";
Dodaj wpis tajny z hasłem dla konta użytkownika SAP. Zastąp
<vaultName>
ciąg nazwą magazynu kluczy wdrażania i zastąp<sap-password>
ciąg hasłem SAP.Uwaga
Użycie pojedynczych cudzysłowów podczas ustawiania
sap_user_password
jest ważne. Użycie znaków specjalnych w haśle może w przeciwnym razie spowodować nieprzewidywalne wyniki.sap_user_password='<sap-password>' az keyvault secret set --name "S-Password" --vault-name "${key_vault}" --value="${sap_user_password}";
Skonfiguruj plik parametrów SAP na potrzeby procesu pobierania. Następnie pobierz oprogramowanie SAP przy użyciu podręczników rozwiązania Ansible. Uruchom następujące polecenia:
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES mkdir BOMS cd BOMS vi sap-parameters.yaml
Zaktualizuj element
bom_base_name
o nazwie BOM. Zastąp<Deployer KeyVault Name>
ciąg nazwą magazynu kluczy platformy Azure dla grupy zasobów wdrażania.Plik powinien wyglądać podobnie do następującej przykładowej konfiguracji:
bom_base_name: S42022SPS00_v0001ms deployer_kv_name: <vaultName> BOM_directory: ${HOME}/Azure_SAP_Automated_Deployment/samples/SAP
Uruchom podręcznik rozwiązania Ansible, aby pobrać oprogramowanie. Jednym ze sposobów uruchamiania podręczników jest użycie menu Narzędzia do pobierania. Uruchom skrypt
download_menu
.${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/download_menu.sh
Wybierz podręczniki do uruchomienia.
1) BoM Downloader 3) Quit Please select playbook:
Wybierz podręcznik
1) BoM Downloader
, aby pobrać oprogramowanie SAP opisane w pliku BOM na konto magazynu. Sprawdź, czysapbits
kontener ma wszystkie nośniki do instalacji.Podręcznik można uruchomić przy użyciu menu konfiguracji lub bezpośrednio z poziomu wiersza polecenia.
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
Jeśli chcesz, możesz również przekazać poświadczenia użytkownika SAP jako parametry.
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
Instalacja aplikacji SAP
Instalacja aplikacji SAP odbywa się za pośrednictwem podręczników rozwiązania Ansible.
Przejdź do folderu wdrożenia systemu.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/SYSTEM/LAB-SECE-SAP04-L00/
Upewnij się, że masz następujące pliki w bieżących folderach: sap-parameters.yaml
i L00_host.yaml
.
W przypadku autonomicznego systemu SAP S/4HANA istnieje osiem podręczników do uruchomienia w sekwencji. Jednym ze sposobów uruchamiania podręczników jest użycie menu konfiguracji.
Uruchom skrypt configuration_menu
.
${HOME}/Azure_SAP_Automated_Deployment/sap-automation/deploy/ansible/configuration_menu.sh
Wybierz podręczniki do uruchomienia.
Podręcznik: podstawowa konfiguracja systemu operacyjnego
Ten podręcznik wykonuje ogólną konfigurację systemu operacyjnego na wszystkich maszynach, w tym konfigurację repozytoriów oprogramowania, pakietów i usług.
Podręcznik można uruchomić przy użyciu menu konfiguracji lub wiersza polecenia.
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
Podręcznik: konfiguracja systemu operacyjnego specyficznego dla oprogramowania SAP
Ten podręcznik wykonuje konfigurację systemu operacyjnego SAP na wszystkich maszynach. Kroki obejmują tworzenie grup woluminów i systemów plików oraz konfigurację repozytoriów oprogramowania, pakietów i usług.
Podręcznik można uruchomić przy użyciu menu konfiguracji lub wiersza polecenia.
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
Podręcznik: przetwarzanie BOM
Ten podręcznik pobiera oprogramowanie SAP na maszynę wirtualną SCS.
Podręcznik można uruchomić przy użyciu menu konfiguracji lub wiersza polecenia.
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
Podręcznik: instalacja scS
Ten podręcznik instaluje usługi SAP Central Services. W przypadku konfiguracji o wysokiej dostępności podręcznik instaluje również wystąpienie oprogramowania SAP ERS i konfiguruje program Pacemaker.
Podręcznik można uruchomić przy użyciu menu konfiguracji lub wiersza polecenia.
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
Podręcznik: instalacja wystąpienia bazy danych
Ten podręcznik instaluje wystąpienia bazy danych.
Podręcznik można uruchomić przy użyciu menu konfiguracji lub wiersza polecenia.
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
Podręcznik: ładowanie bazy danych
Ten podręcznik wywołuje zadanie ładowania bazy danych z podstawowego serwera aplikacji.
Podręcznik można uruchomić przy użyciu menu konfiguracji lub wiersza polecenia.
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
Podręcznik: konfiguracja wysokiej dostępności bazy danych
Ten podręcznik konfiguruje wysoką dostępność bazy danych. W przypadku platformy HANA wiąże się ona z replikacją systemu HANA i programem Pacemaker dla bazy danych HANA.
Podręcznik można uruchomić przy użyciu menu konfiguracji lub wiersza polecenia.
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
Podręcznik: instalacja podstawowego serwera aplikacji
Ten podręcznik instaluje podstawowy serwer aplikacji. Podręcznik można uruchomić przy użyciu menu konfiguracji lub wiersza polecenia.
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
Podręcznik: instalacje serwera aplikacji
Ten podręcznik instaluje serwery aplikacji. Podręcznik można uruchomić przy użyciu menu konfiguracji lub wiersza polecenia.
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
Podręcznik: instalacje programu Web Dispatcher
Ten podręcznik instaluje narzędzia Web Dispatchers. Podręcznik można uruchomić przy użyciu menu konfiguracji lub wiersza polecenia.
Wdrożono i skonfigurowano autonomiczny system HANA. Jeśli musisz skonfigurować bazę danych SAP HANA o wysokiej dostępności (HA), uruchom podręcznik 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
Czyszczenie instalacji
Ważne jest, aby wyczyścić instalację sap z tego samouczka po zakończeniu pracy. W przeciwnym razie nadal ponosisz koszty związane z zasobami.
Aby usunąć całą wdrożona infrastrukturę SAP, należy wykonać następujące kroki:
- Usuń zasoby infrastruktury systemu SAP.
- Usuń wszystkie strefy obciążenia (poziome).
- Usuń płaszczyznę sterowania.
Uruchom usuwanie zasobów infrastruktury SAP i stref obciążeń z maszyny wirtualnej wdrażającej. Uruchom usunięcie płaszczyzny sterowania z usługi Cloud Shell.
Przed rozpoczęciem zaloguj się do konta platformy Azure. Następnie sprawdź, czy jesteś w odpowiedniej subskrypcji.
Usuwanie infrastruktury SAP
Przejdź do podfolderu LAB-SECE-SAP01-L00
w folderze SYSTEM
. Następnie uruchom następujące polecenie:
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
Usuwanie strefy obciążenia SAP
Przejdź do podfolderu LAB-XXXX-SAP01-INFRASTRUCTURE
w folderze LANDSCAPE
. Następnie uruchom następujące polecenie:
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
Usuwanie płaszczyzny sterowania
Zaloguj się do usługi Cloud Shell.
Przejdź do folderu WORKSPACES
.
cd ${HOME}/Azure_SAP_Automated_Deployment/WORKSPACES/
Wyeksportuj następujące dwie zmienne środowiskowe:
export DEPLOYMENT_REPO_PATH="${HOME}/Azure_SAP_Automated_Deployment/sap-automation"
export ARM_SUBSCRIPTION_ID="<subscriptionId>"
Uruchom następujące polecenie:
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
Sprawdź, czy wszystkie zasoby są czyszczone.