IBM Cloud Docs
在3层 IBM Cloud® VPC(Terraform和 Ansible )上部署 SAP S/4HANA

在3层 IBM Cloud® VPC(Terraform和 Ansible )上部署 SAP S/4HANA

您可以使用Terraform脚本创建单层VPC,并在堡垒服务器的分布式架构中创建 SAP / SAP HANA。 创建堡垒服务器是所有 IBM SAP VPC自动化解决方案的前提条件。 自动化脚本使用您提供的VPC信息,然后调用 Ansible playbooks在指定的VPC上创建 SAP 架构。 Terraform on IBM Cloud® 可为 IBM Cloud VPC 基础设施资源提供可预测且一致的供应,以便您快速构建复杂的云环境。IBM Cloud VPC 基础设施由经过 SAP 认证的硬件组成,这些硬件使用英特尔® 至强 CPU 和其他英特尔® 技术。

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

  • 从堡垒服务器上的CLI运行的Terraform脚本。
  • 目录 瓷砖用户界面可通过 IBM Cloud 目录访问。
  • IBM Cloud® Schematics 用户界面可通过云仪表板上的菜单访问。

SAP 解决方案已实施

SAP S/4HANA 是 SAP ERP软件产品线中的ERP系统。 该软件基于创新的 SAP HANA 数据库技术,于2015年作为第四代产品推出。 用户可以选择 SAP、S/4HANA 云和本地部署解决方案。

企业资源规划系统用于以需求为导向的业务资源规划。 它用于控制流程,并以有意义的方式连接各部门和职能领域。 各个模块包括会计、销售、生产和营销方面的应用。 ERP软件可以完成客户或供应链管理中更复杂的任务。 作为核心产品 SAP ECC的后续产品,SAP S/4HANA 作为新一代智能ERP系统推出。 借助现代技术,软件即服务( SaaS )版本旨在帮助企业实现流程标准化,并实现数字化转型。

以前的 SAP ERP解决方案支持最常见的数据库,而 SAP S/4HANA 则完全使用 SAP HANA 内存数据库,该数据库由 SAP 开发。 这种内存数据库为用户提供了最大的技术优势,他们可以从性能提升中获益。 S/4HANA 中的“S”代表“简单”,而“4”则代表代序。 与大多数公司仍在使用的 SAP 核心产品 SAP ECC相比,SAP S/4HANA 提供了许多创新功能,从根本上改变了系统格局。 由于 SAP 计划在2027年之前停止对现有ERP解决方案的主流维护,许多 SAP ECC用户已经在考虑迁移到 SAP S/4HANA。

图 1。 SAP S/4HANA 架构
SAP S/4HANA 架构

创造什么

脚本分两个阶段运行。 第一阶段将自动提供部署 堡垒式虚拟服务器基础架构时 创建的VPC中的 IBM Cloud 资源。 第二阶段在分布式环境中创建 SAP 架构,在不同的VSI VPC系统上创建 SAP S/4HANA 应用服务器,在专用服务器类型的VSI或裸机VPC盒式系统上创建 SAP HANA 数据库。 如需了解有关此架构的更多信息,请发送电子邮件至 SAP NetWeaver 7.x,并附上 SAP HANA IBM Cloud® VPC。

在第一阶段,VPC配备了2个虚拟服务器实例,并配置了 SAP 认证的存储和网络。

在第二阶段,将调用 Ansible 剧本,并为两个专用的VSI SAP App VSI系统和专用的 SAP HANA VSI或裸机盒安装 SAP 架构。 部署的 SAP 架构是作为分布式部署模型的独立专用 SAP HANA 2.0 盒版本中的 SAP S/4HANA 版本。 有关此架构的更多信息,请参阅 《使用Terraform和 Ansible 在 IBM Cloud® VPC 上自动创建 SAP HANA 独立虚拟服务器实例 》。

单一主机 SAP HANA 系统

单主机系统是最简单的系统安装类型,它完全在一个主机上运行一个 SAP HANA 数据库实例。 通过这种自动化,您可以在 x86 VSI或英特尔虚拟裸机服务器类型上部署HANA数据库实例。 您可以根据需要扩展系统。 单主机系统包含以下组件:

