你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

SAP 自动化框架中的工作负载区域配置

SAP 应用程序通常具有多个部署层。 例如,可能具有开发层、质量保证层和生产层。 SAP 部署自动化框架将这些层称为工作负载区域。 有关具有两个 SAP 系统的工作负载区域的示例,请参见下图。

显示 SAP 工作流区域和系统的关系图。

工作负载区域为其中的所有 SAP 服务提供共享服务。 这些共享服务包括:

  • Azure 虚拟网络
  • Azure Key Vault
  • 用于安装介质的共享 Azure 存储帐户
  • Azure NetApp 文件帐户和容量池(可选)

工作负载区域通常部署在分支订阅中,并且工作负载区域中所有生成文件的部署都使用唯一的服务主体完成。

工作负载区域部署配置

SAP 工作负载区域的配置通过 Terraform tfvars 变量文件完成。 可以在“samples/WORKSPACES/LANDSCAPE”文件夹中找到变量文件的示例。

以下部分显示了变量文件的不同部分。

环境参数

下表包含用于定义环境设置的参数。

变量 说明 类型 说明
environment 工作负载区域的标识符(最多 5 个字符) 必需 例如,对于生产环境,此标识符为 PROD,对于质量保证环境,此标识符为 QA
location 要部署到的 Azure 区域 必须
name_override_file 名称重写文件 可选 请参阅自定义命名
tags 要与所有资源关联的标签字典。 可选

资源组参数

下表包含了用于定义资源组的参数。

变量 说明 类型
resourcegroup_name 要创建的资源组的名称 可选
resourcegroup_arm_id 现有资源组的 Azure 资源标识符 可选
resourcegroup_tags 要与资源组关联的标记 可选

网络参数

自动化框架支持创建虚拟网络和子网 (Green field) 或使用现有虚拟网络和现有子网 (Brown field) 或 Green field 和 Brown field 的组合:

  • Green field 方案:必须指定虚拟网络地址空间和子网地址前缀。
  • Brown field 方案:必须指定虚拟网络和子网的 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 文件的网络参数。

变量 说明 类型 说明
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"

身份验证参数

下表定义了用于定义虚拟机身份验证的凭据。

变量 说明 类型 说明
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 要添加到部署 KeyVault 访问策略的用户对象 ID 列表 可选
enable_purge_control_for_keyvaults 对 Azure 密钥保管库禁用清除保护 可选 仅用于测试环境。
enable_rbac_authorization_for_keyvault 在密钥保管库上启用 RBAC 可选
soft_delete_retention_days 项在软删除期间应保留的天数 可选
keyvault_private_endpoint_id 密钥保管库专用终结点的 Azure 资源 ID 可选

专用 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 资源 ID。 可选 对于现有终结点
install_volume_size 定义“install”卷的大小(以 GB 为单位)。 可选
NFS_provider 定义要使用的 NFS 后端。 可选 对于 Azure 文件 NFS,选项是“AFS”;对于 Azure NetApp 文件,选项是“ANF”;对于 SCS 服务器的 NFS,选项是“NONE”;对于外部 NFS 解决方案,选项是“NFS”。
transport_private_endpoint_id 密钥保管库专用终结点的 Azure 资源 ID 可选
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 文件存储 NFS 定义

NFS_provider              = "AFS"
use_private_endpoint      = true

Azure NetApp 文件支持

变量 说明 类型 说明
ANF_account_name Azure NetApp 文件帐户的名称 可选
ANF_service_level Azure NetApp 文件容量池的服务级别 可选
ANF_pool_size Azure NetApp 文件容量池的大小(以 GB 为单位) 可选
ANF_qos_type 池的服务质量类型(自动或手动) 可选
ANF_use_existing_pool 使用现有的 Azure NetApp 文件容量池 可选
ANF_pool_name Azure NetApp 文件容量池的名称 可选
ANF_account_arm_id Azure NetApp 文件帐户的 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 定义安装卷的大小(以 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 区域的订阅的订阅 ID。 可选
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 网关的空闲超时(默认值=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"
}

适用于 SAP 的 Azure Monitor 参数

变量 说明 类型 说明
create_ams_instance 定义是否应创建适用于 SAP 实例的 Azure Monitor 可选
ams_instance_name 定义实例的名称 可选
ams_laws_arm_id 定义 Log Analytics 工作区的 ARM 资源 ID 可选

Terraform 参数

下表包含 Terraform 参数。 如果不使用部署脚本,则需要手动输入这些参数。

变量 说明 类型
tfstate_resource_id 包含 Terraform 状态文件的 SAP 库中存储帐户的 Azure 资源标识符。 必须
deployer_tfstate_key 部署者的状态文件的名称。 必须

下一步