共用方式為


SAP 自動化架構中的工作負載區域設定

SAP 應用程式通常會有多個開發層。 例如,您可能有開發、品質保證和生產層。 SAP 部署自動化架構會將這些層級稱為工作負載區域。 具有兩個 SAP 系統的工作負載區域範例如下圖所示。

顯示 SAP 工作流程區域和系統的圖表。

工作負載區域會向工作負載區域中的所有 SAP 系統提供共用服務。 這些共用服務包括:

  • Azure 虛擬網路
  • Azure Key Vault
  • 用於安裝媒體的共用 Azure 儲存體帳戶
  • Azure NetApp Files 帳戶和容量集區 (選用)

工作負載區域通常會部署在輪輻訂用帳戶中,且會使用唯一的服務主體來完成工作負載區域中所有成品的部署。

工作負載區域部署設定

SAP 工作負載區域的設定是透過 Terraform tfvars 變數檔案來完成。 您可以在 samples/WORKSPACES/LANDSCAPE 資料夾中找到變數檔案的範例。

下列各節顯示變數檔案的不同區段。

環境參數

下表包含可定義環境設定的參數。

變數 描述 類型​ 備註
environment 工作負載區域的識別碼 (最多五個字元) 必要 例如,針對實際執行環境的 PROD 和針對品質保證環境的 QA
location 要部署的 Azure 區域 必要
name_override_file 命名覆寫檔案 選擇性 請參閱自訂命名
tags 要與所有資源建立關聯的標籤字典。 選擇性

資源群組參數

下表包含定義資源群組的參數。

變數 描述 類型
resourcegroup_name 所要建立資源群組的名稱 選擇性
resourcegroup_arm_id 現有資源群組的 Azure 資源識別碼 選擇性
resourcegroup_tags 要與資源群組相關聯的標籤 選擇性

網路參數

自動化架構支援建立虛擬網路和子網路 (綠地),或使用現有虛擬網路和現有子網路 (棕地) 或綠地和棕地的組合:

  • 綠地案例:必須指定虛擬網路位址空間和子網路位址首碼。
  • 棕地案例:必須指定虛擬網路和子網路的 Azure 資源識別碼。

請確定虛擬網路位址空間夠大,足以裝載所有的資源。

下表包含網路參數。

變數 描述 類型​ 備註
network_logical_name 網路的邏輯名稱,例如 SAP01 必要 用於資源命名
network_name 網路的名稱 選擇性
network_arm_id 虛擬網路的 Azure 資源識別碼 選擇性 適用於棕地部署
network_address_space 虛擬網路的位址範圍 必要 適用於綠地部署
admin_subnet_address_prefix admin 子網路的位址範圍 必要 適用於綠地部署
admin_subnet_arm_id admin 子網路的 Azure 資源識別碼 必要 適用於棕地部署
admin_subnet_name admin 子網路的名稱 選擇性
admin_subnet_nsg_name admin 網路安全性群組的名稱 選擇性
admin_subnet_nsg_arm_id admin 網路安全性群組的 Azure 資源識別碼 必要 適用於棕地部署
db_subnet_address_prefix db 子網路的位址範圍 必要 適用於綠地部署
db_subnet_arm_id db 子網路的 Azure 資源識別碼 必要 適用於棕地部署
db_subnet_name db 子網路的名稱 選擇性
db_subnet_nsg_name db 網路安全性群組的名稱 選擇性
db_subnet_nsg_arm_id db 網路安全性群組的 Azure 資源識別碼 必要 適用於棕地部署
app_subnet_address_prefix app 子網路的位址範圍 必要 適用於綠地部署
app_subnet_arm_id app 子網路的 Azure 資源識別碼 必要 適用於棕地部署
app_subnet_name app 子網路的名稱 選擇性
app_subnet_nsg_name app 網路安全性群組的名稱 選擇性
app_subnet_nsg_arm_id app 網路安全性群組的 Azure 資源識別碼 必要 適用於棕地部署
web_subnet_address_prefix web 子網路的位址範圍 必要 適用於綠地部署
web_subnet_arm_id web 子網路的 Azure 資源識別碼 必要 適用於棕地部署
web_subnet_name web 子網路的名稱 選擇性
web_subnet_nsg_name web 網路安全性群組的名稱 選擇性
web_subnet_nsg_arm_id web 網路安全性群組的 Azure 資源識別碼 必要 適用於棕地部署