图 2。 单主机 SAP HANA 系统
单主机 SAP HANA 系统

这些脚本旨在将 SAP ( SAP S/4HANA 版本)解决方案与专用数据库 SAP HANA 盒一起安装到现有的VPC中,并完成一个任务流程。

SAP 工具包

您有责任将必要的 SAP 和数据库工具包下载到您的部署服务器(堡垒服务器)。 在自动化部署过程中,所有文件档案都由 Ansible 进行解压。 更多信息,请参阅自述文件。

Terraform部署

您可以使用Bastion服务器的CLI来运行Terraform脚本,这些脚本位于 GitHub 存储库中,用于 SAP S/4HANA 的Terraform

要在专用 SAP HANA 2.0 BOX VSI上运行脚本以部署 SAP S/4HANA 版本,您需要:

  • input.auto.tfvars 文件中自定义解决方案的资源。
    • 输入堡垒服务器中的浮动IP和子网信息。

    • 默认情况下,VSI的配置如下:

      • Red Hat Enterprise Linux® 8.6 SAP HANA /应用程序( amd64 ),
      • SSH密钥,以根用户身份通过SSH访问,
      • 存储卷

      您可以更改默认设置,以符合您的解决方案。

    • 您可以更改默认的 SAP 系统配置设置,以符合您的解决方案。

    • 您还需要指定下载 SAP 工具包的位置。

IBM Cloud 上Terraform的 IBM Cloud Provider插件使用这些配置文件在您的 IBM Cloud 账户中配置 S/4HANA 系统。

Schematics 部署

您使用 IBM Cloud® 上的 Schematics 用户界面,并进入 GitHub 存储库,以获取 S/4HANA Schematics。

当您使用 Schematics 界面运行脚本时,您:

  • 输入工作区信息。
  • 输入路径 GitHub。
  • 在 Schematics 界面中修改参数。

目录 瓷砖布局

当您使用目录磁贴进行部署时,您:

  • 从目录中选择 SAP S/4HANA 目录中的瓷砖
  • 请输入您的工作空间信息。 目录磁贴为您创建一个 Schematics 工作区。
  • 修改堡垒服务器的参数、个人凭证信息以及解决方案的其他特定参数。

支持 - Schematics 和 Terraform

IBM 对这些材料不提供任何形式的保证,也不提供任何服务或技术支持。 作为推荐做法,请在将本网站下载的任何材料用于实际系统前仔细检查。

虽然 IBM 服务组织不支持此处提供的材料,但开发人员欢迎您的意见,并保留随时修改、重新调整或删除这些材料的权利。 若要报告问题、提出建议或意见,请提交 GitHub 问题。

支持 - 目录 瓷砖

目录瓷砖产品支持 IBM Cloud。 如需了解更多信息,请发送电子邮件至 IBM Cloud 或 SAP,以获取帮助和支持

如果客户的问题是通过 SAP 软件发现的,那么 SAP 支持会为客户提供帮助。 请遵循 SAP 说明 90835 的建议,该说明描述了 SAP 事件升级程序。 此 SAP Note(及其他 Note)位于 https://support.sap.com/en/index.html

准备工作

在您部署 SAP 之前 S/4HANA:

  • 请确保您的帐户已升级为 付费帐户

  • 如果您还没有,请创建一个堡垒服务器来存储 SAP 工具包。 更多信息,请参阅 自动化 SAP 堡垒服务器 - SAP 媒体存储库。 您需要堡垒服务器的浮动IP进行部署。

  • 从 SAP 门户下载 SAP 工具包到您的堡垒服务器。 记下下载位置。 Ansible 解压所有档案包,需要路径。 更多信息,请参阅 GitHub 资料库中的自述文件以及目录板块的“关于”页面。

  • 创建或检索 IBM Cloud API 密钥。 API密钥用于 IBM Cloud 平台的身份验证,并确定您对 IBM Cloud 服务的权限。

  • 创建或检索您的SSH密钥ID。 您需要的是SSH密钥的40位UUID,而不是SSH密钥名称。

  • (可选——目录图块)使用 Secrets Manager

