Scale SAP applications with AWS Launch Wizard for SAP after initial deployment
You can scale an SAP application horizontally to meet increased performance requirements, depending on the initial SAP product and deployment pattern. This section describes how you can add additional nodes to a preexisting SAP application deployed with AWS Launch Wizard for SAP. It includes the prerequisites required to use this feature, and manual activities that you must perform after you add nodes.
Topics for scaling SAP applications:
Shared responsibility model
According to the AWS Shared Responsibility Model
Prerequisites for creating an AMI
Before you create an AMI to attach additional nodes, make sure that you:
-
Have a successful initial deployment.
-
Create an AMI from the deployment to which you are adding the node. If you want to add nodes to multiple deployments, you must create an AMI (application/HANA subordinate) for each deployment.
When an application is provisioned with Launch Wizard, multiple packages are installed, and operating system parameters are adjusted to make the operating system compliant and ready to install SAP. Periodically, these packages and parameters get updated and change over time. In addition, there can be changes to the disk layout as the application grows. This configuration drift is not tracked by Launch Wizard, and therefore Launch Wizard is not able to record and replay it. To mitigate the challenges presented by configuration drift, you must create and provide the latest image (AMI) of an existing server, including all of its volumes, which Launch Wizard uses to create the additional server or HANA subordinate node. This process allows Launch Wizard to create new nodes that are similar to the existing nodes in terms of operating system packages and versions, and storage.
Create an image for scaling SAP deployments
The following best practices for creating an image to add an additional application node to a previously deployed SAP application using Launch Wizard are general guidelines only. They do not represent a complete solution. These recommendations are offered as considerations that may not be appropriate or sufficient for your environment, depending on the activities that you performed on these instances after the Launch Wizard deployment.
General recommendations:
-
Do not share images with untrusted accounts.
-
Do not make public images that contain private or sensitive data.
-
Apply all of the latest available operating system security patches.
Before you create an image:
-
Temporarily adjust the SAP or HANA instance profile parameter
Autostart
to0
. Revert to the original value after the image is created. -
Temporarily disable any third-party applications from starting on boot.
-
Keep the file systems and volumes intact, and ensure that the image is bootable if the volumes are not attached. If the volumes are not attached, the
/etc/fstab nofail
setting must be enabled. -
Perform any other temporary adjustments that you can make that won't impact the boot process. Revert to the original values after the image is created.
Create an image
Run the following AWS Command Line Interface command to create an image using the no reboot option.
aws ec2 create-image --instance-id i-021345abcdef6789 --name "<
My server
>" --no-reboot
EC2 Image Builder
Supported scenarios for adding or removing nodes with Launch Wizard for SAP
Add or remove an additional server or node by using an Amazon EC2 Systems Manager (SSM) document that is created in your account during runtime. The following scenarios are supported for the source deployment.
AWS Launch Wizard for SAP application type | Deployment architecture | Supported scenario | AMI required |
---|---|---|---|
SAP HANA | Multi-node | Add a HANA subordinate node | subordinate node of source deployment |
SAP HANA with FSx for ONTAP | Multi-node | Add a HANA standby node | Subordinate or standby node of source deployment |
SAP HANA with FSx for ONTAP | Multi-node | Add a HANA subordinate node | Subordinate or standby node of source deployment |
SAP NetWeaver on SAP HANA | Multi-node | Add an application server node | PAS/AAS of source deployment |
SAP NetWeaver on SAP HANA with FSx for ONTAP | Multi-node | Add a HANA standby node | Subordinate or standby node of source deployment |
SAP NetWeaver on SAP HANA with FSx for ONTAP | Multi-node | Add a HANA subordinate node | Subordinate or standby node of source deployment |
SAP NetWeaver on SAP HANA | High availability | Add an application server node | PAS/AAS of source deployment |
Supported scenarios:
Add HANA subordinate node to existing HANA scale-out installation
Prerequisites
For prerequisites, see Prerequisites for creating an AMI.
Assumptions
Before you proceed with this procedure, consider the following assumptions:
-
A subordinate node will be created using the same instance type as an existing subordinate node. Verify that all of the subordinate nodes are running on the same Amazon EC2 instance type.
-
All HANA nodes and respective services are up and running.
-
There are no upgrades or patching in progress.
-
No maintenance activities, such as backups, are in progress.
Workflow for adding a HANA subordinate node
When you add an additional HANA subordinate node to your existing HANA scale-out installation, Launch Wizard for SAP performs the following:
-
An instance is created using the provided AMI.
-
The hostname is updated when the instance boots.
-
/etc/hosts
is updated on the master node, and then the host file is synced to the newly created node. -
All abandoned services and processes are cleaned up.
-
If pre-deployment configuration scripts are provided, they are run.
-
/usr/sap
,/hana/data
, and/hana/log
folders are cleaned up.They are not cleaned up in Amazon FSx based deployments. New Amazon FSx volumes on a new FSx for ONTAP file system along with storage virtual machines for
log
anddata
volumes will be created and mounted on the newly created instance. -
saphostagent
is set up. -
The HANA subordinate node is set up using
add_hosts
. -
If post-deployment configuration scripts are provided, they are run.
Console steps for adding a HANA subordinate node to an existing scale-out installation
Perform the following steps in the Launch Wizard for SAP console to add a HANA subordinate node:
-
Navigate to the Launch Wizard for SAP Deployments page.
-
Select the check box next to the deployment to which you want to add a new node. From the Action menu, select Deploy additional components>HANA subordinate node. You will be taken to the Configure settings page.
-
Under Settings for additional subordinate node, specify the following parameters:
-
HANA subordinate node AMI — select the AMI to provision the subordinate node. You must use the most recent version of the AMI generated from the source deployment to which the subordinate node is being added.
-
Hostname of subordinate node — Enter the hostname of the Amazon EC2 instance on which the SAP system will be deployed.
-
Private IP address (optional) — Select the private IP address to assign to the new instance. If you do not provide an IP address, Launch Wizard assigns one for you.
-
-
Under Pre-deployment configuration script, optionally specify the following parameters:
-
Deployment settings — Select the check box to ignore all deployment failures and proceed with a deployment.
-
Configuration script — Add one or more configuration scripts, depending on the number of servers included in the deployment. The scripts run in the order they are added. You can view detailed execution logs or failure information in the Amazon CloudWatch logs after a deployment is complete.
-
-
Under Post-deployment configuration script, optionally specify the following parameters:
-
Deployment settings — Select the check box to ignore all deployment failures and proceed with a deployment.
-
Configuration script — Add one or more configuration scripts, depending on the number of servers included in the deployment. The scripts run in the order they are added. You can view detailed execution logs or failure information in the Amazon CloudWatch logs after a deployment is complete.
-
-
Choose Next when the preceding parameters are specified, and the Review infrastructure configuration page opens.
-
Under Infrastructure configuration, specify the following parameters:
-
Key pair name — Select a key pair to securely connect to your instance.
-
Virtual Private Cloud (VPC) — the VPC in which the domain controllers will be deployed is the same as for the original deployment.
-
Private subnet — The private subnet is determined by the subnet specified in your original deployment.
-
Security group assigned to database servers — Select a security group that is currently assigned to a database node.
-
HANA password — enter a password for the SAP HANA installation.
-
-
Choose Next when you are satisfied with your infrastructure configuration selections. You will be taken to the Review page.
-
On the Review page, verify your settings and configuration. Choose Deploy if you are satisfied with your selections. To edit your selections, choose Edit or Previous. It can take up to 10 minutes to create your new node.
Manual activities required
The following manual activities are required to successfully add a HANA subordinate node to an existing scale-out installation.
-
Host entries are updated only on the HANA master and newly added nodes. Refresh
/etc/hosts
entries from the HANA master node on all of the other existing nodes. -
When the automation workflow runs, a new HANA subordinate node is attached to the existing HANA deployment. The node is ready to be used. A HANA table redistribution plan must be determined and performed. For more information about how to redistribute the tables to the new nodes, see Redistributing Tables in a Scaleout SAP HANA System
in the SAP documentation. -
The newly added subordinate node is not set up in the same placement group. Attach the new subordinate node to the placement group and restart all of the HANA nodes for the placement groups to take effect.
-
For FSx for ONTAP based deployments, you must mount the newly created FSx for ONTAP volumes for
hana-data
andhana-log
on all the database nodes.
Delete a HANA subordinate node from an existing scale-out installation
The process of deleting a HANA subordinate node from an existing scale-out
installation is partially automated. Before you delete a subordinate node, you
must redistribute the data for a multi-database container (MDC) before deleting
the node. For more information about how to redistribute the tables to the new
nodes, see Redistributing Tables in a Scaleout SAP HANA System
Note
You can only delete a node that was created with the add or remove node feature using Launch Wizard for SAP.
Add HANA standby node to existing HANA scale-out installations
Prerequisites
For prerequisites, see Prerequisites for creating an AMI.
Assumptions
Before you proceed with this procedure, consider the following assumptions:
-
A standby node is ONLY possible if the parent deployment is made using FSx for ONTAP file system.
-
A standby node will be created using the same instance type as an existing standby node. Verify that all of the standby nodes are running on the same Amazon EC2 instance type.
-
All HANA nodes and respective services are up and running.
-
There are no upgrades or patching in progress.
-
No maintenance activities, such as backups, are in progress.
Workflow for adding a HANA standby node
When you add an additional HANA standby node to your existing HANA scale-out installation, Launch Wizard for SAP performs the following:
-
An instance is created using the provided AMI.
-
The hostname is updated when the instance boots.
-
/etc/hosts
is updated on the master node, and then the host file is synced to the newly created node. -
All abandoned services and processes are cleaned up.
-
If pre-deployment configuration scripts are provided, they are run.
-
/usr/sap
,/hana/data
, and/hana/log
are not cleaned up. New Amazon FSx volumes on a new FSx for ONTAP file system along with storage virtual machines forlog
anddata
volumes will be created and mounted on the newly created instance. -
saphostagent
is set up. -
The HANA standby node is set up using
add_hosts
. -
If post-deployment configuration scripts are provided, they are run.
Console steps for adding a HANA standby node to an existing scale-out installation
Perform the following steps in the Launch Wizard for SAP console to add a HANA standby node:
-
Navigate to the Launch Wizard for SAP Deployments page.
-
Select the check box next to the deployment to which you want to add a new node. From the Action menu, select Deploy additional components>HANA standby node. You will be taken to the Configure settings page.
-
Under Settings for additional standby node, specify the following parameters:
-
HANA standby node AMI — select the AMI to provision the standby node. You must use the most recent version of the AMI generated from the source deployment to which the standby node is being added.
-
Hostname of standby node — Enter the hostname of the Amazon EC2 instance on which the SAP system will be deployed.
-
Private IP address (optional) — Select the private IP address to assign to the new instance. If you do not provide an IP address, Launch Wizard assigns one for you.
-
-
Under Pre-deployment configuration script, optionally specify the following parameters:
-
Deployment settings — Select the check box to ignore all deployment failures and proceed with a deployment.
-
Configuration script — Add one or more configuration scripts, depending on the number of servers included in the deployment. The scripts run in the order they are added. You can view detailed execution logs or failure information in the Amazon CloudWatch logs after a deployment is complete.
-
-
Under Post-deployment configuration script, optionally specify the following parameters:
-
Deployment settings — Select the check box to ignore all deployment failures and proceed with a deployment.
-
Configuration script — Add one or more configuration scripts, depending on the number of servers included in the deployment. The scripts run in the order they are added. You can view detailed execution logs or failure information in the Amazon CloudWatch logs after a deployment is complete.
-
-
Choose Next when the preceding parameters are specified, and the Review infrastructure configuration page opens.
-
Under Infrastructure configuration, specify the following parameters:
-
Key pair name — Select a key pair to securely connect to your instance.
-
Virtual Private Cloud (VPC) — the VPC in which the domain controllers will be deployed is the same as for the original deployment.
-
Private subnet — The private subnet is determined by the subnet specified in your original deployment.
-
Security group assigned to database servers — Select a security group that is currently assigned to a database node.
-
HANA password — enter a password for the SAP HANA installation.
-
-
Choose Next when you are satisfied with your infrastructure configuration selections. You will be taken to the Review page.
-
On the Review page, verify your settings and configuration. Choose Deploy if you are satisfied with your selections. To edit your selections, choose Edit or Previous. It can take up to 10 minutes to create your new node.
Manual activities required
The following manual activities are required to successfully add a HANA standby node to an existing scale-out installation.
-
For FSx for ONTAP based deployments, you must mount the newly created FSx for ONTAP volumes for
hana-data
andhana-log
on all the database nodes.
Add additional application server (AAS) to existing NetWeaver distributed installation
Prerequisites
For prerequisites, see Prerequisites for creating an AMI.
Assumptions
The following assumptions should be considered before proceeding with this procedure.
-
All servers of the SAP application to which the node is being added are running.
-
There are no upgrades or patching in progress.
Workflow for adding an additional application server (AAS) node
When you add an additional SAP server to your existing NetWeaver distributed installation, depending on whether you provide a PAS or AAS image, the file systems and volumes are adjusted to the requirements of the additional application server. Launch Wizard for SAP performs the following:
-
An instance is created using the provided AMI.
-
The hostname is updated when the instance boots.
-
All abandoned services and processes are cleaned up.
-
/etc/hosts
is updated on the master node, and then the hosts file is synced to the new node. -
If the provided AMI is from the Primary Application Server (PAS) and Launch Wizard detects the
/sapmnt
volume in/etc/fstab/
, the volume is unmounted and removed./sapmnt
is mounted as an NFS from the PAS. -
If pre-deployment configuration scripts are provided, they are run.
-
.env
files are updated and a new instance profile file is created. -
Services are started.
-
The instance is started.
-
If post-deployment configuration scripts are provided, they are run.
Console steps for adding an AAS node to an existing NetWeaver distributed installation
Perform the following steps in the Launch Wizard for SAP console to add an AAS node:
-
Navigate to the Launch Wizard for SAP Deployments page.
-
Select the check box next to the deployment to which you want to add a new node. From the Action menu, select Deploy additional components>Additional application server (AAS). The Configure settings page opens.
-
Under Settings for additional subordinate node, specify the following parameters:
-
Additional application server (AAS) AMI — Select the AMI to provision the additional application server. You must use the most recent version of the AMI created from the source deployment.
-
Hostname of additional application server — Enter the hostname of the Amazon EC2 instance on which the SAP system will be deployed.
-
Instance number of AAS — Enter the instance number of the additional application server.
-
Private IP address — Select the private IP address to assign to the new instance.
-
-
Under Pre-deployment configuration script, optionally specify the following parameters:
-
Deployment settings — Select the check box to ignore all deployment failures and proceed with a deployment.
-
Configuration script — Add one or more configuration scripts, depending on the number of servers included in the deployment. The scripts run in the order they are added. You can view detailed execution logs or failure information in the Amazon CloudWatch logs after a deployment is complete.
-
-
Under Post-deployment configuration script, optionally specify the following parameters:
-
Deployment settings — Select the check box to ignore all deployment failures and proceed with a deployment.
-
Configuration script — Add one or more configuration scripts, depending on the number of servers included in the deployment. The scripts run in the order they are added. You can view detailed execution logs or failure information in the Amazon CloudWatch logs after a deployment is complete.
-
-
Choose Next when the preceding parameters are specified. You will be taken to the Review infrastructure configuration page.
-
Under Infrastructure configuration, specify the following parameters:
-
Key pair name — Select a key pair to securely connect to your instance.
-
Virtual Private Cloud (VPC) — The VPC in which the domain controllers will be deployed is the same as for the original deployment.
-
Private subnet — The private subnet is determined by the subnet specified in your original deployment.
-
Security group assigned to additional application server (AAS) — Select a security group that is currently assigned to a database node.
-
-
Choose Next when you are satisfied with your infrastructure configuration selections. You will be taken to the Review page.
-
On the Review page, verify your settings and configuration. Choose Deploy if you are satisfied with your selections. To edit your selections, choose Edit or Previous. It can take up to 10 minutes to create your new node.
Manual activities required
When the automation workflow runs, the new node is attached to the existing SAP application and is reflected in the SAP console (SM51). The following manual activities are required to successfully add an AAS node to an existing Netweaver distributed installation. The following steps are presented as general guidelines and may not be complete for your scenario.
-
Host entries are updated only on the PAS and newly added nodes. Refresh
/etc/hosts
entries from the PAS on all of the other existing nodes. -
Upload and set system profiles using transaction
RZ10
. -
Configure the number of work processes.
-
Adjust or create logon and RFC server groups using transactions
SMLG
andRZ12
. -
Adjust or create operation modes using transaction
RZ04
.
Delete an addition application server (AAS) from an existing Netweaver distributed installation.
Before you delete an AAS node, verify that no users are logged in and no jobs are running on the instance.
Note
You can only delete a node that was created with the add or remove node feature using Launch Wizard for SAP.
Pre- and post-deployment configuration scripts
As with base node deployments with Launch Wizard for SAP, you can run pre- and post- deployment configuration scripts when you add an additional node. For more information about how Launch Wizard for SAP accesses and deploys these scripts, see Custom deployment configuration scripts.
Limits for running pre- and post- deployment configuration scripts
The following limits apply when running pre- and post- deployment configuration scripts for your new node.
-
Only one action can be performed at a time.
-
SSM documents that are created at runtime are not deleted. Periodic cleanup of the documents is required.
-
Any automation activity performed on the new node is extremely limited. Activities that must be performed on the parent node are called out in the SSM documentation.