下表包含如果使用 Azure NetApp Files 的網路參數。

變數 描述 類型​ 備註
anf_subnet_arm_id ANF 子網路的 Azure 資源識別碼 必要 使用現有子網路時
anf_subnet_address_prefix ANF 子網路的位址範圍 必要 使用 ANF 進行部署時
anf_subnet_name ANF 子網路的名稱 選擇性
anf_subnet_nsg_name anf 網路安全性群組的名稱 選擇性
anf_subnet_nsg_arm_id anf 網路安全性群組的 Azure 資源識別碼 選擇性 適用於棕地部署

下表包含從這個工作負載區域裝載 iSCSI 裝置時的網路參數。

變數 描述 類型​ 備註
iscsi_subnet_address_prefix iscsi 子網路的位址範圍 必要 適用於綠地部署
iscsi_subnet_arm_id iscsi 子網路的 Azure 資源識別碼 必要 適用於棕地部署
iscsi_subnet_name iscsi 子網路的名稱 選擇性
iscsi_subnet_nsg_arm_id iscsi 網路安全性群組的 Azure 資源識別碼 必要 適用於棕地部署
iscsi_subnet_nsg_name iscsi 網路安全性群組的名稱 選擇性

下表包含從這個工作負載區域裝載 Azure Monitor for SAP 時的網路參數。

變數 描述 類型​ 備註
ams_subnet_address_prefix iscsi 子網路的位址範圍 必要 適用於綠地部署
ams_subnet_arm_id iscsi 子網路的 Azure 資源識別碼 必要 適用於棕地部署
ams_subnet_name iscsi 子網路的名稱 選擇性
ams_subnet_nsg_arm_id iscsi 網路安全性群組的 Azure 資源識別碼 必要 適用於棕地部署
ams_subnet_nsg_name iscsi 網路安全性群組的名稱 選擇性

下表包含其他網路參數。

變數 描述 類型​ 備註
use_private_endpoint 是為儲存體帳戶和金鑰保存庫建立的私人端點。 選擇性
use_service_endpoint 是為子網路定義的服務端點。 選擇性
peer_with_control_plane_vnet 虛擬網路是否與控制平面虛擬網路對等互連。 選擇性 SAP 安裝的必要項目
public_network_access_enabled 是否在儲存體帳戶和金鑰保存庫上啟用公用存取 選擇性

最低必要網路定義

network_logical_name = "SAP01"
network_address_space = "10.110.0.0/16"

db_subnet_address_prefix = "10.110.96.0/19"
app_subnet_address_prefix = "10.110.32.0/19"

Authentication parameters

下表定義用於定義虛擬機器驗證的參數。

變數 描述 類型​ 備註
automation_username 系統管理員帳戶名稱 選擇性 預設:azureadm
automation_password 系統管理員密碼 選擇性
automation_path_to_public_key 現有公開金鑰的路徑 選擇性
automation_path_to_private_key 現有私用金鑰的路徑 選擇性
use_spn 若定義此變數,則會使用服務主體來執行部署,否則會使用 MSI 選擇性

最低必要驗證定義

automation_username = "azureadm"

金鑰保存庫參數

下表定義用於定義金鑰保存庫資訊的參數。

變數 描述 類型​ 備註
spn_keyvault_id 現有部署認證 (SPN) 金鑰保存庫的 Azure 資源識別碼 選擇性
user_keyvault_id 現有系統認證金鑰保存庫的 Azure 資源識別碼 選擇性
additional_users_to_add_to_keyvault_policies 要新增至部署金鑰保存庫存取原則的使用者物件識別碼清單 選擇性
enable_purge_control_for_keyvaults 停用 Azure 金鑰保存庫的清除保護 選擇性 僅適用於測試環境。
enable_rbac_authorization_for_keyvault 在金鑰保存庫上啟用 RBAC 選擇性
soft_delete_retention_days 應在虛刪除期間保留項目的天數 選擇性
keyvault_private_endpoint_id 金鑰保存庫私人端點的 Azure 資源識別碼 選擇性

私人 DNS