使用Terraform脚本部署 SAP S/4HANA

请按照以下步骤在现有 VPC 上部署 SAP S/4HANA 三层架构。 编写脚本可能需要2-3个小时。 脚本编写可能需要1-2小时。 S/4HANA 支持的版本有 2020、2021、2022 和 2023。 如需了解更多信息,请参阅推荐套件版本的 自述文件

  1. 使用 ssh 登录部署服务器。

  2. 复制资源库,并将路径改为 sap-s4hana 文件夹。

    git clone https://github.com/IBM-Cloud/sap-s4hana.git
    
    cd sap-s4hana
    
  3. 编辑输入参数文件 input.auto.tfvars,修改变量以符合您的解决方案。 该文件已预设了推荐的磁盘最小容量。 要使用现有的VPC,您必须修改:

    • VPC——现有VPC名称
    • 区域 - VSI的区域
    • ZONE - 虚拟服务器的可用区
    • SECURITY_GROUP - 现有安全组,之前由用户在同一 VPC 中创建。
    • 子网——与VSIs位于同一区域和网段中,且之前由用户创建的现有子网。
    • 资源组 - 现有资源组,之前由用户创建。
    • SSH_KEYS - 允许以root身份SSH访问VSI的SSH密钥UUID列表。
    • ID_RSA_FILE_PATH - id_rsa 私钥文件路径,采用 OpenSSH 格式,权限为 0600。
    • APP_HOSTNAME/DB_HOSTNAME - 输入最多12个字符的主机名。 更多信息,请参阅自述文件。
    • DB_PROFILE/APP_PROFILE - 用于HANA/APP VSI的实例配置文件。 HANA数据库实例可以部署在 x86 VSI或裸机服务器类型上。
    • DB_IMAGE/APP_IMAGE - DB/APP VSI的操作系统镜像。

    有关配置文件的更多信息,请参阅实例配置文件。 更多图片选项,请参阅图片。 有关变量的说明,请参阅自述文件。

    REGION          = ""
    ZONE            = ""
    VPC             = ""
    SECURITYGROUP   = ""
    SUBNET          = ""
    SSH_KEYS        = [""]
    ID_RSA_FILE_PATH   = "ansible/id_rsa"
    
    # SAP Database VSI variables:
    DB_HOSTNAME     = ""
    DB_PROFILE      = "mx2-16x128"
    DB_IMAGE        = "ibm-redhat-8-6-amd64-sap-hana-5" # For any manual change in the terraform code, you have to make sure that you use a certified image based on the SAP NOTE: 2927211.
    
    # SAP APPs VSI variables:
    APP_HOSTNAME    = ""
    APP_PROFILE     = "bx2-4x16"
    APP_IMAGE       = "ibm-redhat-8-6-amd64-sap-applications-5" # For any manual change in the terraform code, you have to make sure that you use a certified image based on the SAP NOTE: 2927211.
    
  4. 自定义您的 SAP 系统配置,将值传递给 Ansible 脚本,以进行自动部署。

    # S/4HANA version
    S4HANA_VERSION = ""
    
    # SAP HANA DB configuration
    HANA_SID = "HDB"
    HANA_SYSNO = "00"
    HANA_SYSTEM_USAGE = "custom"
    HANA_COMPONENTS = "server"
    HANA_SERVER_TYPE = ""
    HANA_TENANT = ""
    
    # SAP HANA Installation kit path
    KIT_SAPHANA_FILE = "/storage/HANADB/51057281.ZIP"
    
    #SAP system configuration
    SAP_SID= "S4A"
    SAP_ASCS_INSTANCE_NUMBER = "01"
    SAP_CI_INSTANCE_NUMBER = "00"
    
    # Number of concurrent jobs used to load and/or extract archives to SAP HANA Host
    HDB_CONCURRENT_JOBS = "23"
    
    # SAP S4HANA APP Installation kit path
    KIT_SAPCAR_FILE = "/storage/S4HANA/SAPCAR_1010-70006178.EXE"
    KIT_SWPM_FILE = "/storage/S4HANA/SWPM20SP17_0-80003424.SAR"
    KIT_SAPEXE_FILE = "/storage/S4HANA/KERNEL/793/SAPEXE_60-70007807.SAR"
    KIT_SAPEXEDB_FILE = "/storage/S4HANA/KERNEL/793/SAPEXEDB_60-70007806.SAR"
    KIT_IGSEXE_FILE = "/storage/S4HANA/KERNEL/793/igsexe_4-70005417.sar"
    KIT_IGSHELPER_FILE = "/storage/S4HANA/igshelper_17-10010245.sar"
    KIT_SAPHOTAGENT_FILE = "/storage/S4HANA/SAPHOSTAGENT61_61-80004822.SAR"
    KIT_HDBCLIENT_FILE = "/storage/S4HANA/IMDB_CLIENT20_018_27-80002082.SAR"
    KIT_S4HANA_EXPORT = "/storage/S4HANA/2023"
    
  5. 初始化Terraform CLI。

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

    terraform plan --out plan1
    

    您需要提供 SAP HANA 主密码、SAP 主密码和 IBM Cloud API密钥。

    SAP HANA 主密码必须至少包含一个数字(0-9)、一个小写字母(a-z)和一个大写字母(A-Z)。 只能包含以下字符:a-z、A-Z、0-9、!、@、#、$、。不能以数字或下划线()开头。

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

    确认计划中显示了您想要创建的所有资源,且名称和值正确无误。 如果需要对计划进行调整,请编辑 input.auto.tfvars 文件以更正资源,然后再次运行 terraform plan。

  7. 为 S/4HANA 创建 IBM Cloud 资源并安装 SAP 系统。

    terraform apply "plan1"
    

    IBM Cloud 资源已创建,您可以看到与terraform计划输出类似的输出。

