Udostępnij przez


Konfigurowanie płaszczyzny sterowania

Warstwa kontrolna dla SAP Deployment Automation Framework składa się z następujących komponentów:

  • Narzędzie do wdrażania
  • Biblioteka SAP

Diagram przedstawiający płaszczyznę sterowania.

Narzędzie do wdrażania

Silnik wykonawczy to rdzeń wykonawczy frameworku SAP Deployment Automation. Jest to wstępnie skonfigurowana maszyna wirtualna używana do uruchamiania poleceń programu Terraform i rozwiązania Ansible. Podczas korzystania z Azure DevOps agent wdrażający jest zarządzany lokalnie.

Konfiguracja narzędzia wdrażania jest wykonywana w pliku zmiennej programu Terraform tfvars .

Jeśli chcesz użyć istniejącej grupy zasobów dla deployera, podaj identyfikator zasobu Azure dla tej grupy zasobów przy użyciu parametru resource_group_arm_id w pliku tfvars deployera. Jeśli parametr nie jest zdefiniowany, grupa zasobów zostanie utworzona przy użyciu domyślnego nazewnictwa. Nazwę domyślną można zmienić przy użyciu parametru resource_group_name .

Parametry narzędzia Terraform

W tej tabeli przedstawiono parametry narzędzia Terraform. Te parametry należy wprowadzić ręcznie, jeśli nie używasz skryptów wdrażania.

Zmienna Opis Typ
tfstate_resource_id Identyfikator zasobu platformy Azure dla konta magazynowego w bibliotece SAP, które zawiera pliki stanu narzędzia Terraform Wymagane

Parametry środowiska

W tej tabeli przedstawiono parametry definiujące nazewnictwo zasobów.

Zmienna Opis Typ Notatki
environment Identyfikator płaszczyzny sterowania (maksymalnie 5 znaków). Obowiązkowy Na przykład PROD w przypadku środowiska produkcyjnego i NP środowiska nieprodukcyjnego.
location Region świadczenia usługi Azure, w którym ma zostać wdrożony. Wymagane Użyj małych liter.
codename Dodatkowy składnik nazewnictwa zasobów. Opcjonalnie
name_override_file Plik zastępujący nazwę. Opcjonalnie Zobacz Niestandardowe nazewnictwo.
place_delete_lock_on_resources Umieść blokadę usuwania na kluczowych zasobach. Opcjonalnie

Grupa zasobów

W tej tabeli przedstawiono parametry definiujące grupę zasobów.

Zmienna Opis Typ
resourcegroup_name Nazwa grupy zasobów do utworzenia Opcjonalnie
resourcegroup_arm_id Identyfikator zasobu platformy Azure dla istniejącej grupy zasobów Opcjonalnie
resourcegroup_tags Tagi do skojarzenia z grupą zasobów Opcjonalnie

Parametry sieci

Platforma automatyzacji obsługuje zarówno tworzenie sieci wirtualnej, jak i podsieci (zielone pole) lub używanie istniejącej sieci wirtualnej i istniejących podsieci (pole brązowe) lub kombinację pola zielonego i brązowego pola:

  • Scenariusz z zielonym polem: należy określić przestrzeń adresową sieci wirtualnej i prefiksy adresów podsieci.
  • Scenariusz z polem brązowym: należy określić identyfikator zasobu platformy Azure dla sieci wirtualnej i podsieci.

Zalecana notacja CIDR przestrzeni adresowej sieci wirtualnej to /27, co pozwala na 32 adresy IP. Wartość CIDR /28 zezwala tylko na 16 adresów IP. Jeśli chcesz dołączyć usługę Azure Firewall, użyj wartości CIDR /25, ponieważ usługa Azure Firewall wymaga zakresu /26.

Zalecana wartość CIDR dla podsieci zarządzania to /28, która zezwala na 16 adresów IP. Zalecana wartość CIDR dla podsieci zapory to /26, która zezwala na 64 adresy IP.

W tej tabeli przedstawiono parametry sieciowe.

