IBM Cloud Docs
Automatisieren von SAP NetWeaver (ABAP) 7.5 HA-Bereitstellung auf IBM Cloud® VPC (Terraform und Ansible )

Automatisieren von SAP NetWeaver (ABAP) 7.5 HA-Bereitstellung auf IBM Cloud® VPC (Terraform und Ansible )

Terraform auf IBM Cloud® ermöglicht eine vorhersehbare und konsistente Bereitstellung von IBM Cloud Virtual Private Cloud (VPC)-Infrastrukturressourcen, so dass Sie schnell komplexe Cloud-Umgebungen aufbauen können. IBM Cloud VPC Infrastruktur besteht aus SAP zertifizierter Hardware, die Intel® Xeon CPUs und andere Intel® Technologien verwendet.

Terraform-Skripte werden verwendet, um eine VPC und 2 geclusterte Ebenen zu erstellen, eine für SAP NetWeaver 7.5 und eine weitere für SAP HANA In-Memory-Datenbank in einer HA Single- und Multi Zone-Architektur auf dem Bastion-Server. Die Erstellung des Bastion-Servers ist eine Voraussetzung für alle automatisierten Lösungen IBM SAP VPC. Die Automatisierungsskripte verwenden die von Ihnen bereitgestellten VPC-Informationen und rufen dann das Ansible playbook auf, um die SAP Architektur in der angegebenen VPC zu erstellen.

Sie haben die Wahl zwischen zwei Bereitstellungsmethoden:

  • Terraform-Skripte werden über die CLI auf Ihrem Bastion-Server ausgeführt.
  • IBM Cloud Schematics benutzeroberfläche, auf die Sie über das Menü in Ihrem Cloud-Dashboard zugreifen können.

SAP Solution implementiert

SAP NetWeaver 7.5 ist ein Software-Stack für viele der Anwendungen von SAP SE. Der SAP NetWeaver 7.5 Application Server, manchmal auch als WebAS, bezeichnet, ist die Laufzeitumgebung für die SAP Anwendungen und die gesamte mySAP Business Suite läuft auf SAP WebAS: Supplier Relationship Management (SRM), Customer Relationship Management (CRM), Supply Chain Management (SCM), Product Lifecycle Management (PLM), Enterprise Resource Planning (ERP), Transportation Management System (TMS).

Das Produkt wird als serviceorientierte Architektur für die Integration von Unternehmensanwendungen vermarktet. Es kann für die benutzerdefinierte Entwicklung und die Integration mit anderen Anwendungen und Systemen verwendet werden und wird hauptsächlich mit der Programmiersprache ABAP, aber auch mit C, C++ und Java erstellt. Es kann auch mit Technologien wie Microsoft.NET, Java EE und IBM WebSphere erweitert werden und mit diesen interagieren.

SAP NetWeaver 7.5 7.5 ermöglicht Technologietrends wie das Internet der Dinge ( IoT ), Mobile, Cloud, Big Data und Analytics und bietet eine Grundlage für die einfache und schnelle Entwicklung von einfachen Geschäftsanwendungen. Sie unterstützt Java 8, damit Java-basierte Hubs wie SAP Enterprise Portal, SAP Process Orchestration und SAP Business Process Management von den neuen Java Funktionen profitieren können.

Die Neuerungen in ABAP und Java bieten zusammen mit den Verbesserungen an SAP NetWeaver 7.5 hubs, SAP Fiori und dem Lifecycle Management erhebliche Vorteile.

Was wird erstellt?

Die Scripts funktionieren in zwei Phasen. Die erste Phase automatisiert die Erstellung der Ressourcen für den VPC-Bereitstellungsprozess in einer bestehenden VPC, die bei der Bereitstellung der SAP bastion VSI erstellt wurde. In der zweiten Phase wird die Architektur SAP in einer verteilten Umgebung erstellt.

  1. Architektur für SAP NetWeaver 7.5 HA in einer einzigen Zone

    • SAP HA SZ SAP NetWeaver 7.5 App-Cluster-Server auf einer separaten VSI als Einzelzonen-VPC
    • SAP HANA cluster-DB auf einem dedizierten Server vom Typ VSI als Einzelzonen-VPC
  2. Architektur für SAP NetWeaver 7.5 HA in einer Multizone

    • SAP HA MZ SAP NetWeaver 7.5 App-Cluster-Server auf einer eigenen VSI als Multi-Zone-VPC
    • SAP HANA cluster-DB auf einem dedizierten Server vom Typ VSI als Multizonen-VPC

Es wird empfohlen, bei der Bereitstellung dieser Lösung die Richtlinien in der Readme-Datei zu lesen.

