你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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 |
部署者的状态文件的名称。 | 必须 |