Zmienna Opis Typ Notatki
management_network_name Nazwa sieci wirtualnej, do której zostanie wdrożony wdrożeniowiec Opcjonalnie W przypadku wdrożeń zielonych pól
management_network_logical_name Nazwa logiczna sieci (DEV-WEEU-MGMT01-INFRASTRUCTURE) Wymagane
management_network_arm_id Identyfikator zasobu platformy Azure dla sieci wirtualnej Opcjonalnie W przypadku wdrożeń brownfieldowych
management_network_address_space Zakres adresów sieci wirtualnej Obowiązkowy W przypadku wdrożeń zielonych pól
management_subnet_name Nazwa podsieci Opcjonalnie
management_subnet_address_prefix Zakres adresów podsieci Obowiązkowy W przypadku wdrożeń zielonych pól
management_subnet_arm_id Identyfikator zasobu platformy Azure dla podsieci Obowiązkowy W przypadku wdrożeń brownfieldowych
management_subnet_nsg_name Nazwa sieciowej grupy zabezpieczeń Opcjonalnie
management_subnet_nsg_arm_id Identyfikator zasobu platformy Azure dla sieciowej grupy zabezpieczeń Obowiązkowy W przypadku wdrożeń brownfieldowych
management_subnet_nsg_allowed_ips Zakres dozwolonych adresów IP do dodania do usługi Azure Firewall Opcjonalnie
management_firewall_subnet_arm_id Identyfikator zasobu platformy Azure dla podsieci usługi Azure Firewall Obowiązkowy W przypadku wdrożeń brownfieldowych
management_firewall_subnet_address_prefix Zakres adresów podsieci Obowiązkowy W przypadku wdrożeń zielonych pól
management_bastion_subnet_arm_id Identyfikator zasobu platformy Azure dla podsieci usługi Azure Bastion Obowiązkowy W przypadku wdrożeń brownfieldowych
management_bastion_subnet_address_prefix Zakres adresów podsieci Obowiązkowy W przypadku wdrożeń zielonych pól
webapp_subnet_arm_id Identyfikator zasobu platformy Azure dla podsieci aplikacji internetowej Obowiązkowy W przypadku wdrożeń brownfieldowych
webapp_subnet_address_prefix Zakres adresów podsieci Obowiązkowy W przypadku wdrożeń zielonych pól
use_private_endpoint Użyj prywatnych punktów końcowych. Opcjonalnie
use_service_endpoint Stosuj punkty końcowe usługi dla podsieci. Opcjonalnie

Uwaga

Jeśli używasz istniejącej podsieci dla aplikacji internetowej, podsieć musi być pusta, w tym samym regionie co wdrażana grupa zasobów i delegowana do aplikacji Microsoft.Web/serverFarms.

Parametry maszyny wirtualnej modułu wdrażania

W tej tabeli przedstawiono parametry związane z maszyną wirtualną wdrażania.

Zmienna Opis Typ
deployer_size Definiuje SKU maszyny wirtualnej do użycia, domyślnie: Standard_D4ds_v4. Opcjonalnie
deployer_count Definiuje liczbę wdrożeń Opcjonalnie
deployer_image Definiuje obraz maszyny wirtualnej do użycia, wartość domyślna: Ubuntu 22.04 Opcjonalnie
plan Definiuje plan skojarzony z obrazem maszyny wirtualnej Opcjonalnie
deployer_disk_type Definiuje typ dysku, domyślny: Premium_LRS Opcjonalnie
deployer_use_DHCP Określa, czy adresy IP dostarczone przez podsieć platformy Azure powinny być używane (dynamiczne) true Opcjonalnie
deployer_private_ip_address Definiuje prywatny adres IP do użycia Opcjonalnie
deployer_enable_public_ip Określa, czy wdrożenie ma publiczny adres IP Opcjonalnie
auto_configure_deployer Określa, czy moduł wdrażania jest skonfigurowany przy użyciu wymaganego oprogramowania (Terraform i Ansible) Opcjonalnie
add_system_assigned_identity Określa, czy dostawca wdrażania ma przypisaną tożsamość systemową Opcjonalnie

Obraz maszyny wirtualnej jest definiowany przy użyciu następującej struktury:

xxx_vm_image  = {
  os_type         = ""
  source_image_id = ""
  publisher       = "Canonical"
  offer           = "0001-com-ubuntu-server-jammy"
  sku             = "22_04-lts"
  version         = "latest"
  type            = "marketplace"
}

Uwaga

Typ może mieć wartość marketplace/marketplace_with_plan/custom. Użycie obrazu typu marketplace_with_plan wymaga, aby obraz, o którym mowa, był użyty co najmniej raz w subskrypcji. Pierwsze użycie monituje użytkownika o zaakceptowanie postanowień licencyjnych, a automatyzacja nie ma możliwości jej zatwierdzenia.

Parametry uwierzytelniania

W tej sekcji zdefiniowano parametry używane do definiowania uwierzytelniania maszyny wirtualnej.