Weitere Informationen zu dieser Architektur finden Sie unter SAP NetWeaver 7.5 und SAP HANA IBM Cloud VPC.

In der ersten Phase werden die folgenden Ressourcen in der VPC bereitgestellt:

  • 1 Platzierungsgruppe für alle 4 virtuellen Maschinen, die mit dieser Lösung erstellt wurden
  • 4 VSI, mit Teilnetz- und Sicherheitsgruppenkonfigurationen
  • 3 Application Load Balancers für HANA DB und SAP ASCS/ERS
  • 1 VPC-DNS-Dienst, der für die Zuordnung des ALB-FQDN zu den virtuellen Hostnamen SAP ASCS/ERS und HANA verwendet wird
  • 7 Dateifreigaben für VPC

In der zweiten Phase werden die Ansible Playbooks aufgerufen und die SAP Hochverfügbarkeitsarchitektur für die beiden dedizierten VSIs SAP App VSI Box und dedizierte SAP HANA VSI Box installiert. Die SAP Architektur, die auf dem pacemaker cluster eingesetzt wird, ist die SAP NetWeaver 7.5 Version. HA dedicated SAP HANA 2.0 VSI's Release als verteiltes Bereitstellungsmodell. Weitere Informationen zu dieser Architektur finden Sie unter Automatisieren der SAP HANA eigenständigen virtuellen Serverinstanz auf IBM Cloud VPC unter Verwendung von Terraform und Ansible.

Hochverfügbares System für SAP NetWeaver 7.5 in einer Einzelzonen- oder Mehrzonen-Architektur

Abbildung 1. SAP HA für SAP Anwendungscluster-Knoten PAS (Active) und AAS (Active) Schematics Bereitstellung (Single Zone Architektur)
SAP HA für SAP Anwendungscluster-Knoten PAS (Active) und AAS (Active) Schematics Bereitstellung (Single Zone Architektur)

Abbildung 2. SAP HA für HANA DB-Instanzen Clusterknoten primär (aktiv) und sekundär (passiv) (Single Zone Architektur)
SAP HA für HANA DB-Instanzen Clusterknoten primär (aktiv) und sekundär (passiv) (Single Zone Architektur)

Ein standardmäßiger HA HANA-Cluster in einer Aktiv-Passiv-Konfiguration hat zwei Knoten: einen Primärknoten und einen Standby-Knoten. Der primäre Knoten bedient aktiv die aktiven SAP Instanzen (PAS und AAS), während der Standby-Knoten darauf wartet, bei Bedarf einspringen zu können.

Der Cluster wird mit einem virtuellen IP-Hostnamen eingerichtet. Der Hostname wird über DNS auf den FQDN des HANA ALB abgebildet, der mit dem von SAP ASCS- und ERS-Instanzen identisch ist. App-Instanzen (PAS und AAS) sind die Angaben, die in den Profilen von SAP verwendet werden, um diese bestimmte Komponente aufzurufen. Der Cluster weist diese virtuelle IP dem aktiven Knoten zu und verwendet einen Heartbeat-Monitor, um die Verfügbarkeit der Komponenten zu bestätigen. Wenn der primäre Knoten nicht mehr reagiert, löst er den automatischen Failover-Mechanismus aus, der den Standby-Knoten anruft, damit er der primäre Knoten wird. Der ALB erkennt die Änderung, leitet den Verkehr an den neuen aktiven Knoten um und weist ihm die virtuelle IP zu, wodurch die Verfügbarkeit der Komponente wiederhergestellt wird. Nachdem der ausgefallene Knoten repariert wurde, geht er als Standby-Knoten online.

Terraform-Scripts

Die Terraform-Skripte für die Bereitstellung sind enthalten:

  • 1 Platzierungsgruppe, die alle 4 an dieser Lösung beteiligten VMs umfasst.
  • 4 VSI in einer bestehenden VPC mit Subnetz- und Sicherheitsgruppenkonfigurationen. Der Umfang der VSIs: 2 für die HANA-Datenbank-Cluster-Instanz und 2 für den Anwendungscluster SAP.
  • Konfiguration von 3 Application Load Balancern wie HANA DB und SAP ASCS/ERS.
  • Konfiguration von 1 VPC-DNS-Dienst, der verwendet wird, um den ALB-FQDN auf die virtuellen Hostnamen SAP ASCS/ERS und HANA abzubilden.
  • Konfigurieren von 7 Dateifreigaben für VPC.

