UPDATE: I have tidied this up a bit, to make some things clearer and to include the name of an AWS Public Image that can be used as the source for the subsequent step.
In this post, I describe how I setup a windows environment to install SAP ABAP and Java stacks, using the Amazon Simple Storage Service (S3) to store persistent data. I needed to:
* install and modify an appropriate Windows 2003 Server environment,
* save this environment for future use
In a subsequent post, I will describe the installation of an IDES system running NW7 and DB2. The three major challenges were
* setting up persistent storage of the NW and DB2 installation,
* suitable for using standard SAP and AWS functionality to support sustained (i.e. 24×7) operation of the SAP system
* and allowing you to stop and start the SAP system and / or server without losss of persistent data.
The result is a fast and cheap way of running up multiple systems, with the following features:
* You are only charged running costs for those systems that are running
* Low running costs (at the time of writing, $US 50 cents an hour)
* Low storage costs ($US 15 cents / GB / month for your 50TB)
* No more waiting for hardware – you can start implementation right now
* Systems (i.e. extra application servers) can be implemented, but not running
What did I know I would need ?
After reading the NW 70 SR3 installation Guide for Windows / DB2, I knew the following:
* I needed a 64 bit Windows Server with authentication services,
* I needed a reasonable amount of RAM, plus a decent swap space,
* I needed JAVA 1.4.
After reading the AWS EC2 documentation, I also knew that it was not practical to keep any volatile datasets (i.e. DB2 itself, DB2 logs, SAP process logs, etc) as part of the server, and that I would need to use the Amazon EBS servcie for persistent storage.
Signing up for Amazon EC2 and S3
An excellent account of how to setup a Windows Server image, and the principles behind this, can be found at Dave Winer’s EC2 for Poets. It also gives a good overview of how to sign up for both EC2 and S3 and the issues around persistent data.
Creating the base Amazon Machine Image (AMI)
Logon to the AWS Management Console and select the Amazon EC2 tab.
Select the Launch Instance button…
.. then find and select the Basic 64-bit Microsoft Windows Server 2003 with Authentication Services image.
Once the server shows up as running, logon using the techniques described in Dave Winer’s EC2 for Poets. One of the first things I did was to create a sapinstall user. This allows me to logon (via RDP) as user sapinstall / password without having to muck around with the keypairs.
Changes to standard AWS Windows 2003 64-bit Image
There were five issues that needed to be dealt with.
First I had to disable the Windows Attachment Manager (for non-windows people, this is a security setting that Windows uses to stop you writing dangerous file types to your disk) before Internet Explorer would let me save files. See the Microsoft Knowledge Base Article 883260 for a rundown on how it works. The quickest way to disable it is to uninstall the Internet Explorer Enhanced Security Configuration. To do this, click Add or remove programs in Control Panel, click Add/Remove Windows Components, and then click to clear the Internet Explorer Enhanced Security Configuration check box.
2) Both SAP and DB/2 (my target DBMS) require that the host name of the server its installed and running on remains the same. However, the default action every time you restart an AWS image is to have the host name set to IP-xxxxxx where xxxxxx represents the internal (to Amazon) host name the server is running on.
While you can perform arcane scripting to fix the host name, Amazon provide a tool, bundled within every AWS windows instance, that will ensure the hostname remains set to what ever you set in the System –> properties screen. The tool is C:\Program Files (x86)\Amazon\Ec2ConfigSetup\Ec2ConfigServiceSettings.exe
3) I wanted to make sure I had enough swap spacxe to run my SAP system. The base instance we are using gives us 15GB of memory, but, especially if we want to install multiple JAVA engines, this may not be enough. I allocated another 1500MB on each of two of the ephemeral disks.
4) My initial installation is going to be an NetWeaver 7 ECC6 system. This means we need to download and install java 1.4 from Sun’s Sekrit Squirrell place for old releases. Don’t forget to setup the Environment variables (JAVA_HOME and PATH) correctly.
5) The last change was to incorporate a Dynamic DNS Update tool. This is used to pass the IP address of the server we are “running on” to a service that will then set a fixed Domain name to specify the same DNS name to users and tools whenever I ran my instance. I use dyndns org. You can register a limited number of domain names for free, and they provide a tool (DynDNS Updater) that allows you to register your IP address against one or more of your Domain names.
Save your Amazon Machine Image (AMI)
Now you have an instance you can use to install and run SAP on. However, we need to make sure that all our changes are not lost. This utdown means you need to “bundle” your running system into a standalone Amazon Machine Image. Go to the Amazoin EC2 tab of the Amazon Management Console, select Instances, then select the instance you want bundled. Right click on More Actions and select Bundle Windows AMI.
This generates a popup screen. Fill out the appropriate details and clcik bundle. The Bundle Name refers to the S3 folder that will hold the AMI. This must already exist. The Key Name is appended to the name of manifest.xml filre that contains the S3 layout and location of your image.
Once you click bundle your request is confirmed.
You can follow the progresss of the bundling by examining the Bundle Tasks screen. There are three steps that bundling Windows instances needs to follow- The instance must shutdown, the Amazon bundling process must occur, and the resulting data must be stored.
Once the image has been bundled and stored, you must register the bundle as an Amazon machine Image.
An alternative to repeating all the work shown above is to grab a copy of the Public AMI I have created, called sap.nw70.win-64.db2. You will need to change the hostname (as descibed above), implement your own DynDNS org domain name and bundle and register the changed image.
Either way, you now have your own mildly customised image copy of a Windows 2003 Server, running on the Amazon Web Services cloud. This image is ready for installation of a non-trivial SAP system, such as the NW7 ECC6 IDES system.
In the next post, I will describe how I used the sap.nw70.win-64.db2 image to install the Windows DB2 IDES for ECC6 system.