Zmienna Opis Typ
deployer_vm_authentication_type Definiuje domyślne uwierzytelnianie dla narzędzia wdrażania Opcjonalnie
deployer_authentication_username Nazwa konta administratora Opcjonalnie
deployer_authentication_password Hasło administratora Opcjonalnie
deployer_authentication_path_to_public_key Ścieżka do klucza publicznego używanego do uwierzytelniania Opcjonalnie
deployer_authentication_path_to_private_key Ścieżka do klucza prywatnego używanego do uwierzytelniania Opcjonalnie
use_spn Jeśli wdrożenie zostanie zdefiniowane, zostanie przeprowadzone przy użyciu Service Principal, w przeciwnym razie przy użyciu tożsamości MSI. Opcjonalnie

Parametry magazynu kluczy

W tej sekcji zdefiniowano parametry używane do definiowania informacji usługi Azure Key Vault.

Zmienna Opis Typ
user_keyvault_id Identyfikator zasobu platformy Azure dla magazynu kluczy użytkownika. Opcjonalnie
spn_keyvault_id Identyfikator zasobu platformy Azure dla skarbca kluczy zawierającego poświadczenia wdrożenia. Opcjonalnie
deployer_private_key_secret_name Nazwa sekretu w magazynie kluczy dla klucza prywatnego urządzenia wdrażającego. Opcjonalnie
deployer_public_key_secret_name Nazwa tajemnicy w magazynie kluczy dla klucza publicznego narzędzia wdrażania. Opcjonalnie
deployer_username_secret_name Nazwa sekretu magazynu kluczy dla użytkownika wdrażającego. Opcjonalnie
deployer_password_secret_name Nazwa sekretu w magazynie kluczy dla hasła użytkownika wdrażającego. Opcjonalnie
additional_users_to_add_to_keyvault_policies Lista identyfikatorów obiektów użytkownika, które mają zostać dodane do zasad dostępu do magazynu kluczy wdrożenia. Opcjonalnie
set_secret_expiry Ustaw czas wygaśnięcia na 12 miesięcy dla sekretów magazynu kluczy. Opcjonalnie
soft_delete_retention_days Liczba dni, przez które elementy powinny być przechowywane w okresie miękkiego usuwania. Opcjonalnie
deployer_assign_subscription_permissions Steruje przypisaniem uprawnień subskrypcji. Opcjonalnie

Obsługa systemu DNS

Zmienna Opis Typ
dns_label Nazwa DNS prywatnej strefy DNS. Opcjonalnie
use_custom_dns_a_registration Używa systemu zewnętrznego dla systemu DNS ustawionego na wartość false dla natywnej platformy Azure. Opcjonalnie
management_dns_subscription_id Identyfikator subskrypcji dla subskrypcji, która zawiera prywatną strefę DNS. Opcjonalnie
management_dns_resourcegroup_name Grupa zasobów zawierająca prywatną strefę DNS. Opcjonalnie

Inne parametry

Zmienna Opis Typ Notatki
firewall_deployment Flaga logiczna, która kontroluje, czy ma zostać wdrożona zapora platformy Azure. Opcjonalnie
bastion_deployment Flaga logiczna określająca, czy host usługi Azure Bastion ma zostać wdrożony. Opcjonalnie
bastion_sku SKU dla hosta Azure Bastion do wdrożenia (Podstawowa/Standardowa). Opcjonalnie
enable_purge_control_for_keyvaults Flaga logiczna, która określa, czy kontrola czyszczenia jest włączona w składnicy kluczy. Opcjonalnie Użyj tylko w przypadku wdrożeń testowych.
enable_firewall_for_keyvaults_and_storage Ogranicz dostęp do wybranych podsieci. Opcjonalnie
Agent_IP Adres IP agenta. Opcjonalnie
add_Agent_IP Określa, czy adres IP agenta jest dodawany do skarbca kluczy i zapór sieciowych konta magazynowego. Opcjonalnie

Parametry aplikacji internetowej

Zmienna Opis Typ Notatki
use_webapp Wartość logiczna wskazująca, czy aplikacja internetowa powinna zostać wdrożona. Opcjonalnie
app_service_SKU_name SKU planu usługi App Service. Opcjonalnie
app_registration_app_id Identyfikator rejestracji aplikacji do użycia dla aplikacji internetowej. Opcjonalnie
webapp_client_secret SKU planu usługi App Service. Opcjonalnie Zostanie zapisane w usłudze Key Vault

Przykładowy plik parametrów dla narzędzia wdrażania (tylko wymagane parametry)

# The environment value is a mandatory field, it is used for partitioning the environments, for example (PROD and NP)
environment="MGMT"