變數 描述 類型
dns_label 若已指定,則為私人 DNS 區域的 DNS 名稱 選擇性
dns_resource_group_name 包含私人 DNS 區域的資源群組名稱 選擇性
register_virtual_network_to_dns 控制 SAP 虛擬網路是否已向私人 DNS 區域註冊 選擇性
dns_server_list 如果指定,則為 DNS 伺服器 IP 位址的清單 選擇性

NFS 支援

變數 描述 類型​ 備註
create_transport_storage 如果定義,請建立傳輸目錄的儲存體。 選擇性
export_install_path 如果提供,請匯出安裝媒體的掛接路徑。 選擇性
export_transport_path 如果提供,請匯出傳輸共用的掛接路徑。 選擇性
install_always_create_fileshares 一律建立檔案共用。 選擇性
install_private_endpoint_id install 私人端點的 Azure 資源識別碼。 選擇性 針對現有端點
install_volume_size 定義 install 磁碟區的大小 (以 GB 為單位)。 選擇性
NFS_provider 定義要使用的 NFS 後端。 選擇性 選項為AFS適用於 Azure 檔案儲存體 NFS 或ANF適用於 Azure NetApp 檔案、NONE適用於來自 SCS 伺服器的 NFS,或NFS適用於外部 NFS 解決方案。
transport_private_endpoint_id 金鑰保存庫私人端點的 Azure 資源識別碼 選擇性
transport_volume_size 定義 transport 磁碟區的大小 (以 GB 為單位)。 選擇性
use_AFS_for_installation_media 如果提供,則將 AFS 用於安裝媒體。 選擇性

Azure 檔案儲存體 NFS 支援

變數 描述 類型​ 備註
install_storage_account_id install 儲存體帳戶的 Azure 資源識別碼 選擇性 適用於棕地部署
transport_storage_account_id transport 儲存體帳戶的 Azure 資源識別碼 選擇性 適用於棕地部署
Storage account replication type 儲存體帳戶複寫類型,預設 ZRS 選擇性

最低必要 Azure Files NFS 定義

NFS_provider              = "AFS"
use_private_endpoint      = true

Azure NetApp Files 支援

變數 描述 類型​ 備註
ANF_account_name Azure NetApp Files 帳戶的名稱 選擇性
ANF_service_level Azure NetApp Files 容量集區的服務等級 選擇性
ANF_pool_size Azure NetApp Files 容量集區的大小 (以 GB 為單位) 選擇性
ANF_qos_type 集區的服務品質類型 (自動或手動) 選擇性
ANF_use_existing_pool 針對 Azure NetApp Files 容量集區使用現有項目 選擇性
ANF_pool_name Azure NetApp Files 容量集區的名稱 選擇性
ANF_account_arm_id Azure NetApp Files 帳戶的 Azure 資源識別碼 選擇性 適用於棕地部署
ANF_transport_volume_use_existing 定義是否使用現有的傳輸磁碟區 選擇性
ANF_transport_volume_name 定義傳輸磁碟區名稱 選擇性 適用於棕地部署
ANF_transport_volume_size 定義傳輸磁碟區的大小 (以 GB 為單位) 選擇性
ANF_transport_volume_throughput 定義傳輸磁碟區的輸送量 選擇性
ANF_transport_volume_zone 定義傳輸磁碟區的可用性區域 選擇性
ANF_install_volume_use_existing 定義是否使用現有的安裝磁碟區 選擇性
ANF_install_volume_name 定義安裝磁碟區名稱 選擇性 適用於棕地部署
ANF_install_volume_size 定義 install 磁碟區的大小 (以 GB 為單位) 選擇性
ANF_install_volume_throughput 定義安裝磁碟區的輸送量 選擇性
ANF_install_volume_zone 定義安裝磁碟區的可用性區域 選擇性

最低必要 ANF 定義

NFS_provider              = "ANF"
anf_subnet_address_prefix = "10.110.64.0/27"
ANF_service_level         = "Ultra"

DNS 支援

變數 描述 類型
dns_label 私人 DNS 區域的 DNS 名稱。 選擇性
management_dns_resourcegroup_name 包含私人 DNS 區域的資源群組。 選擇性
management_dns_subscription_id 訂用帳戶的訂用帳戶識別碼,此訂用帳戶包含私人 DNS 區域。 選擇性
use_custom_dns_a_registration 使用現有的私人 DNS 區域。 選擇性

