IBM Cloud Docs
带有附加应用服务器 (AAS) 的 VPC ABAP 在 Linux 上用于 SAP HANA

带有附加应用服务器 (AAS) 的 VPC ABAP 在 Linux 上用于 SAP HANA

您可以使用 Terraform 脚本创建单层 VPC,并在 VPC 上创建 AAS to HANA 和 AnyDB 基础架构。 Terraform 脚本使用你提供的 VPC 信息,然后调用 Ansible playbook 在指定的 VPC 上创建 SAP 架构。 IBM Cloud® 上的 Terraform 可对 IBM Cloud 虚拟私有云 (VPC) 基础架构资源进行可预测和一致的调配,从而使您能够快速构建复杂的云环境。IBM Cloud VPC 基础架构由 SAP 认证的硬件组成,这些硬件使用英特尔® 至强 CPU 和更多英特尔® 技术。

您有两种部署方法可供选择:

  • 在 bastion 服务器上通过 CLI 运行的 Terraform 脚本。
  • Schematics 用户界面,可从云仪表板菜单访问。

您可以在基于 SAP HANA 的 ABAP 栈上创建 SAP AAS NetWeaver 7.x。

SAP 已实施的解决方案

许多 SAP 企业解决方案都建立在 SAP 平台 ( SAP NetWeaver ) 上,包括

  • SAP HANA 作为 SAP NetWeaver 应用程序的主持久性
  • SAP 业务套件应用软件(ERP、CRM、SCM 及其他应用软件)、
  • SAP 业务仓库 (BW),以及
  • 其他 SAP 企业解决方案

SAP NetWeaver 有两个截然不同的方面,即 ABAP 和 Java。 在 SAP NetWeaver 的 ABAP 或 Java (或两者)应用服务器上构建的许多应用程序都运行在 SAP DB owned HANA 和 ASE Sybase 上,或运行在 AnyDB 平台(MSSQL、Oracle 和 Db2 )上。

建立在 SAP NetWeaver AS ABAP 和 AS Java 上的应用程序可通过技术接口在 SAP HANA 和 AnyDB 上运行。 不过,每个应用程序通常都需要特定的开发功能,以确保其在 SAP HANA 上以最佳方式运行。 SAP 业务套件应用程序(ERP、CRM、SCM 和其他应用程序)、SAP Business Warehouse (BW),以及其他基于 SAP NetWeaver 的应用程序经修改后可在 SAP HANA 上运行,并具有许多优势。 此外,通过使用提供的 SAP NetWeaver DB 接口,在 SAP NetWeaver 上构建的各种组件和辅助应用程序也可以在 SAP HANA 或 AnyDB 上运行。

SAP HANA 作为基于 SAP NetWeaver 应用程序的主要持久性方案有一个限制: SAP NetWeaver ABAP 和 Java 应用服务器必须与 SAP HANA 硬件分开运行。

创造了什么

这些脚本可自动运行虚拟基础架构资源,为 SAP 架构中的现有 VPC 和分布式环境配置进程。 SAP AAS NetWeaver 7.x (HANA 或 ASE SYB) 应用服务器配置在不同的 VSI VPC 系统上,SAP HANA DB 配置在专用服务器类型的 VSI VPC 盒子上。 脚本分两个阶段运行。

Automate SAP bastion 服务器 - SAP 媒体存储库 的第一阶段,基于 bastion 服务器创建的现有 VPC 中的组件的虚拟基础架构资源如下:

  • 1 配置虚拟服务器实例的 VPC。
  • 1 个安全组。 该安全组的规则是
    • 允许 DNS 入站流量(端口 53)。
    • 允许 SSH 入站流量(TCP 22 端口)。
    • 允许虚拟服务器实例的所有出站流量。
    • 允许安全组中的所有流量。
  • 1 个子网,以启用 VPC 中的联网。
  • 2 个虚拟服务器实例,具有 SAP 认证的存储和网络配置。
  • 1 个浮动 IP 地址,用于通过公共网络访问 VPC 虚拟服务器实例。

在第二阶段,调用 Ansible Playbooks 并为专用虚拟服务器实例 (VSI) SAP 应用程序、VSI 系统和专用 SAP HANA VSI box 安装 SAP 架构。 在 SAP NetWeaver 7.x 版本上部署的 SAP 架构是一个独立的专用 SAP HANA 2.0 box 版本。 有关此架构的更多信息,请参阅 使用 Terraform 和 Ansible 在 IBM Cloud® VPC 上自动运行 SAP HANA 独立虚拟服务器实例