Die Ansible Skripte, die für die Bereitstellung enthalten sind, sind:

  • Installation und Konfiguration der Betriebssystemanforderungen für SAP Anwendungen.
  • Installation der Cluster-Komponenten
  • Ansible skripte für die Konfiguration von SAP Anwendungsclustern und SAP HANA Clusterkonfiguration.
  • HANA-Installation
  • HANA DB-Sicherung
  • Konfiguration der HANA-Systemreplik
  • Installation von ASCS- und ERS-Instanzen
  • DB-Last
  • Installation von primären und zusätzlichen Anwendungsservern

Für die CLI-Bereitstellung wird Ansible von Terraform gestartet und beide müssen auf demselben Host (Bastion-Server) verfügbar sein.

SAP-Kits

Es liegt in Ihrer Verantwortung, die erforderlichen SAP und DB-Kits auf Ihren Deployment Server (Bastion Server) herunterzuladen. Ansible dekomprimiert alle Dateiarchive während des automatischen Deployment-Prozesses. Weitere Informationen finden Sie in der Readme-Datei.

Übersicht über die Terraform-Bereitstellung

Die Automatisierungsskripte aus dem GitHub Repository können durch Ausführen der Terraform-Skripte in der CLI vom Bastion-Server (Deployment-Server) aus ausgeführt werden.

Bearbeiten Sie die Eingabeparameterdatei input.auto.tfvars, und passen Sie die Variablen an Ihre Lösung an:

  • VPC - Ein vorhandener VPC-Name
  • REGION - Region für die VSI
  • DOMAIN_NAME - Private Domain, die von der Außenwelt nicht erreicht werden kann
  • ZONE_1- Verfügbarkeitszone für DB_HOSTNAME_1 und APP_HOSTNAME_1 VSI
  • ZONE_2- Verfügbarkeitszone für DB_HOSTNAME_2 und APP_HOSTNAME_2VSIs
  • SECURITY_GROUP - Vorhandene Sicherheitsgruppe, die zuvor vom Benutzer in derselben VPC erstellt wurde.
  • SUBNET_1- Der Name eines bestehenden Subnetzes in derselben VPC, ZONE_1, in dem DB_HOSTNAME_1 und APP_HOSTNAME_1 VSI erstellt werden.
  • SUBNET_2- Der Name eines bestehenden Subnetzes in derselben VPC, ZONE_2, in dem DB_HOSTNAME_2 und APP_HOSTNAME_2 VSI erstellt werden.
  • RESOURCE_GROUP - Vorhandene Ressourcengruppe, die zuvor vom Benutzer erstellt wurde.
  • SSH_KEYS - Liste der SSH-Schlüssel-UUIDs, die für SSH als root zu den VSI zugelassen sind.
  • ID_RSA_FILE_PATH - id_rsa Dateipfad des privaten Schlüssels im Format OpenSSH mit 0600 Berechtigungen
  • APP_HOSTNAME_1/ APP_HOSTNAME_2/DB_HOSTNAME_1/ DB_HOSTNAME_2- Geben Sie einen Hostnamen mit bis zu 12 Zeichen ein. Weitere Informationen finden Sie in der Readme-Datei.
  • DB_PROFILE/APP_PROFILE - Das für den HANA/APP VSI verwendete Instanzprofil
  • DB_IMAGE/APP_IMAGE - Betriebssystem-Image für DB/APP VSI

Schematics einsatzübersicht

Schematics benutzeroberfläche auf der Website IBM Cloud verwendet wird. Geben Sie das Repository GitHub für SAP NetWeaver (ABAP){: external} auf der HANA-Datenbank Hochverfügbarkeit in einer oder mehreren Zonen Schematics ein.

Wenn Sie die Skripte über die Schnittstelle Schematics ausführen, können Sie:

  • Geben Sie Informationen zum Arbeitsbereich ein.
  • Geben Sie den GitHub Pfad für die verwendeten Terraform-Skripte ein.
  • Ändern Sie die Parameter in der Schnittstelle Schematics.

Unterstützung - Terraform und Schematics

Es gibt keine Garantien jeglicher Art, und es gibt keinen Service oder technischen Support für diese Materialien von IBM. Es wird empfohlen, alle Materialien, die Sie von dieser Website herunterladen, sorgfältig zu prüfen, bevor Sie sie auf einem aktiven System verwenden.

Obwohl die hier zur Verfügung gestellten Materialien nicht von der IBM Service-Organisation unterstützt werden, werden Ihre Kommentare von den Entwicklern begrüßt, die sich das Recht vorbehalten, die Materialien jederzeit zu überarbeiten, neu anzupassen oder zu entfernen. Um ein Problem zu melden, oder Vorschläge oder Kommentare abzugeben, öffnen Sie eine GitHub-Ausgabe.