# The location/region value is a mandatory field, it is used to control where the resources are deployed
location="westeurope"

# management_network_address_space is the address space for management virtual network
management_network_address_space="10.10.20.0/25"

# management_subnet_address_prefix is the address prefix for the management subnet
management_subnet_address_prefix="10.10.20.64/28"

# management_firewall_subnet_address_prefix is the address prefix for the firewall subnet
management_firewall_subnet_address_prefix="10.10.20.0/26"

# management_bastion_subnet_address_prefix is a mandatory parameter if bastion is deployed and if the subnets are not defined in the workload or if existing subnets are not used
management_bastion_subnet_address_prefix = "10.10.20.128/26"

deployer_enable_public_ip=false

firewall_deployment=true

bastion_deployment=true

Biblioteka SAP

Biblioteka SAP zapewnia trwały magazyn plików stanu programu Terraform i pobranego nośnika instalacyjnego SAP dla płaszczyzny sterowania.

Konfiguracja biblioteki SAP jest wykonywana w pliku zmiennej terraform tfvars .

Jeśli chcesz użyć istniejącej grupy zasobów dla biblioteki SAP, podaj identyfikator zasobu platformy Azure dla grupy zasobów przy użyciu parametru resource_group_arm_id w pliku tfvars dostawcy wdrażania. Jeśli parametr nie jest zdefiniowany, grupa zasobów zostanie utworzona przy użyciu domyślnego nazewnictwa. Nazwę domyślną można zmienić przy użyciu parametru resource_group_name .

Parametry narzędzia Terraform

W tej tabeli przedstawiono parametry narzędzia Terraform. Te parametry należy wprowadzić ręcznie, jeśli nie używasz skryptów wdrażania ani usługi Azure Pipelines.

Zmienna Opis Typ Notatki
deployer_tfstate_key Nazwa pliku stanu dla narzędzia wdrażania Wymagane

Parametry środowiska

W tej tabeli przedstawiono parametry definiujące nazewnictwo zasobów.

Zmienna Opis Typ Notatki
environment Identyfikator płaszczyzny sterowania (maksymalnie pięć znaków) Obowiązkowy Na przykład PROD w przypadku środowiska produkcyjnego i NP środowiska nieprodukcyjnego.
location Region świadczenia usługi Azure, w którym należy wdrożyć Wymagane Użyj małych liter.
name_override_file Plik nadpisania nazwy Opcjonalnie Zobacz Niestandardowe nazewnictwo.

Grupa zasobów

W tej tabeli przedstawiono parametry definiujące grupę zasobów.

Zmienna Opis Typ
resourcegroup_name Nazwa grupy zasobów do utworzenia Opcjonalnie
resourcegroup_arm_id Identyfikator zasobu platformy Azure dla istniejącej grupy zasobów Opcjonalnie
resourcegroup_tags Tagi do skojarzenia z grupą zasobów Opcjonalnie

Konto magazynu nośników instalacyjnych SAP

Zmienna Opis Typ
library_sapmedia_arm_id Identyfikator zasobu platformy Azure Opcjonalnie

Konto magazynowe stanu zdalnego Terraform

Zmienna Opis Typ
library_terraform_state_arm_id Identyfikator zasobu platformy Azure Opcjonalnie

Obsługa systemu DNS

Zmienna Opis Typ
dns_label Nazwa DNS prywatnej strefy DNS. Opcjonalnie
use_custom_dns_a_registration Użyj istniejącej prywatnej strefy DNS. Opcjonalnie
management_dns_subscription_id Identyfikator subskrypcji dla subskrypcji, która zawiera prywatną strefę DNS. Opcjonalnie
management_dns_resourcegroup_name Grupa zasobów zawierająca prywatną strefę DNS. Opcjonalnie

Dodatkowe parametry

Zmienna Opis Typ
use_private_endpoint Użyj prywatnych punktów końcowych. Opcjonalnie
use_service_endpoint Stosuj punkty końcowe usługi dla podsieci. Opcjonalnie
enable_firewall_for_keyvaults_and_storage Ogranicz dostęp do wybranych podsieci. Opcjonalnie
subnets_to_add_to_firewall_for_keyvaults_and_storage Podsieci, które wymagają dostępu do skrytek kluczy i kont przechowywania. Opcjonalnie

Przykładowy plik parametrów biblioteki SAP (tylko wymagane parametry)

# The environment value is a mandatory field, it is used for partitioning the environments, for example (PROD and NP)
environment = "MGMT"

# The location/region value is a mandatory field, it is used to control where the resources are deployed
location = "westeurope"

Następny krok