每个 IBM Cloud 区域只能提供一个服务实例。

Schematics 部署

使用 Schematics 界面运行脚本时,您可以

  • 输入工作区信息。
  • 在 NetWeaver AAS for HANA 上输入所选解决方案的 GitHub 路径。
  • 修改 Schematics 界面中的参数。 这些参数与使用 cli 的 input.auto.tfvars 文件相同。

虚拟服务器实例配置

以下是 SAP NetWeaver 主应用服务器支持的操作系统映像:

  • ibm-redhat-8-4-amd64-sap-applications-2
  • ibm-redhat-8-6-amd64-sap-applications-2
  • ibm-sles-15-3-amd64-sap-applications-2
  • ibm-sles-15-4-amd64-sap-applications-3

以下是 SAP HANA 数据库支持的操作系统映像:

  • ibm-redhat-8-4-amd64-sap-hana-2
  • ibm-redhat-8-6-amd64-sap-hana-2
  • ibm-sles-15-3-amd64-sap-hana-2
  • ibm-sles-15-4-amd64-sap-hana-1

两个服务器实例都有

  • 配置了两个 SSH 密钥,以访问 SSH,网址为 root
  • 三个存储卷,如 input.auto.tfvars 文件所述。

为 anydb 创建的内容

脚本使用您为现有 VPC 提供的信息,并将 AAS 部署到 SAP HANA 或 AnyDB 与 CI( SAP Central Instance)VSI 主机不同的主机上。 有关此架构的更多信息,请参阅 SAP NetWeaver 7.x on UNIX with HANA 或 AnyDB on IBM Cloud VPC on IBM Cloud VPC。 您可在 input.auto.tfvars 文件中指定要使用的 VPC 信息。

脚本调用 Ansible Playbooks 安装 SAP 架构。

脚本文件

配置文件和脚本文件可从 GitHub 上获取。 SAP 解决方案安装支持的每个接口在 GitHub 资源库中都有自己的文件夹:

Terraform 界面

要运行 Terraform 脚本,需要修改

  • input.auto.tfvars 文件,为解决方案指定现有 VPC 资源。 为现有 VPC 指定变量:

    • VPC 名称
    • 安全组
    • Subnet
    • 主机名
    • Profile
    • 图像
    • 最多两个 SSH 密钥

    您可以更改默认的 SAP 系统配置设置,以匹配您的解决方案。 您还可以指定下载 SAP 工具包的位置。

IBM Cloud 上 Terraform 的 IBM Cloud Provider 插件使用这些配置文件将 AAS 安装到 IBM Cloud 账户中指定 VPC 上的 SAP HANA 和 AnyDB。

支持

IBM® 不对这些材料提供任何担保,也不提供任何服务或技术支持。 建议您在实际系统中使用从本网站下载的任何资料之前,先仔细检查这些资料。

尽管此处提供的材料未得到 IBM® 服务组织的支持,但开发人员欢迎您提出意见,并保留随时修改、重新改编或删除材料的权利。 要报告问题或提供建议或意见,请打开 GitHub 问题。

准备工作

在使用 bastion cli 中的脚本之前:

使用 Schematics 用户界面在 HANA 上部署 SAP AAS NetWeaver 7.x

使用以下步骤,通过 Schematics 界面在现有 VPC 上配置 SAP 附加应用服务器 (AAS) NetWeaver 与 HANA 或 AnyDB。 剧本需要 2-3 个小时才能完成。

  1. 从 IBM Cloud 菜单中选择 Schematics.

  2. 单击创建工作空间

  3. 指定模板页面:

    • 输入 Schematics 接口的 URL。
    • 选择自述文件中列出的 Terraform 版本
    • 单击下一步
  4. 工作区详细信息页面:

    • 输入工作区名称。
    • 选择资源组
    • 为工作区选择一个位置。 工作区位置不必与资源位置一致。
    • 选择下一步
  5. 选择“**创建 **”来创建工作区。

  6. 在工作区设置页面的输入变量部分,查看默认输入变量,并提供与解决方案相匹配的值。

    有关各参数的详细说明,请查看 GitHub repo AAS HANA readme 文件中的“输入参数文件”一章。 此外,确保将包含密码、API 和 ssh 私钥等敏感信息的参数标记为“敏感”。 这些参数在自述文件的“输入参数文件”中被标记为“敏感”参数。

  7. 在工作区设置页面,单击生成计划。 等待计划完成。

  8. 单击查看日志以查看 Terraform 执行计划的日志文件。

  9. 单击“应用计划”应用 Terraform 模板。

  10. 查看日志文件,确保在配置、修改或删除过程中不会出现错误。

