Deploying SAP ASE Sybase stand-alone virtual server instance on IBM Cloud® VPC
You can use Terraform scripts to create a VPC and SAP ASE Sybase database single VSI infrastructure in the VPC. The Terraform scripts use the information that you provide and then call the Ansible playbooks to create the SAP architecture in the specified VPC.
You can use Schematics User Interface that calls Terraform scripts to create a VPC and SAP ASE Sybase database single VSI infrastructure in the VPC. The Terraform scripts use the information that you provide and then call the Ansible playbooks to create the SAP architecture in the specified VPC.
Terraform on IBM Cloud® enables predictable and consistent provisioning of IBM Cloud VPC infrastructure resources so that you can rapidly build complex cloud environments. IBM Cloud VPC infrastructure consists of SAP certified hardware by using Intel® Xeon CPUs and additional Intel® technologies.
For more information about Terraform on IBM Cloud, see Getting started with Terraform on IBM Cloud.
To create resources with Terraform, you can use Terraform configuration files that describe the IBM Cloud resources that you need and how you want to configure them. Based on your configuration, Terraform creates an execution plan and describes the actions that need to be run to create the resources. You can review the execution plan, change it, or run the plan.
You have two deployment methods to choose from:
- In CLI, by running the Terraform script on your bastion server.
- In Schematics User Interface, which is accessed from your IBM Cloud dashboard menu.
Prerequisites
A deployment server (bastion server) deployed by using the automation solution Automate SAP bastion server – SAP media storage repository, must exist in the same VPC and same region. This should have the same subnet and security group that is configured for the SAP system VSI.
What is created
The scripts automate the deployment of the virtual infrastructure resources and the provisioning processes for the SAP architecture in an existing VPC. An SAP ASE Sybase DB, on a VPC virtual server instance box, is provisioned. The scripts work in two phases.
During the first phase, a virtual server instance, with SAP certified storage and network configuration (the same subnet and security group as for the deployment server (bastion server)) is configured.
During the second phase, the Ansible playbooks are called and the SAP ASE Sybase 2.0 architecture is installed on the SAP ASE Sybase VSI box.
There are IBM Cloud VPC SAP certified server profiles where this solution can be deployed.
x86-64 instance profiles
During provisioning IBM Cloud® Virtual Servers for Virtual Private Cloud, you can select from the following families of profiles:
- Compute Optimized
- Balanced
- Memory Optimized
- Very High Memory Optimized
- Ultra High Memory Optimized
A profile is a combination of instance attributes, such as the number of vCPUs, amount of RAM, network bandwidth, and default bandwidth allocation. The attributes define the size and capabilities of the virtual server instance that is provisioned. In the IBM Cloud console, you can select the most recently used profile or click View All Profiles tab to choose the profile that best fits your needs.
For more information about SAP profiles, see Intel Virtual Server certified profiles on VPC infrastructure for SAP NetWeaver.
The Terraform scripts use the information that you provide in input.auto.tfvars
file, call the Ansible Playbooks and deploy SAP ASE Sybase database single VSI and the SAP architecture.
Virtual server instance configuration
The following operating systems are supported:
- Red Hat Enterprise Linux 8.6 for SAP (amd64)
- Red Hat Enterprise Linux 8.4 for SAP (amd64)
- SUSE Linux Enterprise Server 15 SP 4 for SAP Applications (amd64)
- SUSE Linux Enterprise Server 15 SP 3 for SAP Applications (amd64)
The provided SSH keys are used to access the VSI through SSH, as a root user.
Script files
The configuration and script files are available in the GitHub repository.
The input.auto.tfvars
file allows the customization of the input parameters.
All other configuration files are provided and no modification is required.
Schematics deployment
When you are using the Schematics interface for the deployment, you need to:
- Provide the workspace information.
- Provide the GitHub repository path.
- Update the value of the parameters in the Schematics interface. The parameters are similar to the ones from
input.auto.tfvars
file, which is used in the deployment from CLI.
Support
There are no warranties of any kind, and there is no service or technical support available for these materials from IBM®. As a recommended practice, review carefully any materials that you download from this site before using them on a live system.
Though the materials provided herein are not supported by the IBM Service organization, your comments are welcomed by the developers, who reserve the right to revise, readapt or remove the materials at any time. To report a problem, or provide suggestions or comments, open a GitHub issue.
Before you begin
If you don't have a deployment server (bastion server) in the same VPC, create a deployment server to store the SAP kits. For more information, see Automate SAP bastion server - SAP media storage repository.
- Log in to your Deployment Server and verify that Terraform and Ansible are installed.
- Download the SAP kits from the SAP Portal to your Deployment Server. Make note of the download locations. Ansible decompresses all the archive kits. For more information, see the Readme file.
- Create or retrieve an IBM Cloud API key. The API key is used to authenticate with the IBM Cloud platform and to determine your permissions for IBM Cloud services.
- Create or retrieve your SSH key ID. You need the 40-digit UUID for the SSH key, not the SSH key name.
Procedure
-
Log in to the Deployment Server (Bastion server) through
ssh
. -
Clone the GitHub repository from https://github.com/IBM-Cloud/sap-ase-db and go to the
sap-ase-db
folder.git clone https://github.com/IBM-Cloud/sap-ase-db.git cd sap-ase-db
-
Customize the values for VPC variable resources according to your existing VPC data. Your options can be specified by updating
input.auto.tfvars
file. You need a 40-digit SSH key ID for the deployment. Additional SSH key IDs are optional.The following input variable values must be provided:
- REGION - Region for SAP HANA server. See the Readme file.
- ZONE - Zone for SAP HANA server. See the Readme file.
- VPC - The name of an existing VPC in the specified region.
- SECURITY_GROUP - The name of an existing security group in the same VPC.
- RESOURCE_GROUP - The name of an existing resource group, previously created by the user.
- SUBNET - The name of an existing subnet in the same region and zone as the VSI.
- SSH_KEYS - A list of SSH keys UUIDs allowed to connect through SSH to the VSIs.
- ID_RSA_FILE_PATH - existing
id_rsa
private key file path in OpenSSH format with 0600 permissions. - DB_HOSTNAME - The hostname of the SAP HANA server, up to 13 characters. For more information, see the Readme file.
###################################################### # General & Default VPC variables for CLI deployment ###################################################### REGION = "eu-de" # Region for the VSI. Supported regions: https://cloud.ibm.com/docs/containers?topic=containers-regions-and-zones#zones-vpc # Example: REGION = "eu-de" ZONE = "eu-de-1" # Availability zone for VSI. Supported zones: https://cloud.ibm.com/docs/containers?topic=containers-regions-and-zones#zones-vpc # Example: ZONE = "eu-de-1" VPC = "ic4sap" # EXISTING VPC, previously created by the user in the same region as the VSI. The list of available VPCs: https://cloud.ibm.com/infrastructure/network/vpcs # Example: VPC = "ic4sap" SECURITY_GROUP = "ic4sap-securitygroup" # EXISTING Security group, previously created by the user in the same VPC. The list of available Security Groups: https://cloud.ibm.com/infrastructure/network/securityGroups # Example: SECURITY_GROUP = "ic4sap-securitygroup" RESOURCE_GROUP = "wes-automation" # 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" SUBNET = "ic4sap-subnet" # EXISTING Subnet in the same region and zone as the VSI, previously created by the user. The list of available Subnets: https://cloud.ibm.com/infrastructure/network/subnets # Example: SUBNET = "ic4sap-subnet" SSH_KEYS = ["r010-8f72b994-c17f-4500-af8f-d05680374t3c", "r011-8f72v884-c17f-4500-af8f-d05900374t3c"] # List of SSH Keys UUIDs that are allowed to SSH as root to the VSI. The SSH Keys should be created for the same region as the VSI. The list of available SSH Keys UUIDs: 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 id_rsa private key file path in OpenSSH format with 0600 permissions. # This private key is used only during the terraform 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_abap_syb_dst" , "~/.ssh/id_rsa_abap_syb_dst" , "/root/.ssh/id_rsa". ########################################################## # DB VSI variables: ########################################################## DB_HOSTNAME = "ic4sapdb" # The Hostname for the DB VSI. The hostname should be up to 13 characters, as required by SAP # Example: DB-HOSTNAME = "ic4sapdb" DB_PROFILE = "bx2-4x16" # The DB VSI profile. Supported profiles for DB VSI: bx2-4x16. The list of available profiles: https://cloud.ibm.com/docs/vpc?topic=vpc-profiles&interface=ui DB_IMAGE = "ibm-redhat-8-6-amd64-sap-applications-6" # OS image for DB VSI. Supported OS images for DB VSIs: ibm-redhat-8-6-amd64-sap-applications-6, ibm-redhat-8-4-amd64-sap-applications-10, ibm-sles-15-4-amd64-sap-applications-8, ibm-sles-15-3-amd64-sap-applications-11. # The list of available VPC Operating Systems supported by SAP: SAP note '2927211 - SAP Applications on IBM Virtual Private Cloud (VPC) Infrastructure environment' https://me.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-sles-15-4-amd64-sap-applications-8"
- The hostname must be up to 13 characters as required by SAP. For more information about the rules that apply to hostnames for SAP systems, see SAP Note 611361 - Hostnames of SAP ABAP Platform servers.
- Customize your SAP system configuration. Modify the
input.auto.tfvars
file to specify SAP ASE Sybase system configuration and enter the location of the downloaded SAP Kits.
# SAP ASE SYBASE configuration ########################################################## # SAP system configuration ########################################################## ASE_SID = "NWD" # The SAP ASE system ID. Identifies the entire ASE system. # Consists of exactly three alphanumeric characters and the first character must be a letter. # Does not include any of the reserved IDs listed in SAP Note 1979280 DATA_DISK_SIZE = "30" # The size of data disk, in GB. ########################################################## # Kit Paths ########################################################## KIT_ASE_FILE = "/storage/ASEDB/SP04/PL06/ASESERV160004P_6-80008862.TGZ"
-
Initialize the Terraform CLI.
terraform init
-
Create a Terraform execution plan. The Terraform execution plan summarizes all the actions that are done to create the virtual private cloud instance in your account.
terraform plan --out plan1
You are asked to enter the IBM Cloud API key and the SAP ASE Sybase main password. The SAP ASE Sybase main password must contain at least one digit (0-9), one lowercase letter (a-z), and one uppercase letter (A-Z). It can contain the following characters only: a-z, A-Z, 0-9, !, @, #, $, _. It must not start with a digit or an underscore ( _ ).
-
Verify that the plan shows all of the resources that you want to create and that the names and values are correct. If the plan needs to be adjusted, edit the input.auto.tfvars file to correct resources and run
terraform plan --out plan1
again. -
Deploy the SAP solution.
terraform apply "plan1"
Deploying SAP ASE Sybase database on a single VSI by using the Schematics user interface
Follow the steps to deploy the SAP ASE Sybase database on a single VSI in your existing VPC by using the Schematics User Interface. The scripts can take 1 - 2 hours to complete.
-
From the IBM Cloud menu, select Schematics.
-
Click Create workspace.
-
On the Specify template page:
- Enter the GitHub URL for the code that you plan to deploy.
- Select the Terraform version that is listed in the Readme file.
- Click Next.
-
On the Workspace details page:
- Enter a name for the workspace.
- Select a Resource group.
- Select a Location for your workspace. The workspace location does not have to match the resource location.
- Click Next.
-
Select Create to create your workspace.
-
On the workspace Settings page, in the Input variables section, review the default input variables and provide values that match your solution:
- Your IBM Cloud API key.
- A private SSH key is used for the deployment.
- (Optional) You can change the
ID_RSA_FILE_PATH
for your SSH key file that is autogenerated on Schematics and on the bastion server. - The IDs of the SSH keys that you created and uploaded to IBM Cloud. Enter the SSH key IDs in brackets and surrounded by quotation marks, for example [ "ibmcloud_ssh_key_UUID1", "ibmcloud_ssh_key_UUID2",... ].
- The region for your resources.
- The zone for your resources.
- Existing VPC name
- Existing Subnet name
- VPC name
- Subnet name
- Security group name
- Hostname
- Profile
- Image
- Data disk size
- SAP main password - must be at least 10 characters, upper and lowercase letters, a number, and a special character, not an exclamation point.
- Click Save changes.
For a more detailed description of the parameters, check the GitHub repo Readme file, chapter “Input parameter file”. Also, mark as “sensitive” for the parameters that contain sensitive information like passwords, IBM Cloud API, the SSH private keys (they are marked as “sensitive” in the Readme in the “Input parameter file”).
-
On the workspace Settings page, click Generate plan. Wait for the plan to complete.
-
Click View log to review the log files of your Terraform execution plan.
-
Apply your Terraform template by clicking Apply plan.
-
Review the log file to ensure that no errors occurred during the provisioning, modification, or deletion process.
Next steps
For your SAP solution, in case you want to remove the resources that are created with the automation, then go to the Workspace page > Actions and select Destroy Resources.
If you need to remove the resources created with the automation for your SAP solution, go to your project folder and run terraform destroy
.