Vorbereitende Schritte

Bevor Sie SAP NetWeaver 7.5 High Availability auf Single Zone oder Multi Zone einsetzen:

  • Die Automatisierung für diese Bereitstellung erfordert IBM Cloud File Storage for VPC, um erfolgreich abgeschlossen zu werden. IBM Cloud File Storage for VPC ist für Kunden mit Sondergenehmigung verfügbar, um diesen Service in den Regionen Frankfurt, London, Dallas, Toronto, Washington, Sao Paulo, Sydney, Osaka und Tokio zu testen. Kontaktieren Sie Ihren IBM Vertriebsmitarbeiter, um Zugang zu erhalten. Für weitere Informationen siehe IBM Cloud File Storage for VPC.
  • Richten Sie Ihr Konto für den Zugriff auf die VPC ein. Stellen Sie sicher, dass Ihr Konto auf ein gebührenpflichtiges Konto hochgestuft ist.
  • Erstellen Sie, falls noch nicht geschehen, einen Bastionsserver zum Speichern der SAP-Kits. Weitere Informationen finden Sie unter SAP Bastionsserver automatisieren – SAP Media Storage Repository.
  • Laden Sie die SAP-Kits vom SAP Portal auf Ihren Deployment Server herunter. Notieren Sie sich die heruntergeladenen Speicherorte. Ansible dekomprimiert die Dateien. Weitere Informationen finden Sie in der Readme-Datei im Repository GitHub und auf der Seite About.
  • Erstellen Sie einen IBM Cloud API-Schlüsseloder rufen Sie ihn ab. Der API-Schlüssel wird verwendet, um sich bei der Plattform IBM Cloud zu authentifizieren und um Ihre Berechtigungen für die Dienste von IBM Cloud zu bestimmen.
  • SSH-Schlüssel-ID erstellen oder abrufen. Sie benötigen die 40-stellige UUID für den SSH-Schlüssel, nicht den SSH-Schlüsselnamen.
  • (Optional) erstellen Sie Geheimnisse für Ihre Anmeldeinformationen und Passwörter, indem Sie die Secrets Manager.

Bereitstellung von SAP HA NetWeaver 7.5 unter Verwendung von Terraform mit dem Bastion Server CLI