使用可部署架构瓦片接口在 HANA 上部署 SAP AAS NetWeaver (ABAP)

使用以下步骤,通过目录瓦片界面在现有 VPC 上配置 SAP AAS NetWeaver (ABAP) on HANA。 剧本需要 2-3 个小时才能完成。

  1. 从 IBM Cloud 目录中,选择 Linux 上用于 SAP HANA on HANA 的带有附加应用程序服务器 ABAP 的 VPC。 Linux 上的“创建”选项卡为 SAP HANA 打开。 有关此部署的更多信息,请参阅“关于”选项卡或 readme 文件链接。

  2. 选择最新版本。

  3. 在可部署架构图块变体上为 SAP HANA 选择 Linux 上带有附加应用程序服务器 ABAP 的 VPC

  4. 单击审查部署选项:

    • 添加到项目可将此部署添加到 IBM Cloud 项目中,并与其他部署合并。IBM Cloud 项目在部署前还包括几个流水线步骤,包括部署验证、成本计算、合规性验证和审批流程。
    • 从 CLI 创建以获取 CLI 命令。 使用此命令,您可以通过 CLI 触发部署。
    • 使用代码将代码嵌入到其他 terraform 部署中。
    • 使用 IBM Cloud Schematics 直接触发部署流程。
  5. 选择通过 IBM Cloud Schematics 进行部署

  6. 添加此安装的输入参数。 有 3 类参数:

    • 工作区- 这些参数定义了在 Schematics 中自动创建的工作区:
      • 输入工作区名称或使用默认名称。
      • 用于创建资源的资源组。 使用默认值或创建资源组。
      • 选择一个位置来创建 Schematics 工作空间。 工作区位置不必与资源位置一致。
    • 所需输入变量- 查看默认输入变量,并提供与解决方案相匹配的值。 这些参数针对您的部署。 更多详细信息,请参阅 自述文件
    所需变量
    参数 描述
    bastion_floating_ip 仅 Schematics 部署需要。 堡垒服务器的浮动 IP。
    主机名 VSI 的主机名。 根据 SAP 的要求,主机名应不超过 13 个字符。 有关 SAP 系统主机名规则的更多信息,请查阅 SAP Note 611361:SAP ABAP 平台服务器的主机名
    区域 部署解决方案的云区域。 这里 列出了 VPC 的区域和分区。 IBM Cloud Schematics 中查看支持的地点。 样本值:eu-de.
    RESOURCE_GROUP 用于 VSI 和卷资源的现有资源组的名称。 默认值:“默认”。 资源小组列表请 点击此处
    SECURITY_GROUP 现有安全组的名称。 安全组列表可 在此处获取。
    ssh_keys 允许以根用户身份 SSH 访问 VSI 的 SSH 密钥 UUID 列表可以包含一个或多个 ID。 这里 有 SSH 密钥列表。 输入示例(从 IBM Cloud 使用自己的 SSH UUID ){: external}:[" r010-57bfc315-f9e5-46bf-bf61-d87a24a9ce7a ", " r010-3fcd9fe7-d4a7-41ce-8bb3-d96e936b2c7e "]
    SUBNET 现有子网的名称。 子网列表可 在此处获取。
    VPC 现有 VPC 的名称。 VPC 列表可 在此处获取。
    ZONE 部署解决方案的云区。 样本值:eu-de-2。
    ibmcloud_api_key IBM Cloud API 密钥(敏感*值)。
    private_ssh_key 仅 Schematics 部署需要 - 以 OpenSSH 格式输入 id_rsa 私钥对内容(敏感*值)。 仅应在 Terraform 配置期间使用此专用密钥,建议在 SAP 部署后进行更改。
    hdb_instance_number SAP HANA 数据库服务器的实例编号。
    sap_aas_instance_number 附加应用服务器内部进程的技术标识符。
    sap_ascs_instance_number ASCS 内部程序的技术标识符。
    sap_ci_host 现有 SAP Central 实例的 IP 地址。
    sap_ci_hostname 现有 SAP Central 实例的主机名。
    sap_ci_instance_number 中央实例内部流程的技术标识符。
    sap_sid SAP 系统 ID 标识整个 SAP 系统。
    sap_main_password 安装过程中创建的所有用户的通用密码(参见观察结果*)。
    • 可选变量- 查看并更新可选输入变量。 Ansible 脚本希望 SAP 工具包位于所列的默认位置。 更多信息,请参阅 自述文件 - 输入参数
    可选变量
    参数 描述
    id_rsa_file_path private_ssh_key 的文件路径默认为自动生成。 如果更改,则必须包含 Git repo 文件夹的相对路径。 默认值:"ansible/id_rsa"。
    图像 用于 VSI 的操作系统映像。 请 点击此处 查看图片列表。
    概况书 用于 VSI 的剖面图。 请 点击此处 查看简介列表。 有关支持的 DB/OS 和 IBM Gen 2 虚拟服务器实例 (VSI) 的详细信息,请查看 SAP Note 2927211:SAP Applications on IBM Virtual Private Cloud
    VOL1 卷 1 大小 - 连接到 VSI 并由 SAP 使用的磁盘大小(GB)。
    VOL2 卷 2 大小 - 连接到 VSI 并由 SAP 使用的磁盘大小(GB)。
    kit_sapcar_file 从 SAP Support Portal 下载的 sapcar 二进制文件的路径。
    kit_swpm_file 从 SAP Support Portal 下载的 SWPM 存档 (SAR) 路径。
    kit_saphostagent_file 从 SAP Support Portal 下载的 SAP Host Agent 存档 (SAR) 路径。
    kit_hdbclient_file 从 SAP Support Portal 下载的 HANA DB 客户端存档 (SAR) 的路径。
  7. 接受许可协议。

  8. 选择部署。 部署开始后,您将进入 Schematics 页面,该页面显示脚本日志文件,供您监控部署进度。