NAT 支援

變數 描述 類型
deploy_nat_gateway 若設定此變數,則會部署 NAT 閘道。 選擇性
nat_gateway_name NAT 閘道的名稱。 選擇性
nat_gateway_arm_id NAT 閘道的 Azure 資源識別碼。 選擇性
nat_gateway_public_ip_zones NAT 閘道公用 IP 位址的區域 選擇性
nat_gateway_public_ip_arm_id NAT 閘道公用IP位址的 Azure 資源識別碼 選擇性
nat_gateway_idle_timeout_in_minutes NAT 閘道的閒置逾時分鐘數 (default=4) 選擇性
nat_gateway_public_ip_tags 公用 IP 資源的標籤 選擇性

其他參數

變數 描述 類型​ 備註
diagnostics_storage_account_arm_id 診斷儲存體帳戶的 Azure 資源識別碼。 必要 適用於棕地部署。
place_delete_lock_on_resources 在金鑰保存庫和虛擬網路上放置刪除鎖定 選擇性
witness_storage_account_arm_id 見證儲存體帳戶的 Azure 資源識別碼。 必要 適用於棕地部署。
Agent_IP 代理程式的 IP 位址。 選擇性
add_Agent_IP 控制是否將代理程式 IP 新增至金鑰保存庫和儲存體帳戶防火牆 選擇性
enable_firewall_for_keyvaults_and_storage 限制對所選子網路的存取。 選擇性

ISCSI 參數

變數 描述 類型​ 備註
iscsi_authentication_type 定義 iSCSI 虛擬機器的預設驗證 選擇性
iscsi_authentication_username 系統管理員帳戶名稱 選擇性
iscsi_count iSCSI 虛擬機器的數目 選擇性
iscsi_size iSCSI 虛擬機器的大小 選擇性
iscsi_image 定義要使用的虛擬機器映像 (下表) 選擇性
iscsi_nic_ips iSCSI 虛擬機器的 IP 位址 選擇性 如果已定義 iscsi_use_DHCP,則會忽略
iscsi_use_DHCP 控制是否要使用 Azure 子網路所提供的動態 IP 位址 選擇性
iscsi_vm_zones iSCSI 虛擬機器的可用性區域 選擇性

公用程式 VM 參數

變數 描述 類型​ 備註
utility_vm_count 定義要部署的公用程式虛擬機器數目 選擇性 使用公用程式虛擬機器來裝載 SAPGui
utility_vm_image 定義要使用的虛擬機器映像 選擇性 預設值:Windows Server 2019
utility_vm_nic_ips 定義虛擬機器的 IP 位址 選擇性
utility_vm_os_disk_size 定義虛擬機器的 OS 磁碟大小 選擇性 預設值:128
utility_vm_os_disk_type 定義虛擬機器的 OS 磁碟類型 選擇性 預設值:Premium_LRS
utility_vm_size 定義公用程式虛擬機器的 SKU 選擇性 預設值:Standard_D4ds_v4
utility_vm_useDHCP 定義是否應使用 Azure 子網路提供的 IP 選擇性
`user_assigned_identity_id 要指派給虛擬機器之使用者指派的身分識別 選擇性

虛擬機器和作業系統映像是使用下列結構進行定義:

{
  os_type         = "linux"
  type            = "marketplace"
  source_image_id = ""
  publisher       = "SUSE"
  offer           = "sles-sap-15-sp5"
  sku             = "gen2"
  version=        " latest"
}

Azure Monitor for SAP 參數

變數 描述 類型​ 備註
create_ams_instance 定義是否應該建立 Azure Monitor for SAP 執行個體 選擇性
ams_instance_name 定義執行個體的名稱 選擇性
ams_laws_arm_id 定義 Log Analytics 工作區的 ARM 資源識別碼 選擇性

Terraform 參數

下表包含 Terraform 參數。 如果您未使用部署指令碼,則必須手動輸入這些參數。

變數 描述 類型
tfstate_resource_id SAP 程式庫中包含 Terraform 狀態檔案之儲存體帳戶的 Azure 資源識別碼。 必要
deployer_tfstate_key 部署器的狀態檔案名稱。 必要

後續步驟