Führen Sie diese Schritte aus, um das IBM Cloud Provider Plug-in zu konfigurieren und Terraform zu verwenden, um SAP HA SZ oder MZ S/4HANA auf Ihrer bestehenden VPC zu installieren. Die Bearbeitung der Skripte kann bis zu 4 Stunden in Anspruch nehmen. Die unterstützten Versionen für SAP NetWeaver (ABAP) mit HANA HA SZ und MZ ist RHEL. Weitere Informationen finden Sie in der Readme-Datei zu den empfohlenen Versionen der Kits.

  1. Greifen Sie auf die Befehlszeilenschnittstelle des Bastionsservers zu.

  2. Klonen Sie das Lösungs-Repository von https://github.com/IBM-Cloud/sap-nwhana-ha und cd in den Ordner sap-nwhana-ha.

    git clone https://github.com/IBM-Cloud/sap-nwhana-ha.git
    
    cd sap-nwhana-ha
    
    
  3. Geben Sie Ihre VPC an. Ändern Sie die Datei input.auto.tfvars, um die Informationen für die vorhandene VPC, Ihre Zone, Ihre VPC und die Komponentennamen, das Profil und das Image anzugeben. Sie benötigen Ihre 40-stellige SSH-Schlüssel-ID für diese Datei. Der zweite SSH-Schlüssel ist optional. Weitere Optionen für das Profil finden Sie unter Instanzprofile. Weitere Optionen für Bilder finden Sie unter Bilder. Eine Beschreibung der Variablen finden Sie in der Readme-Datei.

    ##########################################################
    # General VPC variables:
    ##########################################################
    
    REGION = ""
    # The cloud region where to deploy the solution. Supported regions: https://cloud.ibm.com/docs/containers?topic=containers-regions-and-zones#zones-vpc
    # Example: REGION = "eu-de"
    
    DOMAIN_NAME = "ha.mzexample.com"
    # The DOMAIN_NAME variable should contain at least one "." as a separator. It is a private domain and it is not reacheable to and from the outside world.
    # The DOMAIN_NAME variable could be like a subdomain name. Ex.: staging.example.com
    # Domain names can only use letters, numbers, and hyphens.
    # Hyphens cannot be used at the beginning or end of the domain name.
    # You can't use a domain name that is already in use.
    # Domain names are not case sensitive.
    
    ASCS_VIRT_HOSTNAME = "sapascs"
    # ASCS Virtual Hostname
    # Default value: sapascs
    # When the default value is used, the virtual hostname will automatically be changed based on <SAP_SID> to "sap<sap_sid>ascs"
    
    ERS_VIRT_HOSTNAME = "sapers"
    # ERS Virtual Hostname
    # Default value: sapers
    # When the default value is used, the virtual hostname will automatically be changed based on <SAP_SID> to "sap<sap_sid>ers"
    
    HANA_VIRT_HOSTNAME = "dbhana"
    # Hana Virtual Hostname
    # Default value: dbhana
    # When the default value is used, the virtual hostname will automatically be changed based on <SAP_SID> to "db<hana_sid>hana"
    
    VPC = ""
    # The name of an EXISTING VPC. Must be in the same region as the solution to be deployed. The list of VPCs is available here: https://cloud.ibm.com/infrastructure/network/vpcs.
    # Example: VPC = "ic4sap"
    
    ZONE_1 = ""
    # Availability zone for DB_HOSTNAME_1 and APP_HOSTNAME_1 VSIs, in the same VPC. Supported zones: https://cloud.ibm.com/docs/containers?topic=containers-regions-and-zones#zones-vpc
    # Example: ZONE = "eu-de-1"
    
    SUBNET_1 = ""
    # The name of an EXISTING Subnet, in the same VPC, ZONE_1, where DB_HOSTNAME_1 and APP_HOSTNAME_1 VSIs will be created. The list of Subnets is available here: https://cloud.ibm.com/infrastructure/network/subnets
    # Example: SUBNET = "ic4sap-subnet_1"
    
    ZONE_2 = ""
    # Availability zone for DB_HOSTNAME_2 and APP_HOSTNAME_2 VSIs, in the same VPC. Supported zones: https://cloud.ibm.com/docs/containers?topic=containers-regions-and-zones#zones-vpc.
    # If the same value as for ZONE_1 is used, and the value for SUBNET_1 is the same with the value for SUBNET_2, the deployment will be done in a single zone. If the values for ZONE_1, SUBNET_1 are different than the ones for ZONE_2, SUBNET_2 then an SAP Multizone deployment will be done.
    # Example: ZONE = "eu-de-2"
    
    SUBNET_2 = ""
    # The name of an EXISTING Subnet, in the same VPC, ZONE_2, where DB_HOSTNAME_2 and APP_HOSTNAME_2 VSIs will be created. The list of Subnets is available here: https://cloud.ibm.com/infrastructure/network/subnets.
    # If the same value as for SUBNET_1 is used, and the value for ZONE_1 is the same with the value for ZONE_2, the deployment will be done in a single zone. If the values for ZONE_1, SUBNET_1 are different than the ones for ZONE_2, SUBNET_2 then it an SAP Multizone deployment will be done.
    # Example: SUBNET = "ic4sap-subnet_2"
    
    SECURITY_GROUP = ""
    # The name of an EXISTING Security group for the same VPC. It can be found at the end of the Bastion Server deployment log, in \"Outputs\", before \"Command finished successfully\" message. The list of Security Groups is available here: https://cloud.ibm.com/infrastructure/network/securityGroups.
    # Example: SECURITY_GROUP = "ic4sap-securitygroup"
    
    RESOURCE_GROUP = ""
    # EXISTING Resource group, previously created by the user. The list of available Resource Groups: https://cloud.ibm.com/account/resource-groups
    # Example: RESOURCE_GROUP = "wes-automation"
    
    SSH_KEYS = [""]
    # List of SSH Keys UUIDs that are allowed to connect via SSH, as root, to the VSI. Can contain one or more IDs. The list of SSH Keys is available here: https://cloud.ibm.com/infrastructure/compute/sshKeys.
    # Example: SSH_KEYS = ["r010-8f72b994-c17f-4500-af8f-d05680374t3c", "r011-8f72v884-c17f-4500-af8f-d05900374t3c"]
    
    ID_RSA_FILE_PATH = "ansible/id_rsa"
    # The path to an existing id_rsa private key file, with 0600 permissions. The private key must be in OpenSSH format.
    # This private key is used only during the provisioning and it is recommended to be changed after the SAP deployment.
    # It must contain the relative or absoute path from your Bastion.
    # Examples: "ansible/id_rsa_s4hana_ha" , "~/.ssh/id_rsa_s4hana_ha" , "/root/.ssh/id_rsa".
    
    ##########################################################
    # File Shares variables:
    ##########################################################
    
    SHARE_PROFILE = "dp2"
    # The Storage Profile for the File Share
    # More details on https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-profiles&interface=ui#dp2-profile."
    
    USRSAP_AS1      = "20"
    USRSAP_AS2      = "20"
    USRSAP_SAPASCS  = "20"
    USRSAP_SAPERS   = "20"
    USRSAP_SAPMNT   = "20"
    USRSAP_SAPSYS   = "20"
    USRSAP_TRANS    = "80"
    # Default File shares sizes:
    
    ##########################################################
    # DB VSI variables:
    ##########################################################
    
    DB_HOSTNAME_1 = "hanadb-1"
    # HANA DB VSI HOSTNAME 1 in SAP HANA Cluster. The hostname should be up to 13 characters, as required by SAP
    # Default value: "hanadb-1"
    # When the default value is used, the virtual hostname will automatically be changed based on <HANA_SID> to "hanadb-<hana_sid>-1"
    
    DB_HOSTNAME_2 = "hanadb-2"
    # HANA DB VSI HOSTNAME 2 in SAP HANA Cluster. The hostname should be up to 13 characters, as required by SAP
    # Default value: "hanadb-2"
    # When the default value is used, the virtual hostname will automatically be changed based on <HANA_SID> to "hanadb-<hana_sid>-2"
    
    DB_PROFILE = "mx2-16x128"
    # The instance profile used for the HANA VSI. The list of certified profiles for HANA VSIs: https://cloud.ibm.com/docs/sap?topic=sap-hana-iaas-offerings-profiles-intel-vs-vpc
    # Details about all x86 instance profiles: https://cloud.ibm.com/docs/vpc?topic=vpc-profiles).
    # For more information about supported DB/OS and IBM Gen 2 Virtual Server Instances (VSI), check [SAP Note 2927211: SAP Applications on IBM Virtual Private Cloud](https://launchpad.support.sap.com/#/notes/2927211){: external}
    # Default value: "mx2-16x128"
    
    DB_IMAGE = "ibm-redhat-8-6-amd64-sap-hana-6"
    # OS image for DB VSI. OS images validated for DB VSIs: ibm-redhat-8-6-amd64-sap-hana-6, ibm-redhat-8-4-amd64-sap-hana-10
    # The list of available VPC Operating Systems supported by SAP: SAP note '2927211 - SAP Applications on IBM Virtual Private Cloud (VPC) Infrastructure environment' https://launchpad.support.sap.com/#/notes/2927211; The list of all available OS images: https://cloud.ibm.com/docs/vpc?topic=vpc-about-images
    # Example: DB_IMAGE = "ibm-redhat-8-4-amd64-sap-hana-10"
    
    ##########################################################
    # SAP APP VSI variables:
    ##########################################################
    
    APP_HOSTNAME_1 = "sapapp-1"
    # APP VSI HOSTNAME 1 in SAP APP Cluster. The hostname should be up to 13 characters.
    # Default value: "sapapp-1"
    # When the default value is used, the virtual hostname will automatically be changed based on <SAP_SID> to "sapapp-<sap_sid>-1"
    
    APP_HOSTNAME_2 = "sapapp-2"
    # APP VSI HOSTNAME 2 in SAP APP Cluster. The hostname should be up to 13 characters.
    # Default value: "sapapp-2"
    # When the default value is used, the virtual hostname will automatically be changed based on <SAP_SID> to "sapapp-<sap_sid>-2"
    
    APP_PROFILE = "bx2-4x16"
    # The APP VSI profile. Supported profiles: bx2-4x16. The list of available profiles: https://cloud.ibm.com/docs/vpc?topic=vpc-profiles&interface=ui
    
    APP_IMAGE = "ibm-redhat-8-6-amd64-sap-hana-6"
    # OS image for SAP APP VSI. OS images validated for APP VSIs: ibm-redhat-8-6-amd64-sap-hana-6, ibm-redhat-8-4-amd64-sap-hana-10.
    # The list of available VPC Operating Systems supported by SAP: SAP note '2927211 - SAP Applications on IBM Virtual Private Cloud (VPC) Infrastructure environment' https://launchpad.support.sap.com/#/notes/2927211; The list of all available OS images: https://cloud.ibm.com/docs/vpc?topic=vpc-about-images
    # Example: APP_IMAGE = "ibm-redhat-8-4-amd64-sap-hana-10"
    
  4. Passen Sie Ihre SAP-Systemkonfiguration an. Bearbeiten Sie in derselben Datei input.auto.tfvars die Systemkonfigurationsvariablen SAP, die an die automatische Bereitstellung Ansible übergeben werden. Eine Beschreibung der Variablen finden Sie in der Readme-Datei.

    ##########################################################
    # SAP HANA configuration
    ##########################################################
    
    HANA_SID = "HDB"
    # SAP HANA system ID. Should follow the SAP rules for SID naming.
    # Obs. This will be used  also as identification number across different HA name resources. Duplicates are not allowed.
    # Example: HANA_SID = "HDB"
    
    HANA_SYSNO = "00"
    # SAP HANA instance number. Should follow the SAP rules for instance number naming.
    # Example: HANA_SYSNO = "00"
    
    HANA_SYSTEM_USAGE = "custom"
    # System usage. Default: custom. Suported values: production, test, development, custom
    # Example: HANA_SYSTEM_USAGE = "custom"
    
    HANA_COMPONENTS = "server"
    # SAP HANA Components. Default: server. Supported values: all, client, es, ets, lcapps, server, smartda, streaming, rdsync, xs, studio, afl, sca, sop, eml, rme, rtl, trp
    # Example: HANA_COMPONENTS = "server"
    
    KIT_SAPHANA_FILE = "/storage/HANADB/51057281.ZIP"
    # SAP HANA Installation kit path
    # Validated SAP HANA versions for S/4HANA 2023 on Red Hat 8: HANA 2.0 SP 7 Rev 73, kit file: 51057281.ZIP
    # Validated SAP HANA versions for S/4HANA 2022, 2021, 2020 on Red Hat 8: HANA 2.0 SP 5 Rev 57, kit file: 51056441.ZIP
    # Example for Red Hat 8: KIT_SAPHANA_FILE = "/storage/HANADB/51056441.ZIP"
    
    ##########################################################
    # SAP system configuration
    ##########################################################
    
    SAP_SID= "NWD"
    # SAP System ID
    # Obs. This will be used  also as identification number across different HA name resources. Duplicates are not allowed.
    
    SAP_ASCS_INSTANCE_NUMBER = "00"
    # The central ABAP service instance number. Should follow the SAP rules for instance number naming.
    # Example: SAP_ASCS_INSTANCE_NUMBER = "00"
    
    SAP_ERS_INSTANCE_NUMBER = "01"
    # The enqueue replication server instance number. Should follow the SAP rules for instance number naming.
    # Example: SAP_ERS_INSTANCE_NUMBER = "01"
    
    SAP_CI_INSTANCE_NUMBER = "10"
    # The primary application server instance number. Should follow the SAP rules for instance number naming.
    # Example: SAP_CI_INSTANCE_NUMBER = "10"
    
    SAP_AAS_INSTANCE_NUMBER = "20"
    # The additional application server instance number. Should follow the SAP rules for instance number naming.
    # Example: SAP_AAS_INSTANCE_NUMBER = "20"
    
    HDB_CONCURRENT_JOBS = "23"
    # Number of concurrent jobs used to load and/or extract archives to HANA Host
    
    ##########################################################
    # SAP Kit example Paths (storage from SAP Bastion server VSI instance)
    ##########################################################
    
    KIT_SAPCAR_FILE = "/storage/NW75SYB/SAPCAR_1010-70006178.EXE"
    KIT_SWPM_FILE =  "/storage/NW75SYB/SWPM10SP38_0-20009701.SAR"
    KIT_SAPHOSTAGENT_FILE = "/storage/NW75SYB/SAPHOSTAGENT61_61-80004822.SAR"
    KIT_SAPEXE_FILE = "/storage/NW75SYB/KERNEL/754UC/SAPEXE_200-80007612.SAR"
    KIT_SAPEXEDB_FILE = "/storage/NW75SYB/KERNEL/754UC/SAPEXEDB_200-80007655.SAR"
    KIT_IGSEXE_FILE = "/storage/NW75SYB/KERNEL/754UC/igsexe_2-80007786.sar"
    KIT_IGSHELPER_FILE = "/storage/NW75SYB/igshelper_17-10010245.sar"
    KIT_ASE_FILE = "/storage/NW75SYB/51056521_1_16_0_04_04.ZIP"
    KIT_EXPORT_DIR = "/storage/NW75SYB/EXP"
    

    Ansible dekomprimiert die übrigen SAP-Kitdateien. Weitere Informationen finden Sie in der Readme-Datei.

  5. Terraform-Befehlszeilenschnittstelle initialisieren.

    terraform init
    
  6. Erstellen Sie einen Terraform-Ausführungsplan. Der Terraform-Ausführungsplan fasst alle Aktionen zusammen, die ausgeführt werden müssen, um die virtuelle private Cloud-Serviceinstanz in Ihrem Konto zu erstellen.

    terraform plan --out plan1
    

    Sie werden nach den folgenden sensiblen Variablen gefragt: 'IBMCLOUD_API_KEY', 'SAP_MAIN_PASSWORD' HANA_MAIN_PASSWORD, and 'HA_PASSWORD'.

    Das Hauptpasswort SAP muss 10 - 14 Zeichen lang sein und mindestens eine Ziffer (0-9) enthalten. Es darf nur die folgenden Zeichen enthalten: a–z, A–Z, 0–9, @, #, $, . Dieses Kennwort darf nicht ! enthalten. Es darf nicht mit einer Ziffer oder einem Unterstreichungszeichen () beginnen.

  7. Stellen Sie sicher, dass der Plan alle Ressourcen anzeigt, die Sie erstellen möchten, und dass die Namen und Werte korrekt sind. Wenn der Plan angepasst werden muss, bearbeiten Sie die Datei input.auto.tfvars, um die Ressourcen zu korrigieren, und führen Sie terraform plan erneut aus.

  8. Erstellen Sie die Ressourcen IBM Cloud für das System SAP NetWeaver 7.5 HA und installieren Sie das System SAP.

    terraform apply "plan1"
    

    Die virtuelle private Cloud und Komponenten werden erstellt und es wird eine Ausgabe ähnlich der terraform plan-Ausgabe angezeigt.

    terraform destroy
    

    In der Bestätigungsphase werden Sie nach den folgenden sensiblen Variablen gefragt: 'IBMCLOUD_API_KEY', 'SAP_MAIN_PASSWORD' HANA_MAIN_PASSWORD, and 'HA_PASSWORD'.