Terraform的下一步计划

如果您需要删除 S/4HANA 系统,请进入您的项目文件夹并运行 terraform destroy

使用目录磁贴界面展开 SAP S/4HANA

请使用目录磁贴界面,按照以下步骤在现有 VPC 中配置 SAP S/4HANA。 可用的受支持的 S/4HANA 版本是2020、2021、2022和2023。 如需了解更多信息,请参阅 自述文件,了解推荐的套件版本。 脚本编写可能需要1-2小时。

  1. 从 IBM Cloud 目录中选择 SAP S/4HANA 瓷砖。 Tile为 SAP S/4HANA 打开“创建”选项卡。 如需了解有关此部署的更多信息,请参阅“关于”选项卡或自述文件链接。

  2. 在 SAP S/4HANA 页面上,配置您的工作区:

    • 输入工作区的名称或使用默认名称。
    • 用于创建资源的资源组。 使用默认值或创建资源组。
    • 选择一个位置来创建您的 Schematics 工作空间。 工作空间的位置不必与资源的位置一致。
  3. 输入所需的部署值,查看默认输入变量,并提供与您的解决方案匹配的值。 这些参数取决于您的部署。 如需了解更多详情,请参阅 自述文件——输入参数

    必填变量
    参数 描述
    堡垒_浮动_IP 输入您开始部署前创建的堡垒服务器的浮动IP。 更多信息,请参阅 自动化 SAP 堡垒服务器 - SAP 媒体存储
    區域 资源部署所在的云区域
    RESOURCE_GROUP 现有VSIs和卷的资源组
    SECURITY_GROUP 现有 安全组名称
    ssh_keys SSH密钥ID列表,用于访问VSI
    SUBNET 现有子网名称
    VPC 现有VPC名称
    ZONE 资源部署区域
    HANA_MAIN_PASSWORD HANA主密码或使用存储在 Secrets Manager
    IBMCLOUD_API_KEY IBM Cloud API密钥或使用存储在 Secrets Manager
    私钥 输入id_rsa私钥内容,或使用存储在 Secrets Manager
    SAP_MAIN_PASSWORD SAP 主密码或使用存储在 Secrets Manager
  4. 查看并更新可选参数。 Ansible 脚本需要 SAP 工具包位于列出的默认位置。 如需了解更多详情,请参阅 自述文件——输入参数

    可选变量
    参数 描述
    APP_HOSTNAME 应用程序虚拟服务器接口主机名
    APP_IMAGE 应用程序 VSI 操作系统 图像
    APP_PROFILE APP VSI 个人资料
    DB_HOSTNAME DB VSI 主机名
    DB_IMAGE DB VSI 操作系统镜像
    DB_PROFILE DB VSI简介
    HANA_COMPONENTS hana_components
    HANA_SID hana_sid
    HANA_SYSNO hana_sysno
    HANA_SYSTEM_USAGE hana_system_usage
    HANA_TENANT SAP HANA 租户的名字
    HANA_SERVER_TYPE SAP HANA 服务器的类型。 允许的值:“虚拟”或“裸机”。
    HDB_CONCURRENT_JOBS hdb_concurent_jobs
    KIT_HDBCLIENT_FILE kit_hdbclient_file
    KIT_IGSEXE_FILE kit_igsexe_file
    KIT_IGSHELPER_FILE kit_igshelper_file
    KIT_S4HANA_EXPORT kit_s4hana_export
    KIT_SAPCAR_FILE kit_sapcar_file
    KIT_SAPEXE_FILE kit_sapexe_file
    KIT_SAPEXEDB_FILE kit_sapexedb_file
    KIT_SAPHANA_FILE kit_saphana_file
    KIT_SAPHOTAGENT_FILE kit_saphotagent_file
    KIT_SWPM_FILE 套件_swpm_文件
    SAP_ASCS_INSTANCE_NUMBER sap_ascs_instance_number
    SAP_CI_INSTANCE_NUMBER sap_ci_instance_number
    SAP_SID sap_sid
    S4HANA_VERSION 版本 S/4HANA
  5. 接受许可协议。

  6. 选择安装。 部署开始后,您将被引导至 Schematics 页面,该页面显示脚本日志文件,供您监控部署进度。