使用 Terraform 和 bastion 服务器 CLI 创建基础架构

使用这些步骤配置 IBM Cloud Provider 插件,并使用 Terraform 将 SAP AAS 安装到现有 VPC 上的 SAP HANA 和 AnyDB 上已部署的 SAP NetWeaver 7.X,SAP HANA 2.0 或 ASE SYB 作为中心实例。

剧本需要 1-2 个小时完成。

  1. 访问 bastion 服务器 cli。

  2. 克隆解决方案资源库并更改为文件夹。

    ASE SYB 16 从 https://github.com/IBM-Cloud/sap-aas-abap-ase-syb 克隆解决方案资源库,然后 cd 到 sap-aas-abap-ase-syb/cli 文件夹。

    git clone https://github.com/IBM-Cloud/sap-aas-abap-ase-syb
    cd sap-aas-abap-ase-syb/cli/
    
    

    SAP HANA 2.0: 从 https://github.com/IBM-Cloud/sap-abap-hana-aas 克隆解决方案资源库,然后 cd 到 sap-abap-hana-aas 文件夹。

    git clone https://github.com/IBM-Cloud/sap-abap-hana-aas.git
    cd sap-abap-hana-aas/
    
  3. 修改 input.auto.tfvars 文件,指定现有 VPC、区域、区、网络组件名称、AAS VSI 的主机名、配置文件和映像的信息。 该文件需要 40 位 SSH 密钥 ID。 第二个 SSH 密钥是可选的。 有关配置文件的更多选项,请参阅 实例配置文件。 有关更多选项,请参阅 图像。 有关变量的说明,请参阅 自述文件

    Netweaver 附加应用服务器解决方案支持的 VSI 操作系统映像有

    • ibm-redhat-8-4-amd64-sap-applications-2
    • ibm-redhat-8-6-amd64-sap-applications-2
    • ibm-sles-15-3-amd64-sap-applications-2
    • ibm-sles-15-4-amd64-sap-applications-4
    # Infra VPC variables for ASE SYB
    REGION			= "eu-de"
    ZONE			= "eu-de-2"
    VPC				= "ic4sap"                        # EXISTING Security group name
    SECURITY_GROUP	= "ic4sap-securitygroup"      # EXISTING Security group name
    RESOURCE_GROUP  = "wes-automation"
    SUBNET			= "ic4sap-subnet"               # EXISTING Subnet name
    SSH_KEYS                = [ "r010-57bfc315-f9e5-46bf-bf61-d87a24a9ce7a" , "r010-3fcd9fe7-d4a7-41ce-8bb3-d96e936b2c7e" ]
    
    # SAP AAS VSI variables:
    HOSTNAME = "sapnwase-as01"
    PROFILE = "bx2-4x16"
    IMAGE = "ibm-redhat-8-4-amd64-sap-applications-2
    
    # Infra VPC variables for ABAP HANA
    REGION           = "eu-de"
    ZONE             = "eu-de-2"
    VPC              = "ic4sap" # EXISTING Security group name
    SECURITY_GROUP   = "ic4sap-securitygroup" # EXISTING Security group name
    RESOURCE_GROUP   = "wes-automation"
    SUBNET           = "ic4sap-subnet" # EXISTING Subnet name
    SSH_KEYS         = [ "r010-57bfc315-f9e5-46bf-bf61-d87a24a9ce7a" , "r010-3fcd9fe7-d4a7-41ce-8bb3-d96e936b2c7e" ]
    ID_RSA_FILE_PATH = "ansible/id_rsa"
    
    # SAP AAS variables:
    HOSTNAME = "sapnwapp"
    PROFILE = "bx2-4x16"
    IMAGE = "ibm-redhat-8-6-amd64-sap-applications-2"
    
  4. 自定义 SAP 系统配置。 在同一文件 input.auto.tfvars 中,编辑传递给 Ansible 自动部署的 SAP 系统配置变量。 有关变量的说明,请参阅 自述文件

    # SAP system configuration - for ASE SYB
    sap_sid = "NWD"
    sap_ci_host = "10.243.132.10"
    sap_ci_hostname = "sapnwase"
    sap_ci_instance_number = "00"
    sap_ascs_instance_number = "01"
    sap_aas_instance_number = "00"
    
    # Kits paths
    kit_sapcar_file = "/storage/NW75SYB/SAPCAR_1010-70006178.EXE"
    kit_swpm_file = "/storage/NW75SYB/SWPM10SP31_7-20009701.SAR"
    kit_saphotagent_file = "/storage/NW75SYB/SAPHOSTAGENT51_51-20009394.SAR"
    
    # SAP system configuration - for ABAP HANA
    sap_sid = "NWD"
    sap_ci_host = "10.243.132.10"
    sap_ci_hostname = "sapnwapp01"
    sap_ci_instance_number = "00"
    sap_ascs_instance_number = "01"
    hdb_instance_number = "00"
    sap_aas_instance_number = "00"
    
    # Kits paths
    kit_sapcar_file = "/storage/NW75HDB/SAPCAR_1010-70006178.EXE"
    kit_swpm_file = "/storage/NW75HDB/SWPM10SP31_7-20009701.SAR"
    kit_saphotagent_file = "/storage/NW75HDB/SAPHOSTAGENT51_51-20009394.SAR"
    kit_hdbclient_file = "/storage/NW75HDB/IMDB_CLIENT20_009_28-80002082.SAR"
    

    Ansible 解压 SAP 工具包的其他文件。 更多信息,请参阅 自述文件

  5. 初始化 Terraform CLI。

    terraform init

  6. 创建 Terraform 执行计划。 Terraform 执行计划总结了在账户中创建虚拟私有云实例的所有操作。

    terraform plan plan1

    输入 SAP 主密码和 API 密钥。

    SAP 主密码长度必须为 10 - 14 个字符,至少包含一个数字(0-9)。 密码只能包含以下字符:a-z、A-Z、0-9、@、#、$、。该密码不能包含感叹号"!"。 密码不得以数字或下划线 () 开头。

  7. 验证计划是否显示了要创建的所有资源,名称和值是否正确。 如果需要调整计划,请编辑 input.auto.tfvars 文件以修正资源,然后再次运行 terraform 计划。

  8. 应用保存的计划。

    terraform apply "plan1"
    

虚拟私有云和组件已创建,您将看到与 terraform plan 输出类似的输出。

  1. 将 SAP 凭据和虚拟服务器实例 IP 添加到 SAP GUI。 有关 SAP GUI 的更多信息,请参阅 SAP GUI

后续步骤

如果在创建资源后需要重新命名,请修改 input.auto.tfvars 文件以更改名称,然后再次运行 terraform planterraform apply。 创建 VPC 后,请勿使用 IBM Cloud 控制面板和用户界面修改 VPC。 Terraform 脚本创建的是一个完整的解决方案,使用用户界面有选择地修改资源可能会导致意想不到的结果。

如果需要移除 SAP Netweaver 7.X on HANA 或 AnyDB 安装,请进入项目文件夹并运行 terraform destroy。 在这种情况下,terraform destroy 命令不会移除 VPC,因为 VPC 是在运行这些 Terraform 脚本之前创建的。