Bereitstellung von SAP NetWeaver 7.5 on HANA High Availability auf Single Zone oder Multi Zone mit der Schnittstelle Schematics

Führen Sie die folgenden Schritte aus, um SAP NetWeaver 7.5 on HANA High Availability on Single Zone oder Multi Zone in Ihrer bestehenden VPC über die Schnittstelle Schematics zu konfigurieren. Die Bearbeitung der Skripte kann 2 bis 3 Stunden in Anspruch nehmen. Weitere Informationen finden Sie in der Readme-Datei zu den empfohlenen Versionen der Kits.

  1. Wählen Sie im Menü IBM Cloud Schematics.

  2. Klicken Sie auf Arbeitsbereich erstellen.

  3. Gehen Sie auf der Seite Vorlage angeben wie folgt vor:

  4. Gehen Sie auf der Seite Arbeitsbereichsdetails wie folgt vor:

    • Geben Sie einen Namen für den Arbeitsbereich ein.
    • Wählen Sie eine Ressourcengruppe aus.
    • Wählen Sie eine Position für Ihren Arbeitsbereich aus. Die Arbeitsbereichsposition muss nicht mit der Ressourcenposition übereinstimmen.
    • Wählen Sie Weiter aus.
  5. Wählen Sie Erstellen aus, um Ihren Arbeitsbereich zu erstellen.

  6. Überprüfen Sie auf der Seite Einstellungen des Arbeitsbereichs im Abschnitt Eingabevariablen die Standard-Eingabevariablen und geben Sie Werte ein, die Ihrer Lösung entsprechen.

    Eine detailliertere Beschreibung der einzelnen Parameter finden Sie in der Readme-Datei des GitHub Repo, Kapitel "Input parameter file". Stellen Sie außerdem sicher, dass die Parameter, die sensible Informationen wie Kennwörter, API und private ssh-Schlüssel enthalten, als "sensibel" gekennzeichnet sind. Diese Parameter sind in der Readme-Datei unter "Eingabeparameterdatei" als "sensibel" gekennzeichnet.

    Speichern Sie jeden Parameter, den Sie ändern.

  7. Klicken Sie auf der Seite "Einstellungen" des Arbeitsbereichs auf Plan generieren. Warten Sie, bis der Plan ausgeführt wurde.

  8. Klicken Sie auf Protokoll anzeigen, um die Protokolldateien des Terraform-Ausführungsplans zu überprüfen.

  9. Wenden Sie die Terraform-Vorlage durch Klicken auf Plan anwenden an.

  10. Überprüfen Sie die Protokolldatei, um sicherzustellen, dass während des Bereitstellungs-, Änderungs- oder Löschprozesses keine Fehler aufgetreten sind.

Nächste Schritte

Wenn Sie die Installation von SAP HA NetWeaver 7.5 entfernen müssen, gehen Sie zu Ihrem Projektordner und führen Sie terraform destroy aus. Der Befehl terraform destroy entfernt die VPC in diesem Szenario nicht, da die VPC nicht mit demselben Terraform-Skript erstellt wurde.