使用 Schematics 界面部署 SAP S/4HANA

请使用 Schematics 界面,按照以下步骤在现有VPC中配置 SAP S/4HANA。 脚本编写可能需要1-2小时。 S/4HANA 支持的版本有 2020、2021、2022 和 2023。 如需了解更多信息,请参阅推荐套件版本的 自述文件

  1. 从 IBM Cloud 菜单中选择 Schematics

  2. 单击创建工作空间

  3. “指定模板” 页面上:

    • 输入 URL,进入 Schematics 界面。
    • 选择 Terraform版本
    • 单击下一步
  4. “工作区”详情页面上:

    • 请为工作区命名。
    • 选择资源组
    • 选择您工作空间的位置。 工作空间的位置不必与资源的位置一致。
    • 选择下一步
  5. 选择 “创建” 以创建您的工作区。

  6. 在工作区设置页面的输入变量部分,查看默认输入变量,并输入与您解决方案相符的值:

    • 您的API密钥
    • 您本地系统的私有 SSH 密钥
    • 您创建并上传到 IBM Cloud 的SSH密钥的ID。 在SSH密钥ID前后加上方括号和引号,例如 [“ibmcloud_ssh_key_UUID1”、“ibmcloud_ssh_key_UUID2”等。]
    • 您的堡垒服务器的浮动IP地址。
    • 资源组
    • 资源区域
    • 资源区
    • VPC 名称
    • 子网名称
    • 安全组名称
    • 主机名
    • Profile
    • 图像
    • SAP HANA 主密码——该密码必须由8-14个字符组成,包括大小写字母、数字和特殊字符。
    • SAP 主密码——该密码必须由10-14个字符组成,包括大小写字母、数字和特殊字符(非感叹号)。
    • 单击保存更改

    如需了解每个参数的详细说明,请查看 GitHub repo readme文件中的“输入参数文件”章节。 此外,请务必将包含敏感信息的参数(如密码、API和ssh私钥)标记为“敏感”。 这些参数在自述文件中的“输入参数文件”下被标记为“敏感”。

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

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

  9. 点击“应用计划” 应用您的Terraform模板。

  10. 查看日志文件,以确保在供应、修改或删除过程中未发生任何错误。